Допустим, я загружаю 3 числовых значения в три разных регистра.И я хочу найти среднее число.
AREA median, CODE, READONLY
EXPORT main
first EQU 3
middle EQU 3
last EQU 9
ENTRY
main
MOV R0, #first
MOV R1, #middle
MOV R2, #last
----------
Here i would like to compare these 3 values and find the middle number. (in this case, 3)
Я пытался что-то вроде CMP R1, R2
, но я не смог сохранить значение, которое я хотел в регистре.Это то, что я пытался найти меньшее или большее из двух.
main:
mov r1, #3 /* setting up initial variable a */
mov r2, #9 /* setting up initial variable b */
cmp r1, r2 /* comparing variables to determine which is bigger */
blt r1_lower /* jump to r1_lower in case r2 is bigger */
mov r0, r1 /* if branching/jumping did not occur, r1 is bigger (or the same) so store r1 into r0 */
b end /* proceed to the end */
r1_lower:
mov r0, r2 /* end up here because r1 was smaller than r2, so move r2 into r0 */
b end /* proceed to the end */
Есть мысли?