IF 条件装配不工作
IF Condition on Assembly not working
大家好,我有这段代码,使用汇编程序 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 以获得十进制值但没有成功的标签
有什么帮助吗?
不只是在 cmp [size],'2' 之后调用 jump 你应该使用 je
cmp [size], '2'
je small
cmp [size], '1'
je e
处理器使用 cmp 的 flags.In 情况跟踪最后一个操作它从 second.Then 中减去第一个值它检查零标志以查找在这种情况下这两个值是否 [ size]和'2'是否相等。
大家好,我有这段代码,使用汇编程序 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 以获得十进制值但没有成功的标签
有什么帮助吗?
不只是在 cmp [size],'2' 之后调用 jump 你应该使用 je
cmp [size], '2'
je small
cmp [size], '1'
je e
处理器使用 cmp 的 flags.In 情况跟踪最后一个操作它从 second.Then 中减去第一个值它检查零标志以查找在这种情况下这两个值是否 [ size]和'2'是否相等。