- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章汇编2of2_934602777课件
自动化系 计算机原理与应用 (2) 纪录型变量(B/W) 使用分三个步骤: ①定义记录类型 记录名 RECORD 字段名:宽度[=值] [,… ] 定义在源程序中,只说明格式,不占目标程序 ②建立记录变量(相当于DB、DW等,占目标程序数据段的内存): [变量名] 记录名 [字段值] [,… ] ③引用记录 用记录变量名引用 汇编时引用地址 执行指令时引用内容 用字段名引用 得位移次数 WIDTH 记录名/字段名 得位数 MASK 字段名 将该字段各位置1 例(见P149下 ~ P150例) 定义记录类型 COLOR RECORD blink:1, back:3, intense:1, force:3 建立记录变量 WINDOW COLOR 0, 6, 1, 6, 1, 3, 0, 3 引用记录 MOV AH, WINDOW ; AHOR AH, MASK blink ; AHMOV CL, back ; CL=4 MOV AH, WINDOW+1 ; AH(3) 结构型变量 和纪录型变量类似 字段是以字节为单位 (非基本要求) ?? 2 . 符号定义类 ???符号定义只在源程序汇编时使用 符号定义在目标程序中不另占存储器 (1)名字 EQU 表达式 源程序中出现符号名字,汇编时用表达式的值代替 ex. ADR EQU ES:[BP+DI+5] (2)名字 = 表达式 可多次对同一符号名字定义成不同值 ex. Count=Count-1 (3) 名字 LABEL 类型 等效于 EQU THIS (例 P153 末) 3 . 段定义类 ⑴ 名字 SEGMENT [定位] [组合] [‘类别’] ……… 名字 ENDS LINK使用三个任选项: ①定位:物理段边界对齐规则, 默认PARA(****0H) ②组合: 各逻辑段如何组合成物理段(P157:PUBLIC,..,): 名字 SEGMENT STACK ; 自动装入SS:SP ③ ‘类别’ 例见P158 (2)ASSUME 段寄存器名:逻辑段名 … 说明语句,说明源程序中逻辑段和机器码程序中物理段的对应关系。 不能代替指令建立物理段 4。过程定义 名字 PROC [NEAR / FAR];缺省为近 . . RET 名字 ENDP 过程执行中的最后一条指令是 RET。 远过程RET弹出 CS:IP 近过程RET只弹出 IP 5。模块定义及返回 DTA 1 SEGMENT . STACK SEGMENT . CODE SEGMENT ASSUME … MOV AX,DTA1 MOV DS,AX . MOV AH,4CH INT 21H 过程和模块比较 过程不重建数据段、堆栈段,以RET结束 模块要建数据段、提倡建堆栈段,以功能号为4CH的DOS功能调用结束: MOV AH,4CH INT 21H 6.宏处理 宏的使用分三个步骤: (1)?宏定义 宏定义只存在源程序中,不占目标程序。 宏定义中包含的内容称为宏体 (2)宏调用 宏名 [参数表] ;实际参数列表。 (3)宏展开 汇编时将宏名按宏体展开成机器码。 DECADD1 MACRO OPR1 , OPR2 MOV AL , OPR1 ADD AL , OPR2 DAA MOV OPR1 , AL ENDM 形式参数还可以是指令的操作码, 或者用隔开作为操作码或者操作数的一部分 [例3.6](P165) STRMOV MACRO SOUR, DEST, COUNT, LEN MOV SI , OFFSET SOUR MOV DI, OFFSET DEST MOV CX, COUNT CLD REP MOVSLEN ENDM §3.4 DOS和 BIOS调用 源程序中需要系统功能服务时可以直接调用服务程序,用INT n 指令。 n可以取不同值: INT 21H 称DOS功能调用 INT 1FH以下称 BIOS 调用 一.DOS 功能调用 一般形式: MOV AH
文档评论(0)