汇编语言程序设计(四子的程序).ppt

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

16.3 直接定址表 数值0~9和字符“0”~“9”之间的映射关系是很明显的,即: 数值+30h=对应字符的ASCII值: 0+30h=“0”的ASCII值 1+30h=“1”的ASCII值 2+30h=“2”的ASCII值 : 16.3 直接定址表 但是,10~15和“A”~“F”之间的映射关系是: 数值+37h=对应字符的ASCII值: 10+37h=“A”的ASCII值 11+37h=“B”的ASCII值 12+37h=“C”的ASCII值 : 16.3 直接定址表 可见,我们可以利用数值和字符之间的这种原本存在的映射关系,通过高 4 位和低4 位值得到对应的字符码。 但是由于映射关系的不同,我们在程序中必须进行一些比较,对于大于 9 的数值,我们要用不同的计算方法。 10.7 call 和 ret 的配合使用 子程序的框架: 标号: 指令 ret 具有子程序的源程序的框架: * 子程序是程序的一部分,是完成特定功能的程序段,它能够在程序的任何地方被调用。在使用子程序时应注意: (1)参数的传递。子程序调用时,经常需要将一些参数传给子程序,而子程序也常常需要在运行后将结果和状态等信息回送给调用程序。这种子程序和调用程序之间的信息传送,就是参数传递。参数的传递可通过寄存器、变量、地址表、堆栈等方式进行。 (2)相应寄存器内容的保护。由于CPU寄存器数量有限,子程序要用到的一些寄存器常在调用程序中也被用到,为了防止破坏调用程序中寄存器的内容,需在子程序入口处将所用到的寄存器内容压入堆栈保存; (3)子程序还可以调用别的子程序,即子程序嵌套。 与子程序调用有关的CPU指令有:CALL和RET;伪指令有:PROC和ENDP。 1.实验目的: ①掌握汇编语言子程序及功能调用结构、指令及调用方法。 ②学习二进制数转换为十六进制数并显示的方法。 2.实验内容: ①掌握子程序的编程格式: 〈子程序名〉 PROC NEAR/FAR(子程序属性) ┆ ┆ RET 〈子程序名〉 ENDP。 ②编写一个子程序,把一个16位二进制数用十六进制形式在屏幕上显示出来。 分别运用如下2种参数传递方法,并用一个主程序验证它。 ③采用AX寄存器传递这个16位二进制数。 。 ④采用wordTEMP变量传递这个16位二进制数。 3.实验用设备仪器及材料: 硬件:计算机 软件:DEBUG调试软件。 4.实验要求: ①能在DEBUG提示符下,编写简单的汇编程序。 ②熟练掌握修改寄存器、存储单元的方法,理解段地址、偏移量的表达方式。 5.实验步骤: ⑴用文件编辑器编写汇编语言程序(如:记事本),并以asm为后缀命名, 如:2.asm ⑵运行masm编译器进入dos,调入所编写的汇编程序,生成2.obj,然后用 link.exe连接2.obj文件,生成可执行文件2.exe. ⑶用DEBUG调用2.exe文件,格式为DEBUG 2.EXE ⑷用D命令观察内存单元值 ⑸用U命令观察源程序 ⑹用G命令运行程序 ⑺用T命令单步执行程序 ⑻用R命令观察或修改寄存器内的值 6.实验报告: ① 同学要对本次实验课的内容加以总结,并写出自己对本次实验的体会和 收获。 ②实验报告格式: 实验名称 实验材料 实验步骤 实验总结 实验原理: AX中16位二进制数对应4位十六进制数,先转换最高4位成ASCII码并显示(循环左移4位,使最高4位移到AL的低四位,使AL高4位为0,等待处理,注意事先保存原AX值,防止丢失),然后转换次高四位并显示,以此类推。最后显示“H”(表示16进制) 1位十六进制(对应4位二进制)转换为ASCII码原理如下: 将获得的16进制数与9H比较: 若=9H,则该数加上30H,即为该数的ASCII码。 若9H,则先加上30H,再加上07H,才为该数的ASCII码。 高四位 次高 次低 低四位 0 4 8 12 15 AX AX 循环左移4位 ROL AX,CL DL 次高 次低 低四位 高四

文档评论(0)

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

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

1亿VIP精品文档

相关文档