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

近期学习,需要打印字符,以及读取寄存器(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 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值