Ниже приведен код, который я написал для поиска LCM из двух чисел в EMU8086. Когда я запустил его, я получаю значение 0 в переменной Ans.
.MODEL SMALL
.DATA
Num1 DW 250
Num2 DW 100
Ans DW ?
.CODE
MOV AX,@DATA
MOV DS, AX
MOV AX, Num1
MOV BX, Num2
MOV DX, 0000h
NEXT: PUSH AX
PUSH DX
DIV BX
CMP DX, 0000h
JZ LAST
POP DX
POP AX
ADD AX, Num1
JNC NEXT
INC DX
JMP NEXT
LAST: POP Ans+2
POP Ans
MOV AH, 4Ch
INT 21h
END
DIV
. Вы тестировали с другими эмуляторами? - person Nate Eldredge   schedule 07.11.2020Ans
иAns+2
. ОднакоAns
имеет только одно выделенное слово, поэтомуpop Ans+2
собирается перезаписать что-то еще. Не уверен, что это ваша ошибка, но выглядит неправильно. - person Nate Eldredge   schedule 07.11.2020Num1
к себе, пока оно не станет кратнымNum2
. Вы можете поискать что-то более эффективное в алгоритме Евклида. - person Nate Eldredge   schedule 07.11.2020