- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲微型计算机汇编语言及汇编程序课件
操作数?用来保留存储空间,但不存入数据. 例3:ABC DB 0,1,2,3,4,’OK’,’$’ RSV DW ?,?,?,?,?,?,?,? 复制操作符DUP: 重复的数据可以使用复制操作符DUP,如上面RSV亦可写成: RSV DW 8 DUP(?) 若操作数中若使用$,则表示的是地址计数器的当前值。 例: TABLE DB 10 DUP(?) BUFFER DW TABLE,$+3 设TABLE的偏移地址为0080H,则汇编后如下图所示: BUFFER 0080H 80H TABLE 008AH 008BH 008CH 008DH . . . 8FH 00H 00H 0089H 10 Bytes 2)符号定义伪指令 把一个表达式用一个符号表示,以后凡出现该表达式的地方都可用这个符号表示。类似于C语言中的#define。 符号定义伪指令有两种:EQU,= 用EQU定义的符号未清除前,不能重新定义。清除EQU定义可用PURGE伪指令。 用”=”定义的符号可在任何时候进行重定义。 二者均不占用存储空间,仅是给符号赋值 例:FIVE EQU 5 COUNT EQU CX TEN EQU 10 DIST = BYTE PTR[SI+BP] GOTO = JMP … MOV AX, TEN MOV CX, COUNT ADD DIST, FIVE DIST = WORD PTR[SI+BP+1] ADD DIST, AX GOTO LABEL 定义 引用 3)段定义伪指令 汇编语言程序是按段来组织程序和数据的。 和存储器的物理段相对应,汇编语言程序中的段称为逻辑段。汇编连接后被映射到物理段中。 三类段:代码(程序)、数据、堆栈 段定义伪指令:SEGMENT、ENDS、ASSUME、ORG 定义一个段的基本格式: 段名 SEGMENT [定位类型][组合方式][类别] 汇编语言语句 段名 ENDS 这两个伪指令总是成对出现,二者前面的段名应一致。SEGMENT说明了一个段的开始,ENDS说明了一个段的结束。 对数据段和堆栈段,段中的语句一般是变量定义。对代码段则是指令语句。 如: data SEGMENT 指令语句 data ENDS SEGMENT和ENDS伪指令 ASSUME伪指令 在代码段中,还必须明确段和段寄存器的关系,这由ASSUME语句来指定。如 ASSUME CS:code, DS:data, ES:data 语句中的code和data为段名。 这个语句说明: 1. CS将指向名字为code的代码段 2. DS和ES将指向名字为data的数据段 但要注意,ASSUME伪指令只是告知汇编程序有关段寄存器与段的关系,并没有给段寄存器赋予实际的初值。故下面的语句 MOV AX,DATA MOV DS,AX MOV ES,AX 将段基址装入段寄存器。如果程序中用到堆栈段,则SS也需装入实际的初值。 代码段基地址不需要程序员装入CS寄存器,而由OS负责装入。 SEGMENT语句后可以带有可选参数,用以规定逻辑段的其他一些属性。 1) 定位类型 说明如何确定逻辑段的边界。有四种: PARA(Paragraph): 逻辑段从一个节 (16个字节) 的边界开始。即段的起始地址应能被16整除, 或这说段起始物理地址应为××××0H。——默认类型 BYTE : 逻辑段从字节边界开始,即段可以从任何地址开始。 WORD : 逻辑段从字边界开始。即段的起始地址必须是偶数。 PAGE : 逻辑段从页边界开始。256字节称为一页,故段的起始物理地址应为×××00H。 2) 组合类型 说明不同模块中同名段的组合方式。 PUBLIC : 所有此类型的同名段组合成一个逻辑段,公用一个段地址,运行时装入同一个物理段中。 COMMON : 所有此类型的同名段具有相同的起始地址(覆盖),共享相同的存储区域。 AT 数值表达式 : 按绝对地址定位,段地址就是表达式的值。 STACK : 专用于说明堆栈段,组合方式同PUBLIC 3) 类别 用单引号括起来的字符串。所有同类别的段被安排在连续的存储区域中。 如:在模块1中有段定义: seg1 SEGMENT PARA STACK ‘stack’ … seg1
您可能关注的文档
- 第七章输入输出系统练习题答案课件.ppt
- 第七章酒店的竞争优势课件.ppt
- 第七章边坡变形及防治课件.ppt
- 第七章醇与醚课件.ppt
- 第七章边界层及其基本计算课件.ppt
- 第七章运动和力课件.doc
- 第七章重量分析法课件.ppt
- 第七章还原反应(精)课件.ppt
- 第七章调整图像色彩课件.ppt
- 第七章采购与付款的业务流程与核算方法设计课件.ppt
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)