怪问题???
下面的这个DOS汇编程序真让人费解,麻烦高手给看看问题出在哪了。
程序代码:.model small
.stack 200h
.CODE
START:
;mov ax,@data
;mov ds,ax
mov bl,0ffh
mov al,bl
call displayBit
;暂停,任意键关闭
mov ah,1
int 21h
mov ah,4ch ;结束,可以修改al设置返回码
int 21h
displayBit proc ;要显示的8位二进制放在al中
.386
pusha
mov cx,8
display:
shl al,1 ;将al的最高位送进CF
;push ax ;当我不加push ax与pop ax时运行结果就不对,
mov dl,0 ;加了就对了,难道哪条指令改变了al?
adc dl,0
or dl,30h ;转化为ASCII码
mov ah,2
int 21h
;pop ax
loop display
popa
ret
displayBit endp
END START








现在还看不懂,不过以后就就不一定了
