注册 登录
编程论坛 汇编论坛

[求助]程序运行结果错误?

jxt598598 发布于 2007-11-20 08:49, 823 次点击
.386
code segment
assume cs:code
start:
mov al,23h
mov dl,0
bt al,1
adc dl,0
bt al,3
adc dl,0
bt al,5
adc dl,0
mov bl,dl
cmp bl,3
jz rou1
cmp bl,2
jz rou2
cmp bl,1
jz rou3
cmp bl,0
jz rou4
bbb:
mov ah,2
int 21h
jmp exit
rou1:
add dl,30h
jmp bbb
rou2:
add dl,30h
jmp bbb
rou3:
add dl,30h
jmp bbb
rou4:
add dl,30h
jmp bbb
exit:
mov ah,4ch
int 21h
code ends
end start
4 回复
#2
zhoulikelvjj2007-11-20 22:11
386下不能用中断吧
#3
jxt5985982007-11-21 17:54
回复:(zhoulikelvjj)386下不能用中断吧

应该 能吧

#4
永夜的极光2007-11-21 18:10
肯定可以啊,不然连退出都没办法了
#5
永夜的极光2007-11-21 19:45

把程序改成这样就行,结果输出:2
至于原因我不大清楚,希望谁懂的帮忙解释一下


.model small
.386
.code

mov ax,23h
mov dl,0
bt ax,1
adc dl,0
bt ax,3
adc dl,0
bt ax,5
adc dl,0
mov bl,dl
cmp bl,3
jz rou1
cmp bl,2
jz rou2
cmp bl,1
jz rou3
cmp bl,0
jz rou4
bbb:
mov ah,2
int 21h
jmp exit
rou1:
     add dl,30h
     jmp bbb
rou2:
     add dl,30h
     jmp bbb
rou3:
     add dl,30h
     jmp bbb
rou4:
     add dl,30h
     jmp bbb
exit:
mov ah,4ch
int 21h
end

1