大家好我有这个代码,使用汇编程序FASM(FlatAssembler)进行汇编
;REQUEST THE VALUE (1 OR 2)
mov ah, 3Fh
mov bx, 0
mov cx, 1
mov dx, valor
int 21h
;THE NOT WORKING IF
cmp [size], '2'
jmp small
cmp [size], '1'
jmp e
;ONE OF THE LABELS TO WHERE THE IF MUST JUMP
small:
mov cx, 10
mov dx, 9
.....
;OTHER LABEL
e:
mov ah, 07h
int 21h
程序没有跳转到已尝试cmp [size]的标签,2并减去48得到小数值但没有运气
任何帮助?
答案 0 :(得分:0)
而不是仅仅在cmp [size]之后调用jump,' 2'你应该使用je
cmp [size], '2'
je small
cmp [size], '1'
je e
处理器使用flags跟踪最后一次操作。在cmp的情况下,它从第二个值中减去第一个值。然后检查零标志以查找这两个值是否为[size]和&#39 ; 2'是否平等。