汇编第04章汇编语言程序格式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编第04章汇编语言程序格式

第四章汇编语言程序 第四章汇编语言程序 4.1汇编程序功能 1、汇编程序 用汇编语言编写的源程序在输入计算机后,需要将其翻译成目标程序,计算机才能执行相应指令,这个翻译过程称为汇编,完成汇编任务的程序称为汇编程序。 第四章汇编语言程序 4.1汇编程序功能 2、汇编程序的功能 (1)检查源程序 (2)测出源程序中的语法错误,并给出出错信息 (3)产生源程序的目标程序,并可给出列表文件(同时列出汇编语言和机器语言的文件,称为LST文件) (4)展开宏指令 第四章汇编语言程序 4.2伪操作 1、8086语句类型 (1)指令语句:这类指令能够产生目标代码,是CPU可以执行的能够完成特定功能的语句,主要由机器指令组成。在汇编时一条指令语句被翻译成对应的机器码,对应着特定的操作。 (2)伪指令语句:伪指令语句是为汇编程序和连接程序提供一些必要控制的管理性语句,它不产生目标代码,仅仅在汇编过程中告诉汇编程序应如何汇编,并完成相应的伪操作。 (3)宏指令语句:宏指令语句是由编程者按照一定的规则来定义的一种较“宏大”的指令,可包括多条指令或伪指令 。 举例 DATA SEGMENT BUF DB 35H,78H,0A5H SUM DB ? ;定义存放累加和的单元 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA ASUM PROC FAR START: MOV AX,DATA MOV DS,AX MOV AL,0 MOV SI,OFFSET BUF ADD AL,[SI] INC SI ADD AL,[SI] ADD AL,[SI+1] MOV SUM,AL MOV AH,4CH INT 21H ASUM ENDP CODE ENDS END START 举例 DATA SEGMENT BUF DB 35H,78H,0A5H SUM DB ? ;定义存放累加和的单元 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA ASUM PROC FAR START: PUSH DS MOV AX,0 ;clear ax PUSH AX MOV AX,DATA MOV DS,AX MOV AL,0 MOV SI,OFFSET BUF ADD AL,[SI] INC SI ADD AL,[SI] ADD AL,[SI+1] MOV SUM,AL RET ASUM ENDP CODE ENDS END START 举例 CODE SEGMENT ASSUME CS:CODE,DS:DATA ORG 100H START: JMP BEGIN BUF DB 35H,78H,0A5H SUM DB ? BEGIN: MOV AX,CS MOV DS,AX MOV AL,0 MOV SI,OFFSET BUF ADD AL,[SI] INC SI ADD AL,[SI] ADD AL,[SI+1] MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS END START 第四章汇编语言程序 4.2 伪操作 3、段定义伪操作 (1)完整的段定义操作 (2)存储模型与简化段定义为操作 (1)完整的段定义操作 1、作用:存储器的物理地址是由段地址和偏移地址组合而成的,汇编程序在把源程序转换为目标程序时,必须确定标号和变量(代码段和数据段)的偏移地址,并且需要把有关信息通过目标模块传给连接程序,以便连接程序把不同的段和模块连接在一起,形成可执行的程序 (1)完整的段定义操作 2、段定义伪操作格式: Segmentname SEGMENT …… Segmentname ENDS 3、还需要明确段和寄存器的关系,要使用ASSUME伪操作格式如下: ASSUME CS:Segmentname1,DS:Segmentname2,…… (2)存储模型与简化段定义为操作 1、Model伪操作 格式: . Model memory_model [,model options] memory_model?7种存储模型(P121) Tiny Small Medium Compact Large Huge Flat model options?3种选择 高级语言接口 操作系统 堆栈距离

文档评论(0)

word.ppt文档 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档