code segment
assume cs:code
start:
mov ax,40
cmp ax,50
call delay
cmp ax,40
call delay
mov dx,2
mov ah,4ch
int 21h
x1 proc near
mov cx,1
mov bx,2
ret
x1 endp
code ends
end start
下面是一个x1的子程序,这个程序很简单,就是我给定一个值40,满足这个值就调用子程序,不满足程序还是正常执行下去。现在我这个程序的问题就是不管满不满足条件都会调用子程序(call)我该怎样修改啊?因为涉及到子程序的返回(ret)所以必须要用call命令!!
汇编语言
------解决方案--------------------
你 cmp 指令后,没有相应的条件转移指令啊,所以判断指令没有起作用
cmp ax, 40
jne @f ; 非 40 转走跳过 call delay
call delay ; ax=40 的话,执行 delay
@@:
; ...