汇编语言程序设计及上机指导 指令系统.pptx
《汇编语言程序设计及上机指导 指令系统.pptx》由会员分享,可在线阅读,更多相关《汇编语言程序设计及上机指导 指令系统.pptx(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回115 二月 202380X86指令集指令集8086指令集指令集Pentium X指令集指令集Core2指令集指令集oo指指指指令令令令系系系系统统统统是是是是C C C CPUPUPUPU所所所所能能能能执执执执行行行行的的的的各各各各种种种种指指指指令令令令的的的的集集集集合合合合,定定定定义义义义了了了了计计计计算算算算机机机机硬硬硬硬件件件件所所所所能能能能完完完完成成成成的的的的基基基基本本本本操操操操作作作作,不不不不同同同同的的的的C C C CPUPUPUPU有有有有不不不不同同同同的的的的指指指指令系统。令
2、系统。令系统。令系统。oo8 8 8 80 0 0 086/886/886/886/80 0 0 088C88C88C88CPUPUPUPU的的的的 指指指指 令令令令 系系系系 统统统统 是是是是 基基基基 本本本本 指指指指 令令令令 集集集集,8 8 8 80X0X0X0X86868686、PentiumXPentiumXPentiumXPentiumX以以以以及及及及C C C Coreoreoreore2 2 2 2系系系系列列列列的的的的指指指指令令令令系系系系统统统统保保保保留留留留了了了了基基基基本本本本指指指指令令令令集集集集,又进行了扩充。又进行了扩充。又进行了扩充。又进行
3、了扩充。4.1 指令系统概述指令系统概述 第第第第1 1页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回215 二月 2023oo8086/80888086/8088指令系指令系指令系指令系统统是基本指令集,指令是基本指令集,指令是基本指令集,指令是基本指令集,指令的的的的操作数操作数操作数操作数宽宽度是度是度是度是8 8位或位或位或位或1616位,偏移地址位,偏移地址位,偏移地址位,偏移地址宽宽度是度是度是度是1616位位位位。ooIA-32IA-32扩扩充指令和系充指令和系充指令和系充指令和系统统控制指令控制指令控制指令控制指令的的的
4、的操作数操作数操作数操作数宽宽度可以是度可以是度可以是度可以是8 8位、位、位、位、1616位或位或位或位或3232位,偏移地址位,偏移地址位,偏移地址位,偏移地址宽宽度一般是度一般是度一般是度一般是3232位位位位。oo6464位方式指令位方式指令位方式指令位方式指令的的的的操作数可以是操作数可以是操作数可以是操作数可以是8 8位、位、位、位、1616位、位、位、位、3232位或位或位或位或6464位,操作数位,操作数位,操作数位,操作数的的的的偏移地址可以是偏移地址可以是偏移地址可以是偏移地址可以是1616位、位、位、位、3232位或位或位或位或6464位位位位。oo指令系指令系指令系指令
5、系统统大体可以分成大体可以分成大体可以分成大体可以分成7 7个功能个功能个功能个功能组组:数据:数据:数据:数据传传送送送送类类、算、算、算、算术术运算运算运算运算类类、逻辑逻辑运算与移位运算与移位运算与移位运算与移位类类、串操作、串操作、串操作、串操作类类、控制、控制、控制、控制转转移移移移类类、处处理器控制和其他理器控制和其他理器控制和其他理器控制和其他类类。第第第第2 2页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回315 二月 2023符符 号号意意 义义OPROPRD D,OPROPRD DN N操作操作数数,第第N N个操作
6、个操作数数如如OPROPRD1D1、OPROPRD2D2、OPROPRD3D3等等DESDEST T,S SR RC C目的操作目的操作数数,源操作源操作数数R REG8EG88 8位通用寄存器位通用寄存器AHAH/ALAL/BHBH/BLBL/C/CH H/C/CL L/D/DH H/D/DL L/S/SILIL/D/DILIL/S/SPLPL/BPLBPL以及以及R R8 8LRLR1 15L5LR REG16EG161616位通用寄存器位通用寄存器AXAX/BXBX/C/CX X/D/DX X/S/SI I/D/DI I/BPBP/S/SP P以及以及R R8 8WRWR1 15W5WR
7、 REG32EG323232位通用寄存器位通用寄存器E EAXAX/E/EBXBX/EC/ECX X/ED/EDX X/ES/ESI I/ED/EDI I/E/EBPBP/ES/ESP P以及以及R R8D8DRR1 15 5D DR REG64EG646464位通用寄存器位通用寄存器RAXRAX/RBXRBX/R RC CX X/R RD DX X/R RS SI I/R RD DI I/RBPRBP/R RS SP P以及以及R R8 8RR1 15 5R REGEGR REG8/EG8/R REGEGL L6/6/R REG32/EG32/R REG64EG64SEGSEG段寄存器段寄存
8、器DS/CS/SS/ES/FS/GSDS/CS/SS/ES/FS/GSM ME EM M8/8/M ME EM M16/16/M ME EM M32/32/M ME EM M64648 8位位/16/16位位/32/32位位/64/64位位内内存存操作操作数数M ME EM MM ME EM M8/8/M ME EM M16/16/M ME EM M32/32/M ME EM M6464IMMIMM8/8/IMMIMM16/16/IMMIMM32/32/IMIMM M64648 8位位/16/16位位/32/32位位/64/64位立即数位立即数IMMIMMIMMIMM8/8/IMMIMM16/
9、16/IMMIMM32/32/IMMIMM6464第第第第3 3页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回415 二月 20234.2 数据传送类指令数据传送类指令指指指指 令令令令 书书书书 写写写写 格格格格 式式式式指指指指 令令令令 功功功功 能能能能MOV REG/MEM/SEGMOV REG/MEM/SEGMOV REG/MEM/SEGMOV REG/MEM/SEG,REG/MEM/SEG/IMMREG/MEM/SEG/IMMREG/MEM/SEG/IMMREG/MEM/SEG/IMMXCHG REG/MEMXCHG R
10、EG/MEMXCHG REG/MEMXCHG REG/MEM,REG/MEMREG/MEMREG/MEMREG/MEMXLATXLATXLATXLATBSWAP REG32BSWAP REG32BSWAP REG32BSWAP REG32从从从从SRCSRCSRCSRC传送到传送到传送到传送到DESTDESTDESTDEST交换两个操作交换两个操作交换两个操作交换两个操作数数数数的内容的内容的内容的内容字节翻译字节翻译字节翻译字节翻译字节交换指令字节交换指令字节交换指令字节交换指令(486(486(486(486新增新增新增新增)1.通用数据传送通用数据传送2.堆栈操作堆栈操作3.地址传送地址
11、传送4.标志位传送标志位传送5.I/O数据传送数据传送传送类指令执行后对标志位都没有影响(除传送类指令执行后对标志位都没有影响(除SAHF、POPF和和POPFD外)。外)。通用数据传送指令通用数据传送指令 第第第第4 4页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回515 二月 2023(1)MOV指令指令oo指令格式:指令格式:指令格式:指令格式:MOV OPRD1MOV OPRD1,OPRD2OPRD2oo功能:将源操作数功能:将源操作数功能:将源操作数功能:将源操作数传传送送送送给给目目目目标标操作数操作数操作数操作数【例例例例
12、】MOV AL MOV AL,BH BH ;通用寄存器之;通用寄存器之;通用寄存器之;通用寄存器之间传间传送字送字送字送字节节数据数据数据数据 MOV DSMOV DS,AX AX ;通用寄存器与段寄存器(;通用寄存器与段寄存器(;通用寄存器与段寄存器(;通用寄存器与段寄存器(CSCS不能是目不能是目不能是目不能是目标标)之)之)之)之间传间传送数据送数据送数据送数据 MOV EAXMOV EAX,12345678H 12345678H;立即数;立即数;立即数;立即数传传送到通用寄存器送到通用寄存器送到通用寄存器送到通用寄存器 MOV RAXMOV RAX,BUFFERBUFFER ;通用寄存
13、器与存;通用寄存器与存;通用寄存器与存;通用寄存器与存储储器之器之器之器之间间6464位数据位数据位数据位数据传传送送送送 MOV DATBP+DIMOV DATBP+DI,ES ES ;段寄存器与存;段寄存器与存;段寄存器与存;段寄存器与存储储器之器之器之器之间传间传送数据送数据送数据送数据第第第第5 5页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回615 二月 2023MOV指令操作数要求指令操作数要求 段寄存器段寄存器DS/CS/SS/ES/FS/GSDS/CS/SS/ES/FS/GS通用寄存器通用寄存器8 8位、位、1616位、
14、位、3232位、位、6464位位存储器存储器立即数立即数8 8位、位、1616位、位、3232位、位、6464位位注意:注意:注意:注意:立即数和段寄存器立即数和段寄存器立即数和段寄存器立即数和段寄存器CSCS不能作不能作不能作不能作为为目目目目标标操作数;操作数;操作数;操作数;立即数不能直接立即数不能直接立即数不能直接立即数不能直接传传送到段寄存器;送到段寄存器;送到段寄存器;送到段寄存器;两个存两个存两个存两个存储单储单元之元之元之元之间间不能直接不能直接不能直接不能直接传传送数据;送数据;送数据;送数据;两个段寄存器之两个段寄存器之两个段寄存器之两个段寄存器之间间不能直接不能直接不能直
15、接不能直接传传送数据;送数据;送数据;送数据;两个操作数两个操作数两个操作数两个操作数宽宽度必度必度必度必须须一致一致一致一致 。第第第第6 6页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回715 二月 2023(2)交换指令)交换指令XCHGoo指令格式:指令格式:指令格式:指令格式:XCHGXCHGOPRD1OPRD1,OPRD2OPRD2oo功能:将功能:将功能:将功能:将OPRD1OPRD1与与与与OPRD2OPRD2进进行交行交行交行交换换。二者都是源操作数也都是目二者都是源操作数也都是目二者都是源操作数也都是目二者都是源操作
16、数也都是目的的的的操作数操作数操作数操作数。操作数可以是寄存器或内存数操作数可以是寄存器或内存数操作数可以是寄存器或内存数操作数可以是寄存器或内存数变变量量量量。【例例例例】MOV MOVEAXEAX,12345678H 12345678H ;EAXEAX12345678H12345678H MOV MOVEBXEBX,56781234H 56781234H ;EBXEBX56781234H56781234H XCHG XCHGEAXEAX,EBX EBX ;交交交交换换后,后,后,后,EAXEAX56781234H56781234H,EBXEBX12345678H12345678H XCHG
17、 R8 XCHG R8,100 100 ;R8R8寄存器内容与内存寄存器内容与内存寄存器内容与内存寄存器内容与内存100100号地址号地址号地址号地址 中中中中的的的的6464位数据交位数据交位数据交位数据交换换 注意:注意:注意:注意:不能在两个存不能在两个存不能在两个存不能在两个存储单储单元之元之元之元之间间直接交直接交直接交直接交换换数据;数据;数据;数据;段寄存器和立即数不能作段寄存器和立即数不能作段寄存器和立即数不能作段寄存器和立即数不能作为为操作数操作数操作数操作数。第第第第7 7页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返
18、回815 二月 2023(3)查表转换指令)查表转换指令XLAToo指令格式:指令格式:指令格式:指令格式:XLAT XLAT oo功能:完成一个字功能:完成一个字功能:完成一个字功能:完成一个字节节的的的的查查表表表表转换转换,将数据段中偏移地址,将数据段中偏移地址,将数据段中偏移地址,将数据段中偏移地址为为BX/ebx/RBXBX/ebx/RBX与与与与ALAL寄存器之和寄存器之和寄存器之和寄存器之和的的的的存存存存储单储单元元元元的的的的内容送入内容送入内容送入内容送入ALAL寄存寄存寄存寄存器,即:器,即:器,即:器,即:BX+ALBX+ALALAL。例:若例:若例:若例:若(BX)=
19、0100H,(AL)=05H,(BX)=0100H,(AL)=05H,执执行行行行XLATXLAT指令后指令后指令后指令后,(AL)=2CH,(AL)=2CH。注意:注意:注意:注意:由于由于由于由于ALAL只有只有只有只有8 8位位位位,所以表所以表所以表所以表的的的的长长度不能超度不能超度不能超度不能超过过256256字字字字节节。第第第第8 8页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回915 二月 2023(4)字节交换指令)字节交换指令BSWAP 是是是是8048680486新增新增新增新增的的的的指令指令指令指令oo指令格
20、式:指令格式:指令格式:指令格式:BSWAPBSWAP reg32reg32oo功能:将功能:将功能:将功能:将3232位通用寄存器中位通用寄存器中位通用寄存器中位通用寄存器中的的的的双字以字双字以字双字以字双字以字节为单节为单位位位位进进行行行行高、低字高、低字高、低字高、低字节节交交交交换换,改,改,改,改变变双字数据双字数据双字数据双字数据的的的的存放方式存放方式存放方式存放方式。oo指令指令指令指令执执行行行行时时,字字字字节节0(b0b7)0(b0b7)与字与字与字与字节节3(b24b31)3(b24b31)交交交交换换,字字字字节节1(b8b15)1(b8b15)与字与字与字与字节
21、节2(b16b23)2(b16b23)交交交交换换。字节字节3 字节字节2 字节字节1 字节字节0第第第第9 9页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回1015 二月 2023堆栈操作指令堆栈操作指令指指指指 令令令令 书书书书 写写写写 格格格格 式式式式指指指指 令令令令 功功功功 能能能能PUSH REG/MEM/SEGPUSH REG/MEM/SEGPUSH REG/MEM/SEGPUSH REG/MEM/SEGPOP REG/MEM/SEGPOP REG/MEM/SEGPOP REG/MEM/SEGPOP REG/MEM
22、/SEGPUSH IMM PUSH IMM PUSH IMM PUSH IMM PUSHA PUSHA PUSHA PUSHA POPA POPA POPA POPA PUSHADPUSHADPUSHADPUSHADPOPAD POPAD POPAD POPAD 压入堆栈压入堆栈压入堆栈压入堆栈弹出堆栈弹出堆栈弹出堆栈弹出堆栈IMMIMMIMMIMM扩展为扩展为扩展为扩展为16/3216/3216/3216/32位位位位后进栈后进栈后进栈后进栈(286(286(286(286新增新增新增新增)8 8 8 8个个个个16161616位通用寄存器位通用寄存器位通用寄存器位通用寄存器进栈进栈进栈进栈
23、(286(286(286(286新增新增新增新增)8 8 8 8个个个个16161616位通用寄存器位通用寄存器位通用寄存器位通用寄存器出栈出栈出栈出栈(286(286(286(286新增新增新增新增)8 8 8 8个个个个32323232位通用寄存器位通用寄存器位通用寄存器位通用寄存器进栈进栈进栈进栈(386(386(386(386新增新增新增新增)8 8 8 8个个个个32323232位通用寄存器位通用寄存器位通用寄存器位通用寄存器出栈出栈出栈出栈(386(386(386(386新增新增新增新增)(1)PUSH/POP 堆栈是内存的一个数据区,是按照先进后出原则组织的一段内存区域,堆栈是内
24、存的一个数据区,是按照先进后出原则组织的一段内存区域,段寄存器段寄存器SS指向段基址,堆栈指针指向段基址,堆栈指针SP始终指向堆栈的顶部。始终指向堆栈的顶部。PUSH REG16/REG32/REG64/MEM16/MEM32/MEM64 POP REG16/REG32/REG64/MEM16/MEM32/MEM64第第第第1010页页页页/共共共共9090页页页页汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回1115 二月 2023ooPUSHPUSH指令:指令:指令:指令:SP-NSP-NSPSP;16/32/6416/32/64位位位位的的的的源操作数源操作数源操
25、作数源操作数压压入堆入堆入堆入堆栈栈 源操作数可以是通用寄存器、段寄存器和存源操作数可以是通用寄存器、段寄存器和存源操作数可以是通用寄存器、段寄存器和存源操作数可以是通用寄存器、段寄存器和存储储器,器,器,器,NN为为源操作数源操作数源操作数源操作数的的的的字字字字节节数数数数2 2或或或或4 4或或或或8 8。ooPOPPOP指令:指令:指令:指令:从从从从栈顶弹栈顶弹出操作数到目出操作数到目出操作数到目出操作数到目标标操作数;操作数;操作数;操作数;SP+NSP+NSPSP 目目目目标标操作数可以是通用寄存器、段寄存器(操作数可以是通用寄存器、段寄存器(操作数可以是通用寄存器、段寄存器(操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计及上机指导 指令系统 汇编语言 程序设计 上机 指导
限制150内