用ARM汇编实现在20个无符号数中查找最小数并给出位置,和输出结果

  1. 要用以下未完成的代码完成
    AREA findmin, CODE, READONLY
           ENTRY
    
    start LDR R0, =tofind ;
     MOV     R3,#20          
    

save LDR R0, =min
STR R1, [R0]

stop
B stop
AREA Dmax, DATA, READONLY
tofind DCD 0x5500,0x100,0x300,0x33,0x99,0x5123,0x9875,0x10,0x609,0x3008,0x450,0x10,0x15,0x23,0x85,0x709,0x1234,0x10,0x4123,0x55
AREA Drmax, DATA, READWRITE
min DCD 0
minpos DCD 0,0,0
END

AREA findmin, CODE, READONLY
ENTRY
start
LDR R0, =tofind ; 加载数组首地址到 R0
MOV R1, #0 ; 将 R1 设置为 0,用于计数
MOV R2, #0xFFFFFFFF ; 将 R2 设置为最大值,用于比较最小值
loop
LDR R3, [R0], #4 ; 加载数组当前元素到 R3
CMP R2, R3 ; 比较 R2 和 R3 的大小
BLT update ; 如果 R3 比 R2 小,则跳转到 update 标签
ADD R1, R1, #1 ; 增加计数器
CMP R1, #20 ; 如果计数器大于等于 20,则跳转到 stop 标签
B loop ; 继续循环
update
STR R3, [R2] ; 将 R3 的值存储到 min 中
STR R1, [minpos] ; 将计数器的值存储到 minpos 中
B loop ; 继续循环
stop
LDR R3, [min] ; 加载 min 中的最小值到 R3
LDR R1, [minpos] ; 加载 minpos 中的位置到 R1
; 在这里添加输出结果的代码
B stop ; 终止程序

AREA Dmax, DATA, READONLY
tofind DCD 0x5500,0x100,0x300,0x33,0x99,0x5123,0x9875,0x10,0x609,0x3008,0x450,0x10,0x15,0x23,0x85,0x709,0x1234,0x10,0x4123,0x55
AREA Drmax, DATA, READWRITE
min DCD 0
minpos DCD 0
END

望采纳


DATA    SEGMENT
BUFFER    DB    1, 9, 13, 35, 7, 22, 12, 6, 9, 8
COUNT    EQU    $-BUFFER
MAX    DB    ?
MIN    DB    ?
DATA    ENDS
CODE    SEGMENT
ASSUME    CS:CODE, DS:DATA
START:    MOV    AX, DATA
    MOV    DS, AX
    LEA    DI, BUFFER
    MOV    CX, COUNT - 1
    MOV    AL, [DI]
    MOV    AH, [DI]
AGAIN:    INC    DI
    CMP    AH, [DI]
    JA    L0    ;MAX>[DI]
    MOV    AH, [DI]
L0:    CMP    [DI], AL
    JA    L1    ;MIN<[DI]
    MOV    AL, [DI]
L1:    LOOP    AGAIN
    MOV    MAX, AH
    MOV    MIN, AL
    MOV    AH, 4CH
    INT    21H
CODE    ENDS
    END    START

可执行借鉴该实例,【汇编语言编写一个程序,求10个无符号数组中的最大值和最小值。】,链接:https://blog.csdn.net/black_mamba97/article/details/90604667?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-90604667-blog-103113442.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-90604667-blog-103113442.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=10