没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
" "∶教材符号
+、-、*、/∶算术运算符。
&∶宏处理操作符。宏扩展时不识别符号和字符串中的形式参数,如果在形式参数前面加上一个
& 记号,宏汇编程序就能够用实在参数代替这个形式参数了。
$∶地址计数器的值——记录正在被汇编程序翻译的语句地址。每个段均分配一个计数器,段内
定义的所有标号和变量的偏移地址就是当前汇编地址计数器的值。
?∶操作数。在数据定义语句中,操作数用?,其作用是分配并保留存储空间,但不存入确定的
数据。
=∶等号伪指令——符号定义。对符号进行定义和赋值,功能与 EQU 相似,但允许(重复)再
定义。
:∶修改属性运算符(操作符)——段操作符。用来临时给变量、标号或地址表达式指定一个段
属性(不用缺省的段寄存器),自动生成一个“跨段前缀字节”。注意,段寄存器 CS 和 ES 不能
被跨越,堆栈操作时也不能跨越 SS。
;∶注释符号。
%∶特殊宏操作符,用来将其后的表达式(通常是符号常数,不能是变量名和寄存器名)转换
成它所代表的数值,并将此数值的 ASCII 码嵌入到宏扩展中。
( )∶1.运算符——用来改变运算符的优先级别。2.教材符号,表示括号内存储单元(或寄存器)
的内容。
< >∶宏调用时用来将带间隔符(如空格,逗号等)的字符串(作为实参)括起来。
[ ]∶1.运算符。方括号括起来的数是数组变量的下标或地址表达式。带方括号的地址表达式必
须遵循下列原则,①只有 BX、BP、SI、DI 这四个寄存器可在方括号内出现;②BX 或 BP 可单
独出现在各方括号中,也可以与常数、SI 或 DI 一起出现在方括号内,但不允许 BX 和 BP 出现
在同一个方括号内;③SI 和 DI 可以单独出现在各方括号内,也可以与常数、BP 或 BX 一起出
现在方括号内,但不允许 SI 和 DI 出现在同一个方括号内;④一个方括号内包含多个寄存器时,
它们只能作加法运算;⑤若方括号内包含基址指针 BP,则隐含使用堆栈段寄存器 SS 提供段基
址,否则均隐含使用数据段寄存器 DS 提供段基址。2.教材符号,表示其中的内容可省略。
.LIST∶ 伪指令。用于打开列表文件输出。
.RADIX∶伪指令。把缺省的基数改为 2-16 范围内的任意基数。.RADIX 不影响 DD、DQ、DT
伪指令,在这些伪指令中,输入的数值只要没有加上数据类型就认为是十进制数。
.XLIST∶伪指令。用于关闭列表文件输出。
%OUT
∶伪指令。在汇编时显示其后的信息。
AAA
∶ 指令助记符
——
加法运算后的
ASCII
调整(非压缩的
BCD
码)。无操作数,调整的加
法结果在
AL
中。
AF
和
CF
的状态改变说明结果大于
9
。检查
AL
的低四位是否为合法的
BCD
码(
0-9
),如果合法就清除
AL
的高四位以及
AF
和
CF
标志。当
AL
的低四位表示的数大于
9
或
AF
=
1
时, 将
AL
加
6
,
AH
加
1
,并使
AF
和
CF
置位,清除
AL
中的高四位。任何一个
A—F
之间的数加上
6
以后,都会使
AL
低
4
位产生
0-9
之间的数,从而达到调整的目的。
AAD
∶ 指令助记符
——
除法的
ASCII
调整(非压缩的
BCD
码)。在执行除法操作前,必须利
用
AAD
指令将非压缩型
BCD
码表示的数转换成二进制数送
AL
。步骤是,先将被除数的高位
数(
AH
中的内容)乘以
10
,然后加到
AL
的低位数中,接着将
AH
清零。
AAM
∶ 指令助记符
——
乘法的
ASCII
调整(非压缩的
BCD
码)。用于将字节乘法的积转换成
两个合法的十进制非压缩码。
AAM
不带操作数,假定成绩在
AH
和
AL
中,并将调整后的非压
缩码送回
AH
和
AL
。为了保证
AAM
得到正确的结果,原乘数和被乘数必须是合法的非压缩码。
指令执行时,
AAM
用
10
(
0AH
) 除
AL
寄存器,并将除得的商和余数分别送
AH
和
AL
寄存
器,实现转换。
AAS
∶ 指令助记符
——
减法运算后的
ASCII
调整(非压缩的
BCD
码)。检查
AL
的低四位是
否为合法的
BCD
码(
0-9
),如果合法就清除
AL
的高四位以及
AF
和
CF
标志。当
AL
的低四
位表示的数大于
9
或
AF
=
1
时, 将
AL
减
6
,
AH
减
1
,并使
AF
和
CF
置
1
,清除
AL
中的
高四位。
ADC
∶ 指令助记符
——
带进位加法(把
CF
的值加上)。用于多字节数的高字节加法运算。
ADD
∶ 指令助记符
——
加法。参与运算的二操作数应该同时带符号或不带符号 ,并且长度一
致。操作数可以是寄存器、存储器或立即数,但不能同时为存储单元或段寄存器,立即数也不能
作为目的操作数。
AF
∶
Auxiliary Carry Flag
,辅助进位标志,在标志寄存器的第
4
字节。记录运算时第
3
位
(半个字节)产生的进位值(置
1
)。该标志用于对
BCD
码的加减运算中。
AND
∶逻辑运算符(在语句的操作数部分,汇编时完成)或逻辑操作指令助记符(在语句的操
作码部分,其运算在执行指令时完成)
——
按位与。只有相
“
与
”
的两位全为
1
,结果才为
1
。
某数自己与自己相
“
与
”
,操作数不变,进位标志
CF
清
0
。
ASSUME
∶段定义伪指令
——
设定分段寄存器,格式为
"ASSUME
段寄存器
:
段名
[,
段寄存器名
:
段名
]"
。在代码段的开始用来指出所有段与段寄存器的关系,确定某个段分配给哪个段寄存器。
ASSUME
只指出各段寄存器的分配,并没有把段地址装入相应的段寄存器。为此,在代码段中,
还必须把数据段和附加数据段的段地址装入相应的寄存器中。
AT
∶伪指令
——
段定义(组合类型)。该段按绝对地址定位,段基址为数值表达式的值,位移
量为
0
。不能指定代码段。
AX
∶
Accumulator
,通用寄存器,算术运算的主要寄存器。另外,所有的
I/O
指令都使用这
一寄存器与外部设备传送信息。其中
AH
是高
8
位
,AL
是低
8
位。
B
∶ 数据类型后缀,表示二进制常量。
BP
∶
Base Pointer
, 基址指针寄存器。可以与
SS
寄存器联用来确定堆栈中任一存储单元的地
址。它指示堆栈中任一单元的偏移量。非堆栈进出指令要访问堆栈,只能通过
BP
进行。
BX
∶
Base
,通用寄存器。在计算存储器地址时,经常用作基址寄存器。其中
BH
是高
8
位,
BL
是低
8
位。
BYTE
∶伪指令
——
段定义(定位类型)。本段起始单元可以从任一地址开始,段间不留空隙,
存储器利用率最高。
CALL
∶指令助记符
——
程序调用。
一、段内直接调用:格式为
" CALL
过程名
"
。先把
IP
内容(子程序的返回地址,即
CALL
下一条指令的地址)压入堆栈,然后
IP
转移到子程序的入口地址。
二、段内间接调用:格式为
" CALL WORD PTR OPD"
。先把
IP
的内容压入堆栈,然后
IP
指向(转到)由寻址方式决定的
EA
。
三、段间直接调用。格式为
"CALL FAR PTR
过程名
"
。先把
CS
和
IP
的内容压入堆栈,然
后在
CS
中装入新的段地址,
IP
指向段内偏移地址。
四、段间间接调用:格式为
"CALL DWORD PTR OPD"
。 先把
CS
和
IP
的内容压入堆栈,
然后把寻址方式确定的有效地址所指定的一个字储存单元的内容送入
IP
,下一个字存储单元的
内容(段首址)送入
CS
。
CBW
∶指令助记符
——
字节转换为字。把
AL
中字节的符号扩展到
AH
中,若(
AL
)的最高有
效位为
0
,则(
AH
)=
00
;若(
AH
)的最高有效位为
1
, 则
(AH
)=
0FFH
。
CF
∶
Carry Flag
,进位标志
,
在标志寄存器的第
0
字节
,
记录运算时从最高有效位产生的进位值
(置
1
)。 作加法时,
CF
位可以用来表示无符号数的溢出(有符号数溢出用
OF
表示)。
CLC
∶ 指令助记符
——
标志(进位)设置。设置
CF
=
0
。
CLD
∶ 指令助记符
——
清方向标志。使
DF
=
0
。这样,当执行字节串操作指令时,地址自动
增
1
;当执行字串操作指令时,地址自动增
2
。
CLI
∶ 指令助记符
——
中断允许标志设置。设置
IF
=
0
。
CMC
∶ 指令助记符
——
标志(进位)设置。
CF
取反。
CMP
∶ 指令助记符
——
比较。对于
“ CMP AX
,
BX”
,如果是两个无符号数比 较(减),若
结果没有产生借位,即
CF
=
0
, 则(
AX
)
≥
(
BX
);若
CF
=
1
,则(
AX
)〈(
BX
)。 如
果是两个带符号数比较,则 当没有溢出(
OF
=
0
)时,若
SF
=
0
,则(
AX
)〉(
BX
) 若
SF
=
1
,则(
AX
)〈(
BX
) 当产生溢出(
OF
=
1
)时,若
SF
=
0
,则(
AX
)〈(
BX
) 多
SF
=
1
,则(
AX
)〉(
BX
) 简炼的结论,若
OF
异或
SF
=
0
,则(
AX
)〉(
BX
) 若
OF
异或
SF
=
1
,则(
AX
)〈(
BX
)
CMPS
∶指令助记符
——
串比较。通常用
CMPSB
或
CMPSW
。
CMPSB
∶ 指令助记符
——
串比较。将
DS
段
SI
指出的字节数据减去
ES
段
DI
指出的字节数
据(不保存结果),然后根据相减结果设置标志位(两个数据相等,则
ZF
=
1
)。 并由方向标
志
DF
修改
SI
和
DI
中的地址,即当
DF
=
0
时,地址都加
1
; 当
DF
=
1
时, 地址都减
1
。
CMPSW
∶ 指令助记符
——
串比较。将
DS
段
SI
指出的字数据减去
ES
段
DI
指出的字数据(不
保存结果),然后根据相减结果设置标志位(两个数据相等,则
ZF
=
1
)。 并由方向标志
DF
修改
SI
和
DI
中的地址,即当
DF
=
0
时,地址都加
2
; 当
DF
=
1
时, 地址都减
2
。
COMMON
∶伪指令
——
段定义(组合类型)。该段与其它模块中所有也说明为
COMMON
的同
名,同
'
类别
'
段共享相同的存储区域,即这些段的起始地址都相同,共享的公共存储区域的长度
是各模块同名段中最大的长度。使用
COMMON
方式可以使不同模块中的不同变量或标号作用
于相同的存储单元。
CS
∶
Code Segment
,代码段寄存器,存放当前运行的代码段起始地址(高
16
位)。代码段
存放当前正在运行的程序。
CWD
∶ 指令助记符
——
字转换为双字。把
AX
中字节的符号扩展到
DX
中,若(
AX
)的最高
有效位为
0
,则(
DX
)=
0000
;若(
AX
)的最高有效位为
1
, 则
(DX
)=
0FFFFH
。
CX
∶
Count,
通用寄存器。在循环和串处理指令中用作隐含的计数器。其中
CH
是高
8
位,
CL
是低
8
位。
DAA
∶ 指令助记符
——
加法的十进制调整(压缩的
BCD
码)。 无操作数,调整 的加法结果
在
AL
中。调整方法是,如果
AL
的低
4
位大于
9
或
AF
=
1
,则加
6
到
AL
并置
AF
=
1
;如
果
AL
的高
4
位大于
9
或
CF
=
1
,则加
60H
到
AL
,并 置
CF
=
1
。
DAS
∶ 指令助记符
——
减法的十进制调整(压缩的
BCD
码)。 调整方法是,若
AF
=
1
或
AL
的低
4
位为
A—F
,则(
AL
)减
06H
,且
AF
置
1
;若
CF
=
1
或
AL
的高
4
位为
A—F
,则(
AL
)
减
60H
,且
CF
置
1
。
DB
∶ 伪指令
——
定义字节。其后的每个操作数占用一个字节。若是字符串, 必须用引号
' '
括
起来,字符串不能超过
255
个字符,字符串自左至右以 字符的
ASCII
码按地址递增的顺序依
次存放。
DD
∶ 伪指令
——
定义双字。其后的每个操作数占用二个字(低字在前)。
DD
还可以把其后
的变量或标号的偏移地址和所在段首址存入存储器内指定 的双字单元
(
即
DD
前面的变量
)
中
,
第一个字中存放
DD
后的变量的偏移地址, 第二个字中存放该变量所在段的段首址。
剩余19页未读,继续阅读
资源评论
huayangshiboqi
- 粉丝: 249
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功