您的位置:首页 > 其它

纯汇编语言打印字符.以及输出寄存器值至屏幕

2016-08-02 17:51 597 查看
近期学习,需要打印字符,以及读取寄存器(Register)的内容,并输出到dos窗口下显示,C+Assembly实现很简单,但是,纯汇编实现就比较复杂了。由于个人能力有限,自己不会写,就在网上找到了可用的Demo,下面,我把这个demo分享给大家,同时,也是自己做个记录,方便后续使用。

一:打印字符,代码如下:(使用的是BL Regster)

disp_ch     proc
            push dx
            push ax
            mov  ah,02h
            mov  dl,bl
            int  21h
            pop  ax
            pop  dx
            ret
disp_ch     endp


调用方式如下:

mov  bl, 'Y'
call disp_ch
二:输出寄存器的值(以十六进制显示),使用的是Ax Register。代码如下:

;example for display register content
disp_ch     proc
push dx
push ax
mov  ah,02h
mov  dl,al
int  21h
pop  ax
pop  dx
ret
disp_ch     endp

wrhax  	    PROC
push    ax
push    dx
mov dx,ax
mov ch, 4
L1:
mov cl, 4
rol dx, cl
mov al,dl
and al,0FH
add al,30h
cmp al,3ah
jl printit
add al,7h
printit:
call  disp_ch
dec ch
jnz L1
pop dx
pop ax
ret
wrhax  		ENDP


调用方式如下:

MOV Ax,12H
call wrhax
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编语言
相关文章推荐