纯汇编语言打印字符.以及输出寄存器值至屏幕
2016-08-02 17:51
597 查看
近期学习,需要打印字符,以及读取寄存器(Register)的内容,并输出到dos窗口下显示,C+Assembly实现很简单,但是,纯汇编实现就比较复杂了。由于个人能力有限,自己不会写,就在网上找到了可用的Demo,下面,我把这个demo分享给大家,同时,也是自己做个记录,方便后续使用。
一:打印字符,代码如下:(使用的是BL Regster)
调用方式如下:
调用方式如下:
一:打印字符,代码如下:(使用的是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
相关文章推荐
- 汇编语言屏幕打印输出函数
- 汇编语言中如何在屏幕显示字符
- 利用汇编语言编程实现屏幕上输出十进制数字00-29功能
- 汇编语言之屏幕字符显示
- 汇编语言 输入字符串并输出所有非字母字符的前后导字符
- 16位汇编语言第二讲系统调用原理,以及各个寄存器详解
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
- 汇编语言中把数据打印到屏幕上的指令是什么啊?急求答案
- 汇编函数万能字符输出以及字符大小转换
- 汇编语言: .写一段子程序 SKIPLINES,完成输出空行的功能。空行的行数由用户在主程序中通过 键盘输入,并将行数放在 AX 寄存器中。
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 汇编语言使用根据BIOS输入字符改变屏幕颜色
- 8086汇编语言自学经验分享 汇编源程序中给寄存器一个字符与两个字符
- 汇编语言编译的输入一段字符用9和10功能反序输出
- 汇编语言:请写一个程序把当前目录下的TEXT.TXT文件中的字符读出来显示在屏幕上,当遇到结束符时就停止读取。
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 汇编语言编写的输出三个数的最大和最小(原创)
- 汇编语言32位控制台读取用户输入字符程序代码分析(17)
- 在屏幕上打印字符,通过随机数产生任意坐标来打印!
- 汇编语言学习笔记-按指定的字体输出文本