实训3-2+将十六进制数据串转换成ASCII码..doc

实训3-2+将十六进制数据串转换成ASCII码..doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实训3-2将十六进制数据串转换成ASCII码.

实验3-2 将十六进制数据串转换为ASCII码 算法分析 利用查表法将一个十六进制数1AB3转换为对应的4个字符,并将其在屏幕上显示出来 要想在屏幕上显示一个十六进制数,关键是将各位十六进制数转换成对应的ASCII码。为此,我们在程序的数据段建立了一个字节表格ASC,其中保存了0~9,A~F的ASCII码。在代码段,首先将表格的首地址存入BX,将要显示的十六进制数值送入DX,并在CX中设置循环次数4。接下来通过循环移位操作,分别将各位十六进制数值(即相对于首地址偏移量)存入AL。最后,根据AL和BX的内容,使用换码指令将其对应的ASCII码送入AL,并在屏幕上显示出来。 源程序 DSEG SEGMENT ;数据段,给变量指定数据,分配存储空间 ASC DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H DB 41H,42H,43H,44H,45H,46H DSEG ENDS SSEG SEGMENT STACK ;堆栈段 DB 100 DUP(?) SSEG ENDS CSEG SEGMENT ;代码段 ASSUME CS:CSEG,DS:DSEG,SS:SSEG START : MOV AX,DSEG ;给数据段寄存器装初值 MOV DS,AX LEA BX,ASC ;将ASC表格的首地址BX MOV DX,1AB3H ;讲一个十六进制放入DX MOV CX,4 ;将循环计数值存入CX LOP : PUSH CX ;执行入栈指令,保存CX中的数据 MOV CL,4 ;指定循环左移的位数 ROL DX,CL ;将十六进制数循环左移4位,将DX中的高4位移至低4位 POP CX ;执行出栈指令,恢复CX原来的内容 MOV AL,DL ;将十六进制数低8位存入AL AND AL,0FH ;清除AL中高4位 XLAT ;执行换码指令,将对应数值的ASCII码送入AL MOV DL,AL ;DOS功能调用,将DL中保存的字符在屏幕上显示出来 MOV AH,02H INT 21H LOOP LOP ;执行循环 MOV AH,4CH ;系统功能调用,结束程序返回DOS INT 21H CSEG ENDS END START 操作步骤 步骤1 确定源程序存放的目录,将MASM.EXE和LINK.EXE两个文件拷贝到此目录下,并以DOS方式启动MASM编辑器。 假设源程序存放的目录为:D:\MASM,汇编程序启动方法为: 进入DOS环境,输入d:命令后按回车键,切换到D盘 输入cd masm命令后按回车键,进入MASM文件夹 输入edit命令后按回车键,启动edit编辑程序 步骤2 在edit编辑器窗口中输入上面的汇编语言源程序,选择File?Save菜单,以3-2.asm为文件名保存于当前目录下 步骤3 选择File?Exit菜单,推出edit编辑程序,返回DOS,输入masm 3-2.asm命令后按回车键,在当前目录下生成一个名为5-1.obj的文件,如下图: 步骤4 输入link 3-2.obj命令后按回车键,在当前目录下生成一个名为3-2.exe的文件,如下图 步骤5 在DOS下直接输入文件名3-2即可运行此程序,程序运行结束后返回DOS,显示运行结束,如下图: 实验小结 本次试验按照书上实训5-3的步骤较为简单,没有遇到很大的困难。代码有待精确理解。

文档评论(0)

yxnz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档