资源描述:
《【精品】汇编语言基础--8086汇编指令.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、微处理器指令系统概述:一台计算机所能识别和执行的全部指令,称为该机器的指令系统,又称指令集。一般指令分为:“告诉计算机干什么”的指令操作助记符,“指令操作对象”即操作数。寻址方式概述:指定操作数或操作数存放位置的方法称为寻址方式。8086的寻址方式有三类:立即寻址、寄存器寻址和存储器寻址;其屮存储器寻址又分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址加变址寻址五种。立即寻址:操作数宜接写在指令屮的寻址方式,因为这种操作数称为立即数,所以这种寻址方式也称为立即数寻址方式。立即数可以使8位
2、;16位;32位;例如:MOVAX,6789HADDAXJ234H寄存器寻址:指令所要的操作数事先已存储在某寄存器屮,或把目标操作数存入寄存器屮,或者源操作数和目标操作数都是寄存器。例如:MOVAX,BXMOVAX,6789H(源操作数是立即数寻址,目的操作数是寄存器寻址)存储器寻址:在存储器中查找操作数。1•育接寻址方式:指令所要的操作数存放在内存屮,在指令屮直接给出操作数的段地址和有效地址,从而使8086的BIU部件能够利用地址加法器得到实际物理地址。例如:MOVAX,DS:[2000H](mov默认DS
3、为存放数据的段,所以这个指令等价于MOVAXJ2000H])MOVAX,ES:[2000H]2•寄存器河接寻址方式:操作数在存储器屮,操作数的有效地址用SI,DI,BX,BP4个集训期Z—来指定。若不使用段前缀,则规定若有效地址用SI,DI,BX等Z—来指定,贝I」默认的段寄存器是DS,若有效地址用BP来指定,则其默认的段寄存器位SS。例如:MOVBX,[DI]3•寄存器相对寻址方式:操作数的行效地址是一个基址寄存器(BX,BP)或变址寄存器(SI、DI)的内容和指令屮的"16位偏移量Z和。例如:MOVBXJ
4、SI+100H14•基址加变址寻址方式:操作数有效地址是一个基址寄存器(BX,BP)和一个变址寄存器(SI,DI)的内容Z和。(不要混淆基址寄存器和变址寄存器)例如:MOVBX,[BX,DI]5•相对基址加变址寻址方式:操作数有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令屮的8/16位偏移量之和。例如:MOVAX,[BX+DI+1234H]32位地址的寻址方式在用16位寄存器来访问存储单元吋,只能使用基地址寄存器(I3X和BP)和变址寄存器(SI和DI)来作为地址偏移量的一
5、部分,但在32位寄存器寻址时,不存在上述限制,所有32位寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP)都可以是地址偏移量的一个组成部分。8086指令概述:指令系统确定了CPU所能完成的功能,是用汇编语言进行稈序设计的最基木部分。分类:数据传送指令,标志位操作指令,算术运算指令,逻辑运算指令,移位操作指令,比较运算指令,循环指令,转移指令,条件设置字节指令,字符串操作指令,ASCII-BCD码运算调整指令,处理器指令。基木格式:指令助记符[操作数1[,操作数2[,操作数3]]](指令助
6、记符体现该指令的功能,它对应一条二进制编码的机器指令)。数据传送指令:1・MOV:传送指令,这退使用最频繁的指令,它相对于高级语言的赋值语旬。格式:MOVReg/Mem,Reg/Mem/Imm(Reg…Register寄存器,Mem…Memory存储器,Imm…Immediate立即数)使用规定:1•两个操作数的数据类型要相同;2•两个操作数不能同时为段寄存器;3•代码段寄存器CS不能为日的操作数,但可作为源操作数;4•立即数不能直接传给段寄存器;5•立即数不能作为目的操作数;6•指令指针1P,不能作为MOV
7、指令的操作数;7•两个操作数不能同时为存储单元。2・XCHG:交换指令,是两个寄存髀之间,寄存器和内存变量Z问进行数据交换的指令,两个操作数的数据类型要相同。格式:XCHGReg/Mem,Reg/Mem3-LEA:取有效地址指令,是把一个内存变量的有效地址送给指定的寄存器。格式:LEAReg,Mem4・LDS/LES/LFS/LGS/LSS:装载段寄存器指令,把内存屮地址的“低字”传送给指令中指定的16位寄存器,把随后的“高字”传给相应的寄存器(DS、ES、FS、GS、SS):格式:LDS/LES/LFS/L
8、GS/LSSReg,Mem5-PUSH/POP:堆栈操作指令,堆栈是一个重要的数据结构,具有“先进后出”的特点,通常用来保存程序的返冋地址。PUSH:进栈指令;格式:PUSHReg/MemPOP:出栈指令格式:POPReg/Mem6・标志寄存器传送指令A・LAHF:标志送AH指令,FLAGS的低8位送AH。格式:LAHFB・SAHF:AH送标志寄存器指令,AH值送FLAGS的低8位格式:SAHFC・