数组中是一组无符号数,将最小数放在M单元中,经过汇编后,形成.EXE文件,先用G=0命令执行程序,用-D命令查看M单元的内容,会发现结果不正确。用单步执行命令T查找程序中的逻辑错误。
DSEG SEGMENT
MSG DB 13, 15, 7, 25, 24
M DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, DS: DSEG
START: MOV AX, DSEG
MOV DS, AX
MOV CX, 4
MOV AL, MSG
MOV SI, OFFSET MSG+1
L1: CMP AL, [SI]
JB NEXT
MOV AL, [SI]
NEXT: LOOP L1
MOV M, AL
MOV AX, 4C00H
INT 21H
CSEG ENDS
END START
------最佳解决方案--------------------------------------------------------
si 没有递增以指向下一个数据吧
------其他解决方案--------------------------------------------------------
#1 正解
另 MOV CX, 4 是多余的
------其他解决方案--------------------------------------------------------
怎么改啊 谢谢帮我改一下
------其他解决方案--------------------------------------------------------
用 loop 了 mov cx,4 怎么是多余呢?
; 这还要问怎么改啊?
NEXT:
inc si ;**
LOOP L1