8086 8088指令系统记忆表

合集下载

微机原理 8086指令系统

微机原理 8086指令系统

2019/8/31
1
微机原理 自动化科学与电气工程学院
第3章 8086/8088微处理器及其系统
92种基本指令,全部公开,
六个功能组(六大类)
一、 数据传送(Data transfer) 二、 算术运算(Arithmetic) 三、 逻辑运算和移位指令(Logic & Shift) 四、 串操作(String manipulation) 五、 控制转移(Control Transfer) 六、 处理器控制(Processor Control)
思考
– 将两个非压缩BCD码(高位在BL,低位在AL)合并成压缩BCD码送 AL。
MOV CL, 4
;将计数值送CL
SHL BL, CL ;将高位移到BL的高4位
AND AL, 0FH ;清零AL高4位
OR AL, BL ;合并AL和BL形成压缩BCD码
– 分析下面的程序段所实现的功能(可以用别的指令实现吗) SHL AL,1 ; 将AL中数左移1位,得2X MOV BL,AL ; 2X保存在BL中 MOV CL,2 ; 移位次数置入CL中 SHL AL,CL ; 2X左移2位,得8X ADD AL,BL ; 2X加上8X,所以AL中为10X
14
微机原理 自动化科学与电气工程学院
5. 8086/8088指令系统
四、串操作(String manipulation)
– LODS(Load from string)读串指令
LODS ;(字节)(AL) ((DS):(SI)), (SI) (SI) ±1 ;(字) (AX) ((DS):(SI)),(SI) (SI)±2
4000H:1001H F2
4000H:1002H 1C 4000H:1002H

第4章 80868088指令系统3(算术运算指令)(楼俊君)

第4章 80868088指令系统3(算术运算指令)(楼俊君)
28
关于除法操作中的字长扩展问题
• 运算要求被除数字长是除数字长的两 倍,若不满足则需对被除数进行扩展,否则 产生错误。 8位16位 16位32位 ALAX(AH AL) AXDX AX • 对无符号数除法扩展,只需将AH或DX 清零即可。 • 对有符号数而言,则是符号位的扩展。 可使用符号扩展指令CBW和CWD
指令例子: SBB AX,CX SBB WORD PTR[SI],2080H SBB [SI],DX
16
(3) 减1指令DEC
作用类似于C语言中的”--”操作符。
格式:DEC opr 操作:opr←(opr)-1
指令例子: DEC CL DEC BYTE PTR[DI+2] DEC SI
注:该指令与INC一样,它不影响CF标志,但对 AF/OF/PF/SF/ZF会产生影响。
17
(4) 求补指令NEG
格式: NEG opr 操作: opr← 0-(opr)
对一个操作数取补码相当于用0减去此操作数, 故利用NEG指令可得到负数的绝对值。 例: 若(AL)=0FCH,则执行 NEG AL 后, (AL)=04H,CF=1 本例中,0FCH为-4的补码,执行求补指令后, 即得到4(-4的绝对值)。
20
根据标志位来判断比较的结果
1)根据ZF判断两个数是否相等。若ZF=1, 则两数相等。 2)若ZF=0,则两个数不相等,则分两种 情况考虑: ①比较的是两个无符号数 若CF=0,则dest>src; 若CF=1,则dest<src。 ②比较的是两个有符号数 若OF⊕SF=0,则dest>src; 若OF⊕SF=1,则dest<src。
19
(5) 比较指令CMP
格式: CMP dest, src 操作: dest←(dest)-(src) (而 SUB dest, src; dest←(dest)-(src) ) CMP也是执行两个操作数相减,但结果不送目标操 作数,其结果只反映在标志位上。 指令例子: CMP AL,0AH CMP CX,SI CMP DI,[BX+03]

第3章 8086 8088指令系统

第3章  8086 8088指令系统

字节2
6 5 4 3 2 1 0 7· · · 0 7· · · · ·0 7· · · · · 0 7· · · · · 0 DISPH DATAL DATAH
OP code
D w MOD REG R/M DISPL
操作码字节 寻址方式字节 位移量 立即数 •OP code为操作码,表示该指令要完成的操作。 为操作码, OP code为操作码 表示该指令要完成的操作。 •D=0:第一个操作数是目的操作数, 1:第二个操作数是目的操作数 D=0: 是目的操作数, 第二个操作数是目的操作数 D=0 第一个操作数是目的操作数 •W=0:8位操作数, 1:16位操作数 W=0: 位操作数, 16位操作数 W=0 •MOD指明寻址方式: MOD=11 寄存器寻址 MOD指明寻址方式 MOD指明寻址方式: MOD= MOD≠11存储器寻址 MOD≠11存储器寻址 00没有偏移量 1016 16位偏移量 00没有偏移量 01 8位偏移量 1016位偏移量 •REG用编码方式指明操作中所使用的寄存器。 REG用编码方式指明操作中所使用的寄存器 REG用编码方式指明操作中所使用的寄存器。 •R/M用编码方式指出存储器有效地址计算方法。 R/M用编码方式指出存储器有效地址计算方法 R/M用编码方式指出存储器有效地址计算方法。 •DISP表示地址偏移量。DATA则指明立即数。 DISP表示地址偏移量 则指明立即数。 DISP表示地址偏移量。DATA则指明立即数
DATA
操作码 00 02
DS : 80000 BX: 1000 DI: + 2000 DATA: + 0200 83200H
AX 30 40
码 段
40 30
83200 83201
数 据 段

微机原理8086指令系统表

微机原理8086指令系统表
Opr位数必须一致
Opr不能同为Mem
Opr不能为CS(或IP)
PUSH
PUSH Src
(SP)← (SP)-2
((SP) +1,(SP)) ← (Src)
Opr只能16位
Opr不能为Imm、CS
PUSH CS合法
一般配对使用
POP
POP Dest
(Dest)←((SP) +1,(SP))
(SP) ← (SP) +2
Cnt是移位数
Cnt>1,其值要先送到CL
ODITSZAPC= x---xxuxx
SAR
SAR Dest,Cnt
SHL
SHL Dest,Cnt
SHR
SHR Dest,Cnt
ROL
ROL Dest,Cnt
将Dest从一端移出的位返回到另一端形成循环
Dest不能为Imm
Cnt是移位数
Cnt>1,其值要先送到CL
LES
LES DES,Src
(Dest) ←EA (Src)
(ES) ← EA(Src+2)




LAHF
LAHF
(AH) ←(FLAGSL)
相反操作
一般配对使用
SAHF标志位=-----rrrrr
SAHF
SAHF
(FLAGSL)← (AH)
PUSHF
PUSHF
(SP)← (SP)-2
((SP) +1,(SP)) ← (PSW)
INC
INC Dest
(Dest) ← (Dest) +1
ODITSZAPC= x---xxxx-


SUB

8086-8088 汇编语言指令表

8086-8088 汇编语言指令表

(续)
操作
ODITSZAPC
无符号除法:AX 除以 src,商送 AL,余 数送 AH;或(DX,AX)除以 src,商送 AX, 余数送 DX 带符号除法:AX 除以 src,商送 AL,余数 送 AH;或(DX,AX)除以 src,商送 AX,余 数送 DX
u---uuuuu u---uuuuu
把 AL 中的和调整到压缩的 BCD 格式
u---xxxxx
把 AL 中的差调整到压缩的 BCD 格式
u---xxxxx
把 AL 中的和调整到非压缩的 BCD 格式, AH 加调整产生的进位值 把 AL 中的差调整到非压缩的 BCD 格式, AH 减调整产生的借位值
u---uuxux u---uuxux
---------
JZ JE
跳 JZ label
JNZ JNE 转 JNZ label
JS
JS label
若 ZF 为 1,转到 label 处继续执行 若 ZF 为 0,转到 label 处继续执行 若 SF 为 1,转到 label 处继续执行
-------------------------
·418·
-----------------
把标志寄存器 FLAGS 入栈
---------
POPF IN OUT ADD ADC INC
POPF
出栈一个字数据,送到标志寄存器 FLAGS 中
rrrrrrrrr
IN AL, src IN AX, src OUT dst, AL OUT dst, AX ADD dst, src
JNC label
若 CF 为 0,即无符号数比较的不小于,
转到 label 处继续执行---------跳 转

8086常用指令表

8086常用指令表

8086/8088常用助记符指令类型助记符目的源功能注释数据传送MOV X X 把数据从源操作数传送到目的操作数1.两个操作数不能同时为内存操作数,也不能同时为立即数,目的操作数不能为立即数2两个操作数的类型须一致3立即数不能直接传入段寄存器4CS,IP不能作目的操作数5段寄存器之间不能直接传送PUSH X把指定的寄存器/内存单元的内容压入堆栈1.按字操作,CS能入栈内存不能直接寻址.P-2→SP,再写入栈顶POP X从栈顶弹出一字到指定的寄存器/内存单元1.同上2.先弹出一字,再SP-2→SP XCHG 寄寄/内两操作数互换内容不能用立即数和段寄存器XCHG 寄指定寄存器同累加器互换内容IN AC 端口号从指定端口送数到AL端口号为立即数,地址为8位端口号在DX中,地址为16位OUT 端口号 AL从AL送数到指定端口LEA 寄内存LDS 寄内存LES 寄内存把内存偏址送指定寄存器把内存低2字节送寄存器,高2字节送DS(ES)只能用通用寄存器,不能用段寄存器LAHF把标寄低8位送AHSAHF把AH送标寄低8位PUSHF标寄入栈POPF栈顶弹出进标寄算术运算ADD X X加法(和送目的操作数)加减1.2.同MOV3.段寄存器不能作操作数4.调正在AL中进行,并必需紧跟在运算之后执行.5.比较运算同减法,结果不存,而仅影响标志寄存器6.乘除法的目的操作数隐含是ACAL*乘数→AX, AX*乘数→DX AX,AX/除数→AL, 余数在AH中DXAX/除数→AX, 余数在DX中7.加1减1指令把操作数当无符号数,其他加减指令是否为有符号数要由程序设计需要设定ADC X X带进位加法INC X 指定的寄/内的内容加1AAA分离BCD码调正(AL)DAA组合BCD码调正(AL)SUB X X减法SBB X X带借位减法DEC X指定的寄/内的内容减1NEG X指定的寄/内的内容求补CMP X X 比较AAS分离BCD码调正(AL)DAS组合BCD码调正(AL)MUL 寄/内不带符号乘法IMUL 寄/内带符号整数乘法AAM 分离BCD码调正(AL)DIV 寄/内不带符号除法IDIV 寄/内带符号整数除法AAD非组合BCD码调正CBW扩展AL中的符号位到AHCWD扩展AX中的符号位到DX类型助记符目的源功能注释逻辑运算NOT X 对字或字节按位取反 1.2.3同上4.按位操作5.AND1不变(保持),AND0置0OR1置1,OR0不变(保持)自身与或,结果不变(保持),影响标志位, 自身XOR常用于清零XOR 1取反,XOR 0不变AND X X对字或字节按位与操作OR X X 对字或字节按位或操作XOR X X对字或字节按位异或操作TEST X X同AND,但结果仅影响标寄而不存目的操作数移位和循环移位SHL 寄/内 1/CL按位左移 CF←M←0 1.循环或移位的次数为1或CL中的数2.SHL一次,原数乘2SHR一次,原数除23.目的操作数不能是立既数SAL 寄/内 1/CL按位左移 CF←M←0SHR 寄/内 1/CL逻辑右移 0→M→CFSAR 寄/内 1/CL算术右移→M→CFROL 寄/内 1/CL循环左移 CF← ←M ←ROR 寄/内 1/CL循环右移 CF← →M →RCL 寄/内 1/CL带进位循环左移←CF←M←RCR 寄/内 1/CL带进位循环右移→CF→M→重复前缀REP重复后面字串指令,直到CX=0一般与字串指令联合使用REPE/REPZ当相等/为零时重复REPNE/REPNZ当不相等/不为零时重复MOVSB/MOVSW字符串传送 1.源串偏址在SI中,目的串偏址在DI中.2.每次自动修改SI,DI 内容3.装入和存储是对AX(AL)操作CMPSB/CMPSW字符串比较SCASB/SCASW字符串扫描LODSB/LODSW字符串装入STOSB/STOSW字符串存储转移JMP X无条件转移到指定内存地址操作数前可带NEAR或FAR前缀条件转移(无符号数)JA/JNBE X高于/不低于,不等于由比较和减法指令的结果JA/JNBE 表示二者等价JAE/JNB X大于等于/不低于JB/JNAE X低于/不高于,不等于TBE/JNA X低于等于/不高于条件转移(带符号数)JG/JNLE X大于/不小于等于JGE/JNL X大于等于/不小于JL/JNGE X小于/不大于不等于JLE/JNG X小于等于/不大于条件转移JE/JZ X等于/为零JNE/JNZ X不等于/不为零条件转移JC/JNC X有进位CF=1/无进位CF=0由影响标志位的操作结果JC/JNC表示二者是两个不同用法JO/JNO X有溢出OF=1/无溢出OF=0JP/JPE X奇偶性为偶PF=1JNP/JPO X奇偶性为奇PF=0JS/JNS X符号位为1/符号位为0FR15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0OF DF IF TF SF ZF AF PF CF 溢出方向符号零半进位奇偶进位类型助记符目的源功能注释LOOP X[CX]-1→[CX],[CX]≠0转移到X由CX决定循环次数循环LOOPZ/LOOPE X [CX]-1→[CX],[CX]≠0且ZF=1转移到X为零/相等时循环LOOPNZ/LOOPNE X[CX]-1→[CX],[CX]≠0且ZF=0转移到X非零/不相等时循环JCXZ X [CX]=0转移到X调用返回CALL 过程名调用指定地址开始的子程序对标寄无影响注意用堆栈保护断点RET子程返回RET XRETF标志操作CLC CF=0 (进位)STC CF=1CMC CF取反CLD DF=0 (方向)STD DF=1CLI IF=0 (中断)STI IF=1HLT暂停ESC交权INT 21H DOS功能调用AH=1键盘输入到AL,AH=2显示DL内容,AH=9显示DX为偏移量以$结尾的内存字串NOP空操作3个时钟伪指令功能特征符号 EQU 符号/表达式把右边的值赋予左边的符号1.不产生目标代码,不分配内存单元2.在同一源程序中同一符号不能用EQU重定义,可用=重定义符号=符号/表达式变量名 DB 表达式1,表达式2…. DWDD 定义字节(或字、双字)1.要求汇编分配内存单元,并把表达式1,表达式2…等存入2.为变量名分配这些内存单元的首字节地址段名SEGMENT [定位] [组合]['类别名'] :段名 ENDS 定义逻辑段定位隐含PARA,表示能被16整除ASSUME 段寄名:段名,段寄名:段名,….告诉汇编已定义的段与段寄的关系不产生目标代码,不分配内存单元,不为段寄存器存放段基值过程名 PROC [NEAR/FAR]:RET过程名 ENDP构造子程序最后语句RET不能少ORG 表达式定义下一个数据或指令的偏移量$表示偏移量的现行值宏名 MACRO 形参1,形参2,….ENDM宏定义宏名实参1,实参2,….宏调用一.指令由名字,操作码、操作数(地址)组成。

汇编语言指令集合 吐血整理

汇编语言指令集合 吐血整理

RET(return)
5.中断
INT(interrupt)指令
IRET(interrupt return)
INTO(interrupt if overflow)
六、处理机控制指令
1.标志处理指令
CLC(Clear carry)
CMC(Complement carry)
STC(Set carry)
CLD(Clear direction)
串比较指令
SCASB(Scan string of byte)
串搜索指令
SCASW(Scan string of word)
串搜索指令
STOSB(Store string of byte)
存串指令
STOSW(Store string of word)
存串指令
LODSB(Load string of byte)
ES(Extra Segment):附加段寄存器。
第一部分:指令助记符: 一、数据传送指令
1.通用数据传送指令 MOV(Move) PUSH(Push onto the stack) POP(Pop from the stack) XCHG(Exchange)
2.累加器专用传送指令 IN(Input) OUT(Output) XLAT(Translate)
REPE(Repeat when empty) 若(CX)=0,则退出,否则 CX=CX+1;
REPZ(Repeat when flag )
若 ZF=0,则退出,否则 CX=CX+1;
REPC(Repeat when carry flag)
REPNE(Repeat when not empty)
REPNZ(Repeat when not zero flag)

8086微处理器-指令系统思维导图,脑图

8086微处理器-指令系统思维导图,脑图

8086微处理器指令系统数据传送数据传送指令可完成寄存器与寄存器之间、寄存器与存储器之间以及寄存器与I/O 端口之间的字节或字传送,它们共同的特点是不影响标志寄存器的内容通用数据传送指令MOV 传送指令格式: MOV 目标,源指令功能:将源操作数(一个字节或一个字)传送到目标操作数。

源操作数可以是8/16位通用寄存器、段寄存器、存储器中的某个字节/字或者是8/16 位的立即数。

堆栈操作指令后进先出的规则存取信息堆栈指针信息存入堆栈时,堆栈指针将自动减量,并将信息存入堆栈指针所指出的存储单元当需要从堆栈中取出信息时,也将从堆栈指针所指出的存储单元读出信息,并自动将堆栈指针增量堆栈指针始终指向堆栈中最后存入信息的那个单元栈顶不断移动、动端堆栈区的另一端则是固定不变的栈底PUSH 入栈指令格式: PUSH 源指令功能:将源操作数压入堆栈。

源操作数可以是16 位通用寄存器、段寄存器或者是存储器中的数据字。

P38 例 2.12POP 出栈指令格式: POP 目标指令功能:将堆栈中当前栈顶和次栈顶中的数据字弹出送到目标操作数。

目标操作数可以是16 位通用寄存器、段寄存器或者是存储单元。

P39 例 2.13XCHG 交换指令1格式: XCHG 目标,源指令功能:将源操作数与目标操作数(一个字节或一个字)相互交换位置。

源操作数可以是通用寄存器或存储单元。

目标操作数只允许是通用寄存器。

P39 例 2. 14XLAT 换码指令2目标地址传送指令这是一类专用于传送地址码的指令,可用来传送操作数的段地址或偏移地址LEA 有效地址送寄存器指令格式: LEA 目标,源指令功能:将源操作数的有效地址EA 传送到目标操作数。

源操作数必须是存储器操作数。

目标操作数必须是16位通用寄存器。

LDS 指针送寄存器和DS指令格式: LDS 目标,源指令功能:从源操作数所指定的存储单元中取出某变扯的地址指针(共4 个字节),将其前两个字节(即变量的偏移地址)传送到目标操作数,后两个字节(即变量的段地址)传送到DS 段寄存器中。

8086,8088指令系统

8086,8088指令系统

Hex_table=1000H
Hex_table Hex_table+1 A Hex_table+2 S C I Hex_table+A I Hex_table+B 表 Hex_table+F

30H 31H 32H
60000H 61000H 61001H 61002H
A S C I I 表
DS:60000H BX: 1000H + AX: 000AH
DI ES
1234H 4000H
34H 12H 00H 40H
2130H 2132H
第4章 80x86指令系统
(四) 标志传送指令 1.取标志指令 将标志寄存器F的低字节传送到AH中。 指令格式: LAHF 2.置标志指令 将AH寄存器的内容传送到标志寄存器F的低字节。 通过AH对标志寄存器的SF、ZF、AF、PF、CF标志位 置位。 指令格式: SAHF AH FLAG OF DF IF TF SF ZF AF PF CF
× × × ○ × 1
× ○ ○ ○ ○ ○
在微处理器中,没有专用的BCD码运算指令, 使用二进制运算指令进行BCD码数的运算,然后用 BCD码运算调整指令进行调整,重新得到BCD码的 结果。
第4章 80x86指令系统
① ADD
dst, src (dst) ←(dst) +(src)
功能:源操作数和目的操作数相加,结果 送到目的操作数。 源操作数:通用寄存器、存储器、立即数 目的操作数:通用寄存器、存储器 提示:目的操作数不能为立即数,源操作 数和目的操作数不能同时为存储器。
第4章 80x86指令系统
4.1.3 8086/8088指令系统
8086/8088CPU指令系统包含有133条基本指 令。按其功能可以分为6类,它们是: ⑴ 数据传送类指令 ⑵ 算术运算类指令 ⑶ 逻辑运算与位移类指令 ⑷ 字符串指令 ⑸ 控制转移类指令 ⑹ 处理器控制类指令。

8086汇编语言指令表(按字母顺序)

8086汇编语言指令表(按字母顺序)
(2) 若(AL) and 0F0H>90H 或 CF=1,则(AL)<--(AL)+60H,CF<--1.
2. 示例: (AL)=18H,(BL)=06H
ADD AL,BL ; (AL)<--(AL)+(BL) ; (AL)=1EH
DAA ; (AL)
DAS
组合十进制减法调整指令 DAS(Decimal Adjust for Subtraction)
则(AL)<--(AL)-6,(AH)<--(AH)-1,CF<--AF,(AL)<--(AL) and 0FH,
否则(AL)<--(AL) and 0FH
ADC
带进位加法指令 ADC(Addition Carry)
格式: ADC OPRD1,OPRD2
功能: OPRD1<--OPRD1 + OPRD2 + CF
DAA
组合的十进制加法调整指令 DAA(Decimal Adjust for Addition)
格式: DAA
功能: 对AL中的两个组合进制数相加的结果进行调整,调整结果仍放在AL中,进位标志放在CF中.
说明:
1. 调整操作如下
(1) 若(AL) and 0FH>9 或 AF=1,则(AL)<--(AL)+6,AF<--1,对低四位的调整.
格式: DAS
功能: 对两个组合十进制数相减后存于AL中的结果进行调整,调整后产生一个组合的十进制数且仍存于AL中.
说明:
调整操作
若(AL) and 0FH > 9 或 AF=1,则(AL)<--(AL)-6,AF=1
若(AL) and 0F0H > 90H 或 CF=1,则(AL)<--(AL)-60,CF=1

四章节80868088指令系统

四章节80868088指令系统

... 20000H
运行PUSH BX后,SP=SP-2
3EH
3FH
堆栈在内存中的情况如右图所示: 40H
堆 2003EH 栈
段 2003FH
20040H
...
22
堆栈在内存中的情况
堆栈用途:
存放CPU寄存器或存储器中暂时不使用的数据, 使用数据时将其弹出;
调用子程序, 响应中断时都要用到堆栈。 调用子程序(或过程)或发生中断时要保护断点的地址, 子程序或中断返回时恢复断点。
输入指令用于CPU从外设端口接受数据, 输出指令用于CPU向外设端口发送数据。
无论接受还是发送数据,必须通过累加器AX(字)或AL(字节),
又称累加器专用传送指令 。
输入、输出指令不影响标志位。
30
每个外设要占几个端口:数据口,状态口和控制口。
DB
CPU
AB
译 码
CB
数据端口 状态端口 控制端口 I/O接口
四章节80868088指令系统
src , dest 源,目的操作数(下列寻址方式都可以用)
[BX+SI+n],[BX+DI+n],[BP+SI+n],[BP+DI+n]
[SI+n], [DI+n], [BP+n], [BX+n]
[N],
r
[] ES:[ ] OPRD Seg im
存储器单元的内容(正常在数据段) 附加存储器段的内容 操作数 段寄存器(CS,DS,ES,SS) 立即数 (n 8位, nn 16位, nnnn
存储单元之间不能直接传送
例: MOV MEM , AX MOV MEM ,DS MOV DISP[BX] ,CX

第3章 80868088指令系统3(算术运算指令)PPT课件

第3章 80868088指令系统3(算术运算指令)PPT课件

INC SI
;(SI)+1
DEC CX
;(CX)-1
JNZ LL
;若(CX)0,则转LL
思考:若最高位有进位,如何改?
11
ADD/ADC指令对条件标志位(CF/OF/ZF/SF)的影响:
SF=
1 结果为负 0 否则
ZF=
1 结果为0 0 否则
CF=
1 0
和的最高有效位有向高位的进位 否则
OF= 1 两个操作数符号相同,而结果符号与之相反
无符号数 有符号数
0000 1000
8
+8
+1111 1101 10000 0101
结果5
+253 261 CF=1
+(-3) +5
OF=0
③ 有符号数溢出
0000 1000
8
+8
+0111 1101 +125 +(+125)
1000 0101 133
+133
结果-123
CF=0
OF=1
(补码表示)
2
• 两个8位数相加时有4种情况:
无符号数范围0~255 带符号数范围-128~127 ①无符号数和有符号数均不溢出
二进制相加 0000 1000 +0001 1110 0010 0110
无符号数加 8
+ 30 38
有符号数加 +8
+ (+30) +38
结果38
CF=0
OF=0
3
② 无符号数溢出
作用类似于C语言中的”--”操作符。
格式:DEC opr 操作:opr←(opr)-1

80868088指令系统

80868088指令系统

80868088指令系统⽬录名称含义IM (Immediate)⽴即数REG (Register)寄存器操作数MEM (Memory)存储器操作数SEG (Segment)段寄存器(CS、DS、ES、SS)OPR (Operand)操作数OPS (Source Operand)源操作数OPD (Destination Operand)存储器操作数⼀、数据传送指令(⼀)通⽤数据传送指令(MOV、XCHG、PUSH、POP、PUSHA、POPA)1、通⽤数据传送指令:MOV指令格式:MOV OPD,OPS作⽤:将源操作数指定的内容传送到⽬的操作数,即 OPD<=(OPS),当指令执⾏完后,⽬的操作数原有的内容被源操作数内容覆盖,即⽬的操作数和源操作数具有相同内容注意事项:MOV指令可以是字节数据传送也可以是字数据传送,但是源操作数和⽬的操作数的长度必须⼀致⽴即数只能作源操作数,且不能传送给段寄存器段寄存器CS只能作源操作数,段寄存器之间不能直接传送存储单元之间不能直接传送数据MOV指令对标志寄存器的各位⽆影响(1)⽴即数传送到通⽤寄存器或存储单元⽴即数只能作为源操作数,⽴即数不能传送给段寄存器例:MOV AH,10HMOV AX, 2345HMOV M-BYTE, 64HMOV M-WORD,2364H(2)寄存器之间的传送段寄存器CS只能作源操作数,不能作⽬的操作数例:MOV AH,CHMOV DS, AXMOV ES, BXMOV AX,CSMOV CS, AX; 错误:段寄存器CS只能作源操作数,不能作⽬的操作数(3)寄存器与存储单元之间传送例:MOV AL,[SI]MOV [DI],AHMOV AX, 10[BX]MOV TABLE[BP], BXMOV DS, [SI][BX]MOV [BX], [BP][SI]; 错误:存储单元之间不能直接传送数据2、交换指令:XCHG指令格式:XCHG OPD,OPS作⽤:源操作数和⽬的操作数两者内容相互交换,即: (DEST)<=>(SRC)注意事项:数据交换可以在寄存器之间或寄存器与存储器单元之间进⾏数据交换不能在存储单元之间直接进⾏数据交换寄存器只能使⽤通⽤寄存器指令对标志寄存器各位⽆影响(1)寄存器之间数据交换例:XCHG AX,BXXCHG AH,CH例:两个存储单元(DA_BYTE1和DA_BYTE2)之间的数据交换可以使⽤以下三条指令来实现MOV AL,DA-BYTE1; AL <= (DA_BYTE1)XCHG AL,DA-BYTE2 ; (AL)<=>(DA-BYTE2)XCHG AL,DA-BYTE1 ; (AL)<=>(DA-BYTE1)或 MOV DA-BYTE1,AL; (DA_BYTE1)<=(AL)3、堆栈指令(1)进栈指令:PUSH指令格式:PUSH OPS作⽤:将寄存器、段寄存器或存储器中的⼀个字数据压⼊堆栈,堆栈指针减2即:(SP)-1 => SP 、(OPS)15⾄8 => ([SP])(SP)-1 => SP 、(OPS)7⾄0 => ([SP])注意事项:源操作数可以是CPU内部的16位通⽤寄存器、段寄存器和存储器操作数(所有寻址⽅式)进栈操作对象必须是16位数(2)出栈指令:POP指令格式:POP OPD作⽤:将栈顶数据弹出传送⾄某⼀寄存器、段寄存器(CS除外)或存储器,堆栈指针加2即:([SP]) => (OPD)7⾄0、(SP)+1 => SP([SP]) => (OPD)15⾄8、(SP)+1 => SP注意事项:CS段寄存器不可以存放⽬标操作数(3)所有寄存器进栈指令:PUSHA指令格式:PUSHA作⽤:16位通⽤寄存器依次进栈,次序为AX、CX、DX、BX,指令执⾏前的SP、BP、SI、DI。

第3章 80868088指令系统4(逻辑运算和移位指令、串操作指令)

第3章 80868088指令系统4(逻辑运算和移位指令、串操作指令)
3
是否都是1. 例3:测试 的bit7,bit5,bit2是否都是 . :测试AL的 是否都是 AND AL, 10100100B CMP AL, 10100100B JZ YES ; if match, go to YES … … ; if not match … … YES: … … ; goes here if all '1'
18
只需1 只需11个T周期,仅相当于乘法的1/7. 周期,仅相当于乘法的1
循环移位举例: 循环移位举例:
例1:将AL的高4位与低4位互换. AL的 互换. MOV CL,4 ROL AL,CL 例2:将1A00H内存单元中的双字(32位) 1A00H内存单元中的双字(32位 循环左移1 循环左移1位. CMP [1A00H],8000H CMC RCL WORD PTR[1A02H],1 RCL WORD PTR[1A00H],1
CL mem/reg, 1
Left) Right)
;移位位数>1时 ;移位位数=1时
12
移位指令执行的操作如下图所示: 移位指令执行的操作如下图所示: 执行的操作如下图所示
最高位 CF (a)算术/逻辑左移 SAL/SHL 最高位 CF 最低位 CF 0 (b)算术右移 SAR (c)逻辑右移 SHR
移位指令功能示意 移位指令
11
2.移位指令 (1)非循环移位指令
算术左移指令 SAL(Shift Arithmetic SAL( 算术右移指令 SAR(Shift Arithmetic SAR( 逻辑左移指令 SHL(Shift Left) SHL( 逻辑右移指令 SHR(Shift Right) SHR( 这4条指令的格式相同,以SAL为例: 条指令的格式相同, SAL为例: SAL

8086、8088 指令速查表

8086、8088 指令速查表

8086/8088 指令速查表约定:RR 表示通用寄存器和专用寄存器(AX,BX,CX,DX,BP,SP,SI,DI ),SER 表示段寄存器(CS,DS,ES,SS),MEM 表示内存单元的有效地址,[MEM]表示该单元的内容, AC 表示AX 和AL ,NN 表示立即数,NN 表示立即数, *表示对标志位有影响,F 表示标志寄存器:XXXXODITSZXAXPXCMOV X,Y X ←Y RR,SER,AC ←→[MEM],RR’; RR ,[MEM] ← NNPUSH Z Z=RR,[MEM],SERPOP ZPUSHFPOPFXCHG X,Y X ←→Y RR ←→ [MEM],RR’XLAT (OPR) AL ←[BX+AL]LEA RR,[MEM] RR ←MEMLDS RR,[MEM] RR ←[MEM],DS ←[MEM+2]LES RR,[MEM] RR ←[MEM],ES ←[MEM+2]LAHF AH ←F 低字节SAHF F 低字←AHADD X,Y X ←X+Y *ADC X,Y X ←X+Y+CF *SUB X,Y X ←X-Y *SBB X,Y X ←X-Y-CF *CMP X,Y X-Y *INC Z Z ←Z+1 Z=RR ,[MEM] * 不影响CFDEC Z Z ←Z-1 * 不影响CFNEG Z Z ←0-Z 求补 *MUL Z AX ←AL*Z (8位),DXAX ←AX*Z (16位),Z 同上,无符号数乘法,影响CF 和OFIMUL Z AX ←AL*Z ;DXAX ←AX*Z ;Z 同上;带符号数乘法,影响CF 和OFDIV Z AX/Z ,AH ←余数,AL ←商(16位/8位)DXAX/Z ,DX ←余数,AX ←商(32位/16位)IDIV Z 带符号数除法,操作同上DAA 加法后对AL 进行组合BCD 码调整 *DAS 减法后对AL 进行组合BCD 码调整 *AAA 加法后对AL 进行非组合BCD 码调整,AH ←AH+调整后的进位,CF=调整后的进位 * AAS 减法后对AL 进行非组合BCD 码调整,AH ←AH-调整后的借位 *AAM 将AL 中的积调整为非组合BCD 码, AH ←商(AL/0AH ),AL ←余数(AL/0AH ) *AAD 除法前的调整,A ←AL+AH*0AH ,AH ←0 *AND X,Y X ←X ∧Y *OR X,Y X ←X ∨Y *NOT Z Z ←/ZXOR X,Y X ←X Y *TEST X,Y X ∧Y *SHL Z,1(CL) 逻辑左移 *SAL Z,1(CL) 算术左移 *SHR Z,1(CL) 逻辑右移 *SAR Z,1(CL) 算术右移 *无符号数除法ROL Z,1(CL) 循环左移 影响CF 和OFROR Z,1(CL) 循环右移 影响CF 和OFRCL Z,1(CL) 带进位循环左移 影响CF 和OFRCR Z,1(CL) 带进位循环右移 影响CF 和OFMOVSB/MOVSW [ES:DI] ←[DS:SI],DF=0,DI 和SI 递增,否则递减,可加REP,CX ←CX-1,CX=0退出 STOSB/STOSW [ES:DI] ←AC, DF=0,DI 递增, 否则递减,可加REPLODSB/LODSW AC ←[DS:SI], DF=0,SI 递增, 否则递减,不加前缀CMPSB/CMPSW [DS:SI]-[ES:DI]比较, DF=0,DI 和SI 递增,否则递减,可加REPE/REPZ,REPNE/REPNZSCASB/SCASW AC-[ES :DI]比较,DF=0,DI 递增, 否则递减,可加REPE/REPZ,REPNE/REPNZ JMP W IP ←W ,W=NN ,RR ,[MEM]JMP NN1,NN2 CS ←NN1,IP ←NN2对无符号数JA/JNBE NN 高于/不低于也不等于 则转移 JAE/JNB NN 高于或等于/不低于 则转移 JB/JNAE NN 低于/不高于也不等于 则转移 JBE/JNA NN 低于或等于/不高于 则转移 对带符号数JG/JNLE NN 大于/不小于也不等于 则转移 JGE/JNL NN 大于或等于/不小于 则转移 JL/JNGE NN 小于/不大于也不等于 则转移 JLE/JNG NN 小于或等于/不大于 则转移 单标志JC NN CF=1 则转移 JNC NN CF=0 则转移 JZ/JE NN ZF=1, 则转移 JNZ/JNE NN ZF=0, 则转移 位条件转移JS NN SF=1, 则转移 JNS NN SF=0, 则转移 JO NN OF=1, 则转移 JNO NN OF=0, 则转移 JP/JO NN PF=1, 则转移 JNP/JNO NN PF=0, 则转移 循环控制LOOP NN CX ←CX-1,CX ≠0, 则转LOOPE/LOOPZ NN CX ←CX-1,ZF=1且CX ≠0 则转LOOPNE/LOOPNZ NN CX ←CX-1,ZF=0且CX ≠0 则转JCXZ NN CX=0,则转CALL W RET IRETINT TYPE CS 压栈,IP 压栈,CS ←[TYPE*4+2],IP ←[TYPE*4+4] INT0 OF=1,则CS 压栈,IP 压栈,CS ←[12H],IP ←[10H]CBW AL 符号扩展到AH CWD AX 符号扩展到DXCLC CF ←0 STC CF ←1CLD DF ←0 STD DF ←1CLI IF ←0 STI IF ←1CMC CF ←/CF NOP 空操作HLT 停机 WAIT 等待ESC 换码 LOCK 封锁IN AC, DX OUT DX,ACIN AC, PORT OUT PORT,AC。

第4章 8086-8088指令系统

第4章 8086-8088指令系统
20
8086/8088指令系统
【例】MOV AX,[BX]
若 ( DS)=2000H,(BX)=1000H, 物 理 地 址 = 20000H+1000H=21000H。指令执行前,(AX)= 2030H,(21000H)=0A0H,(21001H)=50H, 指 令 执 行 后 , ( AX)=50A0H,(21000H)=0A0H, (21001H)=50H。指令执行情况如下:
8086/8088的寻址方式是指在程序执行过程中,寻找 下一条指令的存放位置(指令寻址),以及在执行每条指 令时获得所需操作数(操作数寻址)的具体实现方法。 1. 指令寻址 通常情况下,由于指令序列在内存中顺序存放,指令寻址 只要通过对指令指针IP内容自动加1修改,便可获得下一 条指令的位置。 在遇到转移指令和调用指令时,需要按照转移目标位置修 改IP或CS:IP的内容。 指令寻址主要是指在执行转移或调用指令时,目的地址的 形成方式。另外,在执行中断服务程序时也需要根据中断 指针修改CS:IP的内容。
操作码 1234H 操作码 5678H 操作码
执行:1234H→AX 5678H→BX
(AX)+(BX)→AX 执行后:(AX)=68ACH,(BX)=5678H
14
8086/8088指令系统
3. 存储器寻址
如果操作数存放在存储器中,并位于数据段、堆 栈段或附加数据段时,指令中需要给出操作数所在单 元的地址信息。为了提高程序的灵活性,8086/8088 指令系统提供了多种存储器寻址方式:
立即数10
10
执行:10→AX
执行后:(AX)=000AH
11
8086/8088指令系统
2.寄存器寻址
寄存器寻址方式中,操作数位于指 令指明的寄存器中。

微机原理与接口技术指令记忆表

微机原理与接口技术指令记忆表

微机原理与接口技术——8086/8088指令记忆表寄存器:数据寄存器分为:AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.BH&BL=BX(base):基址寄存器,常用于地址索引;CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(l oop)和串处理指令中用作隐含的计数器.DH&DL=DX(data):数据寄存器,常用于数据传递。

他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。

这2组8位寄存器可以分别寻址,并单独使用。

另一组是指针寄存器和变址寄存器,包括:SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。

指令指针IP(Instruction Pointer)标志寄存器FR(Flag Register)OF(overflow flag) 溢出则=1DF(direction flag)CF(carrier flag) 第四位借第三位=1PF(parity flag)AF(auxiliary flag)ZF(zero flag) =0则=1SF(sign flag)IF(interrupt flag)TF(trap flag)段寄存器(Segment Register)为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。

第3章 8086(8088)CPU指令系统

第3章 8086(8088)CPU指令系统
11
第3章 8086/8088CPU指令系统
4.1.4 操作数寻址方式
3.存储器寻址(Memory Addressing)
4.1操作数寻址方式
存储器操作数的寻址方式中,数据都存放于存储单元中,指令操 作过程中需要BIU通过一个总线周期的访问,才能获取操作数。存储 器操作数的寻址方式是怎么计算出操作数的有效地址EA(Effective Address)。有效地址EA是三个地址量因子一个以上组合,由CPU执行 单元EU计算出来。
4.1操作数寻址方式
Relative -plus-Index Addressing)
有效地址是一个8/16位移量和一个基址与变址之和构成 EA=(BX/BP)+(SI/DI)+ DISP8/16
MOV AX,[BX+SI+10H] 操作如图所示
数据段 BX 20H 00H
3000H:0000H
注: ◆基址因子BP访问默认为堆栈段 ◆不能同时取两个基址因子;也不 能同时去两个变址因子
第3章 8086/8088CPU指令系统
3.1操作数寻址方式
3.2指令系统
1
第3章 8086/8088CPU指令系统
微机工作过程中其内部信息有两类: 一类是控制信息(指令); 一类是被加工处理的信息(数据)。
指令:微机中的控制信息就是使计算机进行某种 操作的命令,这些命令就称为指令。 指令系统:一台计算机所能执行的全部指令的集合称 为指令系统。不同的计算机其指令系统是不同的。
第3章 8086/8088CPU指令系统
4.1.4 操作数寻址方式
4.端口寻址(Port Addressing)
4.1操作数寻址方式
80X86系列CPU在访问外设时使用10根地址线A9-A0,其实际访问空 间为210=1K。根据通常书写习惯当高2为A9A8=00时,直接书写低8位, 可直接出现在指令格式中即端口的直接寻址;当A9A8≠00时,要按照 16为的数据书写,不能直接出现在指令格式中,要预先送到DX寄存器 中,即端口的间接寻址。 A 9 A 8 A7A6A5A4A3A2A1A0 0 0 X X X X X X X X 0 1 X X X X X X X X 1 0 X X X X X X X X 1 1 X X X X X X X X
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8086/8088指令系统记忆表来自: [已注销]2011-10-21 22:44:12在这之前,先说一下寄存器:数据寄存器分为:AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.BH&BL=BX(base):基址寄存器,常用于地址索引;CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.DH&DL=DX(data):数据寄存器,常用于数据传递。

他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。

这2组8位寄存器可以分别寻址,并单独使用。

另一组是指针寄存器和变址寄存器,包括:SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。

指令指针IP(Instruction Pointer)标志寄存器FR(Flag Register)OF(overflow flag)DF(direction flag)CF(carrier flag)PF(parity flag)AF(auxiliary flag)ZF(zero flag)SF(sign flag)IF(interrupt flag)TF(trap flag)段寄存器(Segment Register)为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。

第一部分:指令助记符:一、数据传送指令1.通用数据传送指令MOV(Move)传送PUSH(Push onto the stack)进栈POP(Pop from the stack)出栈XCHG(Exchange)交换2.累加器专用传送指令IN(Input) 输入OUT(Output) 输出XLAT(Translate) 换码3.有效地址送寄存器指令LEA(Load effective address) 有效地址送寄存器LDS(Load DS with Pointer) 指针送寄存器和DS LES(Load ES with Pointer) 指针送寄存器和ES 4.标志寄存器传送指令LAHF(Load AH with flags) 标志送AHSAHF(store AH into flags) AH送标志寄存器PUSHF(push the flags) 标志进栈POPF(pop the flags) 标志出栈二、算术指令1.加法指令ADD(add) 加法ADC(add with carry) 带进位加法INC(increment) 加12.减法指令SUB(subtract) 减法SBB(subtract with borrow) 带借位减法DEC(Decrement) 减1NEG(Negate) 求补CMP(Compare) 比较3.乘法指令MUL(Unsigned Multiple) 无符号数乘法IMUL(Signed Multiple) 带符号数乘法4.除法指令DIV(Unsigned divide) 无符号数除法IDIV(Signed divide) 带符号数除法CBW(Convert byte to word) 字节转换为字CWD(Contert word to double word) 字转换为双字三、逻辑指令1.逻辑运算指令AND(and) 逻辑与OR(or) 逻辑或NOT(not) 逻辑非XOR(exclusive or) 异或TEST(test) 测试2.移位指令SHL(shift logical left) 逻辑左移SAL(shift arithmetic left) 算术左移SHR(shift logical right) 逻辑右移SAR(shift arithmetic right) 算术右移ROL(Rotate left) 循环左移ROR(Rotate right) 循环右移RCL(Rotate left through carry) 带进位循环左移RCR(Rotate right through carry) 带进位循环右移四、串处理指令1.重复前端指令REP(Repeat) 重复串操作直到(CX)=0为上REPE(Repeat when empty) 若(CX)=0,则退出,否则CX=CX+1; REPZ(Repeat when flag ) 若ZF=0,则退出,否则CX=CX+1; REPC(Repeat when carry flag)REPNE(Repeat when not empty)REPNZ(Repeat when not zero flag)REPNC(Repeat when not carry flag)2.串操作指令MOVSB (Move string of byte) 串传送指令MOVSW(Move string of word) 串传送指令CMPSB(Compare string of byte) 串比较指令CMPSW(Compare string of word) 串比较指令SCASB(Scan string of byte) 串搜索指令SCASW(Scan string of word) 串搜索指令STOSB(Store string of byte) 存串指令STOSW(Store string of word) 存串指令LODSB(Load string of byte) 取串指令LODSW(Load string of word) 取串指令CLD(Clear direction flag)该指令使DF=0,在执行串操作指令时可使地址自动增量; STD(Set direction flag) 该指令使DF=1,在执行串操作指令时可使地址自动减量. DAA(Decimal adjust after addition) 组合BCD码的加法调整指令DAS(Decimal adjust after substract) 组合BCD码的减法调整指令AAA(ASCII adjust after addition) 非压缩BCD码加法调成指令AAS(ASCII adjust after substract) 非压缩BCD码减法调成指令AAM(ASCII adjust after multiple) 非压缩BCD码乘法调成指令AAD(ASCII adjust after divid) 非压缩BCD码除法调成指令五、控制转移指令1.无条件转移指令JMP(jmp) 跳转指令2.条件转移指令(1)根据单个条件标志的设置情况转移JZ(或JE)(Jump if zero,or equal) 结果为零(或相等)则转移JS(Jump if sign) 结果为负则转移JNS(Jump if not sign) 结果为正则转移JO(Jump if overflow) 溢出则转移JNO(Jump if not overflow) 不溢出则转移JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位为0则转移JP(或JPE)(Jump if parity,or parity even) 奇偶位为1则转移JB(或JNAE,JC)(Jump if below,or not above or equal,or carry)低于,或者不高于或等于,或进位位为1则转移JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry)不低于,或者高于或者等于,或进位位为0则转移(2)比较两个无符号数,并根据比较的结果转移JB(或JNAE,JC)JNB(或JAE,JNC)JBE(或JNA)(Jump if below or equal,or not above)低于或等于,或不高于则转移JNBE(或JA)(Jump if not below or equal,or above)不低于或等于,或者高于则转移(3)比较两个带符号数,并根据比较的结果转移JL(或LNGE)(Jump if less,or not greater or equal)小于,或者不大于或者等于则转移JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于则转移JLE(或JNG)(Jump if less or equal,or not greater)小于或等于,或者不大于则转移JNLE(或JG)(Jump if not less or equal,or greater)不小于或等于,或者大于则转移(4)测试CX的值为0则转移指令JCXZ(Jump if CX register is zero) CX寄存器3.循环指令LOOP(loop) 循环指令4.子程序CALL(call) 调用指令RET(return) 返回指令5.中断INT(interrupt)指令IRET(interrupt return) 从中断返回指令INTO(interrupt if overflow) 若溢出则中断六、处理机控制指令1.标志处理指令CLC(Clear carry) 进位位置0指令CF<-0CMC(Complement carry) 进位位求反指令CF<-CF STC(Set carry) 进位位置1指令CF<-1CLD(Clear direction) 方向标志置0指令DF<-0 STD(Set direction) 方向标志置1指令DF<-1CLI(Clear interrupt) 中断标志置0指令IF<-0STI(Set interrupt) 中断标志置1指令IF<-02.其他处理机控制指令NOP(No Opreation) 无操作HLT(Halt) 停机WAIT(Wait) 等待ESC(Escape) 换码LOCK(Lock) 封锁第二部分:伪指令1.符号定义伪指令:EQU. 2.数据定义伪指令:DB(Define Byte):定义字节DW(Define Word):定义字DD(Define Double):定义双字DUP(duplication) :重复;复制,复写3.过程定义伪指令:PROC(Process):4.定位伪指令:ORG(Origin ):.5.常数、变量及标号OFFSET(Offset):偏移量6.表达式和运算符:①算术运算符:SHL(shift logical left):逻辑左移SHR(shift logical right):逻辑右移②关系运算符:EQ(Equal):相等NE(Not Equal):不等于LT(Less Than):小于LE(Less Than or Equal):小于等于GT(Greater Than):大于GE(Greater Than or Equal)③取值运算符:SEG(Segment)OFFSET(Offset)④属性运算符:PTR(Pointer):指针。

相关文档
最新文档