- 1、本文档共81页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 汇编语言与编程课件
第三章 汇编语言及编程;3.1 汇编语言程序结构与汇编语句;3.1.1 汇编语言源程序结构;1. 标准的单模块源程序框架;3.1.1 汇编语言源程序结构;(4) 将主程序定义为远过程;指令语句
伪指令语句
宏指令语句;标号和名字——分别是给指令单元和伪指令起的符号名称,统称为标识符。(注意组成的语法规则)
助记符和定义符——分别用于规定指令语句的操作性质和伪指令语句的伪操作功能,统称操作符。
操作数——操作数允许有多个,这时各操作数之间要用逗号“,”隔开。;2. 数 据 ; 标号是指令的符号化地址,一定在代码段,而变量是数据的符号化地址,一般在数据段,有时也可在代码段定义。;变量与标号区别; 例3.1 假设VAR1和VAR2为字变量,LAB为程序中的一个标号,判断下列指令是否正确,若错误请指出错误之处:;3. 表达式; 指在汇编过程中能够由汇编程序计算出数值的表达式。可作为指令中的立即操作数和数据区中的初值使用。例如:
MOV BX,0FFF0H AND 0B234H
MOV AL,4CH EQ 2
MOV AH,4CH GT 1
MOV AX,SEG LABLE; 其值表示存储器地址,一般都是段内的偏移地址。与变量一样,地址表达式也具有段值、偏移值和类型属性。地址表达式主要用来表示指令语句中的操作数,例如:
MOV AX,BASE[EAX][EBX]
JMP BASE[EAX]
LEA BX,BASE+12;3.2.1 程序结构伪指令语句
3.2.2 符号定义伪指令
3.2.3 数据定义伪指令
3.2.4 过程与宏定义伪指令
3.2.5 结构定义伪指令 ;3.2.1 程序结构伪指令语句;1. 方式选择伪指令;2. 完整段定义伪指令 ;3.2.1 程序结构伪指令语句;? 组合连接举例:;⑵ 段寄存器说明语句 ;3. 指定地址伪指令 ;4. 模块定义伪指令;3.2.2 符号定义伪指令; 例3.2 赋值语句与等号语句举例。
赋值语句:
X EQU 50
Y EQU X +10
COUNT EQU $ - ARRY
等号语句:
CON = 5
BASE = 200H
?
BASE = BASE + 10H ;重新定义BASE
;2. 定义符号名伪指令;3.2.3 数据定义伪指令;使用说明:; ⑵ 使用SEG、OFFSET、TYPE、LENGTH和SIZE运算符求变量的各种属性时,特别要注意: ; 解: 此题有两层DUP定义,但最外层DUP给定的值为100,所以:
(BX)= 数组ARRAY的偏移地址;
(CX)= 数组ARRAY的长度 = 100;
(SI)= 数组ARRAY的类型 = 2。 ; ⑶ 操作符“$”是取地址计数器的当前值,常用于表达式定义数组长度。; ⑷ 使用DB、DW、DD定义串数据(用‘ ’定义的字符串)时,允许定义的串长度不同,字符的存放顺序也不相同:; 例3.6 今需在变量名为STRING的数据区中顺次存放数据‘A’、‘B’、‘C’、‘D’、‘E’、‘F’、‘G’、‘H’,请写出分别用汇编命令DB、DW和DD实现的语句。;3.2.4 过程与宏定义伪指令;格式:过程名 PROC [属性]
… ;过程体
[RET]
…
RET
过程名 ENDP;宏定义格式:
宏名 MACRO [形式参数表]
? ;宏体
ENDM;3.2.4 过程与宏定义伪指令 ; 解:宏定义如下:
MOVE MACRO SARY,DARY
LOCAL LP
MOV SI,0
MOV CX,100
LP: MOV AL,SARY[SI]
MOV DARY[SI],AL
INC SI
LOOP LP
ENDM;3. 宏和过程的比较;3.2.5 结构定义伪指令 ;3.2.5 结构定义伪指令 ;语句格式:
[变量名] 结构名 〈[域值表]〉 ;3.3 汇编语言编程环境; 对汇编语言而言,根据数据结构和算法进行编码到形成可用程序的过程如下: ;应用程序;顺序结构
分支结构
循环结构;3.5.1 顺序结构程序设计 ;3.5.2 分支结构程序设计 ;分支1
;根据X(-128 ≤ X
文档评论(0)