- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1
第4章汇编语言程序设计
2
主要内容
汇编语言源程序的结构
汇编语言语句格式
伪指令
功能调用
汇编语言程序设计
3
§4.1 汇编语言源程序
了解:
汇编语言源程序的结构
汇编语言语句类型及格式
4
一、汇编语言源程序结构
5
1. 汇编语言源程序与汇编程序
汇编语言源程序
汇编程序
用助记符编写
汇编程序
汇编语言源程序
机器语言目标程序
源程序的编译程序
6
2. 汇编语言程序设计与执行过程
输入汇编语言源程序(EDIT)
汇编(MASM)
链接(LINK)
调试(TD)
源文件 . ASM
目标文件 .OBJ
可执行文件.EXE
最终程序
7
二、汇编语言语句类型及格式
8
1. 汇编语言语句类型
指令性语句
指示性语句
CPU执行的语句,能够生成目标代码
CPU不执行,而由汇编程序执行的语句,不生成目标代码
9
2. 汇编语言语句格式
指令性语句:
[标号:] [前缀] 助记符 [操作数],[操作数] [ ;注释]
指令的符号地址
标号后要有冒号
操作码
注释前加分号
10
指示性语句格式
[名字] 伪指令助记符 操作数 [,操作数,…] [ ;注释]
变量的符号地址
其后不加冒号
指示性语句中至少有一个操作数
11
3. 标号、名字
标号后有冒号,在指令性语句前;名字后不加冒号,在指示性语句前。
英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令)。
12
4. 操作数
寄存器
存储器单元
常量
变量或标号
表达式
13
常 量
数字常量
字符串常量
例:‘A’
MOV AL,’A’
例:’ABCD’
汇编时被译成对应的ASCII
码41H,42H,43H,44H
用单引号引起的字符或字符串
14
变 量
代表内存中的数据区,程序中视为存储器操作数
变量的属性:
变量所在段的段地址
变量单元地址与段首地址之
间的位移量。
字节型、字型和双字型
段 值
偏移量
类 型
15
表达式
算术运算
逻辑运算
*关系运算
取值运算和属性运算
其它运算
16
算术运算和逻辑运算符
算术运算符
+,-,*,/,MOD
逻辑运算符
AND,OR,NOT,XOR
例:
MOV AL,8 AND 4
MOV AL,8+4-1
17
取值运算符
取得其后变量或标号的偏移地址
取得其后变量或标号的段地址
TYPE 取变量的类型
LENGTH 取所定义存储区的长度
SIZE 取所定义存储区的字节数
用于分析存储器操作数的属性
获取变量的属性值
OFFSET
SEG
18
取值运算符例
MOV AX,SEG DATA
MOV DS,AX
MOV BX,OFFSET DATA
LEA BX,DATA
等价于
19
取值运算符例
若BUFFER存储区用如下伪指令定义:
BUFFER DW 200 DUP(0)
则:
TYPE BUFFER 等于2
LENGTH BUFFER 等于200
SIZE BUFFER 等于400
20
属性运算符
用于指定其后存储器操作数的类型
运算符:PTR
例:
MOV BYTR PTR[BX],12H
21
其它运算符
方括号:
[ ]
段重设符
段寄存器名:[ ]
方括号中内容为操作数的偏移地址
用于修改默认的段基地址
22
§4.2 伪指令
掌握:
伪指令的格式及实现的操作
伪指令的应用
23
伪指令
由汇编程序执行的“指令系统”
作用:
定义变量;
分配存储区
定义逻辑段;
指示程序开始和结束;
定义过程等。
24
常用伪指令
数据定义伪指令
符号定义伪指令
段定义伪指令
结束伪指令
过程定义伪指令
宏命令伪指令
25
一、数据定义伪指令
用于定义数据区中变量的类型及大小
格式:
[变量名] 伪指令助记符 操作数,… ;[注释]
符号地址
定义变量类型
定义变量值及区域大小
26
1. 数据定义伪指令助记符
DB 定义的变量为字节型
DW 定义的变量为字类型(双字节)
DD 定义的变量为双字型(4字节)
DQ 定义的变量为4字型(8字节)
DT 定义的变量为10字节型
27
数据定义伪指令例
DATA1 DB 11H,22H,33H,44H
DATA2 DW 11H,22
文档评论(0)