- 1、本文档共158页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4-第4章-汇编语言程序设计2剖析
第4章 汇编语言程序设计
2
NUIST
主要内容
3
NUIST
主要内容
4
4.1 汇编语言基础
汇编语言的语句组成
1
常数与表达式
2
标识符
3
数据定义
4
与数据相关的操作符
5
符号定义
6
5
汇编语句的组成
[标号:]
助记符
空格
操作数
[;注释]
标号是充当指令或者数据位置标记的标识符。
数据标号:表示了变量的地址,为在代码中引用该变量提
供了方便
代码标号:程序代码区中的标号必须以冒号(:)结尾。通常
用于做跳转和循环指令的目标地址。
SUM DB 0
CYCLE: CMP SUM, 100 ;SUM单元与100比较
…….
JMP CYCLE
一般称为变量
一般称为标号
伪指令语句
指令性语句
6
汇编语句的组成
[标号:]
助记符
空格
操作数
[;注释]
指出语句的基本功能,是语句的必要部分,即每条语句都必须有助记符 。
SUM DB 0
DB是定义字节变量的伪指令助记符
CYCLE: CMP SUM, 100 ;SUM单元与100比较
…….
JMP CYCLE
CMP是比较指令的助记符
7
汇编语句的组成
[标号:]
助记符
空格
操作数
[;注释]
操作数部分可以是数据本身(立即寻址),或者是以其他某种寻址方式给出的存放操作数的地址。
操作数不是每条指令所必须的。
注释仅用作语句或程序段的说明,注释必须以“;”开头,可以作为语句的一个部分,也可以作为一个单独的语句
CYCLE: CMP SUM, 100 ;SUM单元与100比较
…….
JMP CYCLE
操作数SUM是一个变量,属于直接寻址
XLAT
无操作数
8
4.1 汇编语言基础
汇编语言的语句组成
1
常数与表达式
2
标识符
3
数据定义
4
与数据相关的操作符
5
符号定义
6
9
常数
出现在汇编源程序中的固定值,即其在运行期间不会变化
数值常数
按其基数的不同,可以有二进制(B)、八进制(O或Q)、十进制(D)、十六进制数(H)等不同的表示形式
1234D
1234
255O
56H
0BA12H
10
常数
字符串常数
是由单引号括起来的一串字符。汇编程序把它们表示成一个字符序列,一个字节对应一个字符,把引号内的字符翻译成ASCII码 。
’218’——32H,31H,38H
出现在汇编源程序中的固定值,即其在运行期间不会变化
符号常数
用标识符来标识的常量。用以增加程序的可读性。详见4.1.6节。
11
表达式
由操作数和运算符组合的序列,它在汇编时能产生一个值。
算术运算符
+、-、*、/、MOD
操作数一般都是数字操作数,结果也是数字的
8 MOD 3 ;结果为2
10 + 12 ;结果为22
对于地址操作数唯一有意义的算术运算是加、减一个数字量
SUM+2
变量
标号
20H
30H
40H
SUM+2
SUM
对于“MOV AL,SUM+2”
AL值为40H,而不是20H+2=22H
CYCLE-5
SUM+1
12
表达式
移位运算符
SHL、SHR
操作数都是数字操作数,结果也是数字的
10 SHR 2 ;10右移2位( 4)结果为2
30 SHL 2 ;30左移2位(4)结果为120
13
表达式
逻辑运算符
AND,OR,NOT,XOR
逻辑运算的操作数只能是常数,且结果也是数字的。存储器地址操作数不能进行逻辑运算。 AND ; 结果 OR ; 结果
NOT ; 结果 XOR ; 结果 XOR SUM
AND BL,0AH OR 0FH
指令助记符
逻辑运算符
是变量
14
表达式
关系运算符
EQ、NE、LT、GT、LE、GE
关系运算符的操作数要么都是数字操作数,要么是同一段内两个存储单元的地址。当结果成立时,其结果为全1,否则为全0。
MOV AX,10H GT 16
ADD BX,6 EQ 0
文档评论(0)