微机原理第3章1-汇编语言程序设计1.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:66 大小:316KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理第3章1-汇编语言程序设计1.pdf

微机原理第3章1-汇编语言程序设计1.pdf

预览

免费试读已结束,剩余 56 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理与应用第3章汇编语言程序设计主要内容:ƒ汇编语言源程序的结构ƒ汇编语言语句格式ƒ伪指令ƒ功能调用ƒ汇编语言程序设计机械工程学院1微机原理与应用3.1汇编语言源程序1.机器语言(MachineLanguage)用二进制表示指令和数据。优点:执行速度快,占有内存少。缺点:不直观,不易编写、阅读和理解,面向硬件,不能移植。2.汇编语言(AssemblyLanguage)用助记符书写指令,地址和数据也可用符号表示。优点:编写、阅读和修改较方便,不易出错,执行速度与机器语言相近。缺点:面向硬件,不能移植。机械工程学院2微机原理与应用3.高级语言包括:BASIC,C,C++,FORTRAN,PASCAL,COBOL等。优点:通用性强,容易理解、学习和掌握。缺点:占用内存和时间多;不便于直接访问硬件。机械工程学院3微机原理与应用‰汇编及其汇编程序ƒ汇编:把汇编语言源程序翻译成机器语言目标程序的过程。ƒ汇编程序:完成汇编工作的系统应用软件。•小汇编(ASM):需要64K内存支持•宏汇编(MASM):需要96K以上的内存支持,功能更强。ƒ汇编程序的主要功能:1)检测源程序。2)测出源程序中的语法错误,并给出出错信息。3)产生源程序的目标程序,并给出列表文件。4)展开宏指令。机械工程学院4微机原理与应用‰汇编语言程序设计与执行过程¾输入汇编语言源程序源文件.ASM¾汇编(编译)目标文件.OBJ¾链接可执行文件.EXE¾调试最终程序记事本MASMLinkPRODR.ASMPRODR.OBJPRODR.EXE编辑程序汇编程序连接程序文件文件文件汇编语言程序的建立及汇编过程机械工程学院5微机原理与应用‰上机步骤1.调用编辑程序(例如:记事本)建立源文件。以×××.asm命名文件。2.用汇编程序masm(或asm)对源文件汇编产生目标文件×××.obj。如果汇编出错则需重新调用编辑程序修改错误,直至汇编通过为止。其它输出文件:•lst文件(列表文件):同时列出源程序和机器语言程序清单,并给出符号表。可使程序调试更加方便。•crf文件(交叉引用表):给出用户定义的所有符号,并列出每个符号定义的行号及引用的行号。为大程序的修改提供方便。机械工程学院6微机原理与应用3.用连接程序link产生执行文件×××.exeƒ连接程序的主要功能:(1)找到要连接的所有目标模块;(2)对所有要连接的目标模块中的所有段分配存储单元,即确定所有段地址值;(3)确定所有汇编程序所不能确定的偏移地址值(包括浮动地址及外部符号对应的地址);(4)构成装入模块,并把它装入存储器。ƒ其它输出文件:map文件(连接映象文件):给出每个段在存储器中的分配情况。4.执行程序。机械工程学院7微机原理与应用Ex352.lst文件将36位BCD数转换为ASCII码。机械工程学院8微机原理与应用Ex352.lst文件(续)机械工程学院9微机原理与应用Ex352.map文件StartStopLengthNameClass00000H00011H00012HDATA00020H00083H00064HSTACK00090H000D9H0004AHCODEProgramentrypointat0009:0000机械工程学院10微机原理与应用Debug调试程序c>debug×××.exe-常用命令:-g运行程序命令-u反汇编命令-a汇编命令(允许键入汇编语言语句)-d显示存储单元内容的命令-e修改存储单元内容的命令-r显示或修改某个寄存器的内容命令-t单步运行命令-q退出debug命令机械工程学院11微机原理与应用Debug调试程序的标志位状态辅助溢出方向零奇偶进位中断符号进位NAPONC“0”NVUPDIPLNZ“1”OVDNEINGZRACPECY机械工程学院12微机原理与应用3.1.1汇编语言源程序的结构例,用汇编语言源程序实现五字节十六进制数相加DATASEGMENT;定义数据段DATA1DB10H,11H,0A4H,13H,14HDATA2DB23H,24H,21H,22H,0C2HDATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化DSMOVCX,5MOVSI,0CLCLOOPER:MOVAL,DATA2[