【发布时间】:2019-10-18 07:27:38
【问题描述】:
我试图找到给定数组中的最小值,我使用的代码是这样的
MOV SI,500
MOV CL,[SI]
MOV CH,00
INC SI
MOV AL,[SI]
DEC CL
INC SI
L1:CMP AL,[SI]
JNC SKIP
MOV AL,[SI]
SKIP:INC SI
LOOP L1
MOV [600],AL
HLT
它编译良好,运行良好,然后我转到“aux”,然后转到“memory”以输入我的输入值。我将地址设置为 0100:0500,然后输入“01”“02”“03”“04”“05”,然后针对第一行,像这样——https://i.imgur.com/Lrg23B2.png,然后单击更新,然后单击“运行” " 然后转到 aux-->memory 并检查地址 0600,这是我猜输出的位置,我得到的只是零,就像这样 --- https://i.imgur.com/z2CCtBA.png 我的代码有什么问题?为什么我没有得到最小值,而在 0600 中只有零?我是 8086 编程的初学者,请帮助。
【问题讨论】:
标签: loops assembly x86-16 emu8086