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

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

你可能感兴趣的:(Assembly)