实验二 汇编语言程序设计综合实验1

实验二 汇编语言程序设计综合实验1

ID:1245003

大小:346.00 KB

页数:5页

时间:2017-11-09

实验二  汇编语言程序设计综合实验1_第1页
实验二  汇编语言程序设计综合实验1_第2页
实验二  汇编语言程序设计综合实验1_第3页
实验二  汇编语言程序设计综合实验1_第4页
实验二  汇编语言程序设计综合实验1_第5页
资源描述:

《实验二 汇编语言程序设计综合实验1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二汇编语言程序设计综合实验12.1实验目的1.掌握在PC机上建立、汇编、链接、调试和运行8086汇编语言程序的全过程。2.学习较复杂的8086汇编语言程序设计的基本方法。3.巩固对8086指令系统、汇编语言伪指令的学习和掌握。2.2实验条件同11.1.2。2.3实验内容采用过程编写一个程序,把键盘输入的十进制数转换成十六进制数。要求在DOS提示符下,键入文件名运行程序后,光标停在第二行的开始处,然后键入十进制数(最大到65535D),程序能够自动在第三行显示转换成的十六进制数。说明:键入十进制数时,键盘输入的字符为ASCII码,0~9的ASCII码为30H~39H。要显

2、示十六进制数的每一位字符,需用十六进制数0~F的ASCCII字符来显示,其中0~9的ASCII码为30H~39H、A~F的ASCII码为41H~46H。2.4上机步骤1.编辑源程序用文本编辑器编辑源程序并以扩展名.ASM保存。2.汇编源程序用MASM.EXE对源程序进行汇编。汇编时,MASM.EXE可以检查源程序中的语法错误并指出错误所在的行号。如果有错误,修改源程序中的语法错误并保存文件,然后重新对源程序进行汇编。汇编时没有错误,才会生成目标程序。3.连接目标程序用LINK.EXE对生成的目标程序进行连接,生成可执行程序。4.运行可执行程序在命令提示符下运行可执行程序。键

3、入一个小于65535的十进制数,然后按下ENTER键,如果程序功能设计正确,即可显示出转换的十六进制数,如图2-1所示(DEC2HEX为可执行文件名)。在0~9、10~99、100~999、1000~9999、10000~65535之间各取一个十进制数键入回车,对显示转换的十六进制数加以验证。最后按Ctrl-C程序退出,返回命令提示符。图2-1运行DEC2HEX可执行文件的显示如果程序功能设计不正确,得不到正确的显示结果。为了检查程序设计中的错误,需要将可执行程序调入TD中进行调试。5.调试程序在TD中调试程序,就是通过单步运行、设置断点等手段,观察程序运行的中间结果,与预

4、期的结果加以比较和分析,找出程序设计中的功能性错误。如果发现错误,通过修改源程序,重新汇编、连接、运行,直至运行结果正确。图2-2将执行文件调入TD中进行调试(000EH是DEC2BIN子程序第一条指令的地址)在采用TD调试时,按F7或F8键,单步跟踪程序的执行。F7与F8键的区别是,若当前执行的指令是CALL指令,则F7将跟踪进入被调入的子程序,而F8则把CALL指令及其调用的子程序当作一条完整的指令,要执行完子程序才停在CALL指令的下一条指令上。本程序由三个子程序组成,也可对三个子程序分别调试。调试每一个子程序时,可通过修改IP指针来从每一个子程序的第一条指令开始单步

5、运行,方法如下:将可执行文件调入TD中,查看代码区中每一个子程序的第一条指令的地址,然后按Tab键选择寄存器区为当前区域,将光标移到IP寄存器,直接键入子程序第一条指令的地址(如图2-2所示),在键入的同时屏幕上会自动弹出编辑输入窗口,最后按OK确认。以后就可用F7或F8键单步执行指令了,根据需要,也可以修改相关寄存器的内容来验证程序的正确性。2.5编程提示、实验程序与框图按照程序的功能可将程序设计为一个主程序和三个子程序来完成:子程序一:通过DOS调用来等待键盘键入十进制数,若键入0~9以外的字符则退出该子程序(也可以由程序设定按某一特定键,如ENTER键,退出该子程序)

6、。同时,子程序将键入的十进制数转换为二进制数作为子程序的出口,结果放到一个通用寄存器中(如BX)。子程序二:将一个通用寄存器(如BX)中的二进制数转换为十六进制数,通过DOS调用由高位到低位逐位显示十六进制数的每一位字符。子程序三:采用DOS调用,实现回车换行。开始调用键入的十进制数转换为二进制数子程序调用二进制数转换为十六进制数子程序调用回车换行子程序调用回车换行子程序图2-3主程序框图1.主程序及框图DEC2HEXSEGMENTASSUMECS:DEC2HEXREPEAT:CALLDEC2BINCALLCRLFCALLBIN2HEXCALLCRLFJMPREPEAT2.

7、键入的十进制数转换为二进制数子程序及框图DEC2BINPROCNEARXORBX,BX;BX清零,存放转换后的二进制数NEWCHAR:MOVAH,1;DOS功能调用,键入字符INT21HSUBAL,30H;ASCII值到二进制JLEXIT;键入值<0,则退出CMPAL,9JGEXIT;键入值>9,则退出CBW;AL中符号扩充到AXXCHGAX,BXMOVCX,10MULCX;数值高位乘以10XCHGAX,BXADDBX,AX;高位加上低位,和在BX中JMPNEWCHAR;转回去,再取新字符EXIT:RETDEC2B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。