文档介绍:指令系统:汇编指令系统
疯狂代码/ ĵ:http://assembler/
指令系统是CPU指令集合CPU除了具有计算功能指令外还有实现其它功能指令也有为某种特殊应用而增设指令
通常把指令按其功能分成以下几大类:
数据传送指令;
标志位操作指令;
算术运算指令;
逻辑运算指令;
移位操作指令;
位操作指令;
比较运算指令;
下面我们逐介绍每类指令中指令循环指令;
转移指令;
条件设置字节指令;
串操作指令;
ASCII-BCD码运算调整指令;
处理器指令;
;数据传送指令;
数据传送指令又分为:传送指令、交换指令、地址传送指令、堆栈操作指令、转换指令和I/O指令等
除了标志位操作指令SAHF和POPF指令外本类其它指令都不影响标志位
1、传送指令MOV(Move ;Instruction)
传送指令是使用最频繁指令它相对于高级语言里赋值语句指令格式如下:
MOV ; ;Reg/Mem, ;Reg/Mem/Imm
其中:Reg—Register(寄存器)Mem—Memory(存储器)Imm—Immediate(立即数)它们可以是8位、16位或
32位(特别指出其位数除外)在本网络课件网页中都将采用上述缩写此后不再介绍说明
指令功能是把源操作数(第 2操作数)值传给目操作数(第操作数)指令执行后目操作数值被改变而源操作数值不变
在存储单元是该指令个操作数时该操作数寻址方式可以是任意种存储单元寻址方式
下面列举几组正确指令例子:
源操作数是寄存器
MOV ; ;CH, ;ALMOV ; ;BP, ;SPMOV ; ;ECX, ;EBX
MOV ; ;DS, ;AXMOV ; ;[BX], ;CHMOV ; ;[BX+SI], ;AX
源操作数是存储单元
MOV ; ;AL, ;[100H]MOV ; ;BX, ;ES:[DI]MOV ; ;EDX, ;[BX]
MOV ; ;BX, ;VARWMOV ; ;AX, ;[BX+SI]MOV ; ;CH, ;[BX+DI+100H]
其中:VARW是字类型内存变量(下同)
源操作数是立即数
MOV ; ;AL, ;89HMOV ; ;BX, ;-100HMOV ; ;EDX, ;12345678H
MOV ; ;VARW, ;200HMOV ; ;[BX], ;2345HMOV ; ;[BX+DI], ;1234H
令不能实现传送方式
;MOV指令数据传送示意图
对MOV指令有以下几条具体规定其中有些规定对其它指令也同样有效
1)、两个操作数数据类型要相同要同为8位、16位或32位;如:MOV ; ;BL, ;AX等是不正确;
2)、两个操作数不能同时为段寄存器如:MOV ; ;ES, ;DS等;
3)、代码段寄存器CS不能为目操作数但可作为源操作数如:指令MOV ; ;CS, ;AX等不正确但指令MOV ; ;AX,
;CS等是正确;
4)、立即数不能直接传给段寄存器