汇编语言数据段查找ASCII码并回显
2017-08-29 20:25
1476 查看
实验要求:在数据段预先存放16个十六进制的ASCII码,首地址为ASC。从键盘输入一位十六进制数到BX,用ASC[BX](寄存器相对寻址)寻址方式找到对应数位的ASCII码,并取出显示。
汇编代码片段:
实验结果在MASM FOR WINDOWS显示
输入数字5,返回数字5
实验截图请访问我的网站:omegaxyz.com
汇编代码片段:
data segment asc db '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' ;数据段定义 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov ah,1h int 21h ;此行和上一行调用DOS 1h号功能:键盘输入并回显,输入的值进入al mov bl,al ;将al的值赋给bl mov bh,0 ;由于下面要与40h比较而cmp必须是高精度比较 cmp bx,40h ;由于A的ascii码是40h,小于则是数字,大于等于则是字母 jns xxxxxx;(这里大家自己自定义名称) ;alp为alpha即字母SF=0未产生标志位则说明bx比A大是字母跳转到alp js num;否则跳转到num num:sub bx,30h;bx为数字 jmp over xxxxxx:sub bx,37h;减去37h则为数字 jmp over over:mov cl,asc[bx];cl的值是对应数位的ascii码 mov dl,cl mov ah,2;调用DOS 2h号回显功能,注意回显功能只能显示dl int 21h mov ah,4ch int 21h;结束 code ends end start
实验结果在MASM FOR WINDOWS显示
输入数字5,返回数字5
实验截图请访问我的网站:omegaxyz.com
相关文章推荐
- 汇编语言子程序设计 查找电话号码
- 汇编语言的数据段内的问号'?'表示多大的值?
- 汇编语言数组中查找正数代码分析(3)
- 汇编语言 :从键盘输入一个单个字符,显示该字符的ASCII码,回车键退出循环,终止程序
- 汇编语言之字符串的比较和查找
- 实训汇编语言设计——排序& 查找
- 汇编语言:将一个数据段中的内容复制到另一个数据段 并显示出来
- 80x86 汇编语言:查找字符串
- 汇编相关(ASCII码字符表 DEBUG命令 BIOS功能调用表 DOS功能调用表 汇编语言错误信息表)
- 实训汇编语言设计——排序& 查找
- 汇编语言 十六进制ASCII码转换为二进制显示
- 8086汇编语言自学经验分享 如何将一个段设置为代码段,数据段,栈段
- 汇编语言--关于自定义的数据段占用内存空间
- 汇编语言二分查找排序代码分析(13)
- 汇编语言入门:学习简单指令和数据段
- 汇编语言字符串比较与查找
- 汇编语言 单步调试失败 解决方法:代码段最好写在数据段的前面
- 汇编语言代码段和数据段
- 汇编语言中的各种功能调用
- 汇编语言推荐书籍