汇编语言程序设计及上机指导第4章指令系统.ppt
《汇编语言程序设计及上机指导第4章指令系统.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计及上机指导第4章指令系统.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023/4/251重点大学计算机专业系列教材重点大学计算机专业系列教材重点大学计算机专业系列教材重点大学计算机专业系列教材第第4 4章章 指令系统指令系统 【本章提要本章提要本章提要本章提要】本章重点讲述本章重点讲述本章重点讲述本章重点讲述IA-32IA-32IA-32IA-32系列系列系列系列CPUCPUCPUCPU的常用指令,和支持的常用指令,和支持的常用指令,和支持的常用指令,和支持EM64TEM64TEM64TEM64T技术的高级技术的高级技术的高级技术的高级Pentium4Pentium4Pentium4Pentium4以及以及以及以及CoreCoreCoreCore系列系列系列系
2、列CPUCPUCPUCPU的的的的Intel64Intel64Intel64Intel64指令指令指令指令系统。系统。系统。系统。【学习目标学习目标学习目标学习目标】熟练掌握汇编语言各种指令的功能和操作数熟练掌握汇编语言各种指令的功能和操作数熟练掌握汇编语言各种指令的功能和操作数熟练掌握汇编语言各种指令的功能和操作数在内存的存放规在内存的存放规在内存的存放规在内存的存放规 律律律律 掌握各种指令对操作数和寻址方式的特殊要掌握各种指令对操作数和寻址方式的特殊要掌握各种指令对操作数和寻址方式的特殊要掌握各种指令对操作数和寻址方式的特殊要求,明确不同指求,明确不同指求,明确不同指求,明确不同指 令对
3、标志寄存器的具体影响等方面令对标志寄存器的具体影响等方面令对标志寄存器的具体影响等方面令对标志寄存器的具体影响等方面 熟悉熟悉熟悉熟悉CPUCPUCPUCPU内部各寄存器的使用规则及其在指内部各寄存器的使用规则及其在指内部各寄存器的使用规则及其在指内部各寄存器的使用规则及其在指令执行过程中的令执行过程中的令执行过程中的令执行过程中的 隐含约定隐含约定隐含约定隐含约定2023/4/25汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回280X86指令集指令集8086指令集指令集Pentium X指令集指令集Core2指令集指令集oo指指指指令令令令系系系系统统统统是是是是CP
4、UCPUCPUCPU所所所所能能能能执执执执行行行行的的的的各各各各种种种种指指指指令令令令的的的的集集集集合合合合,定定定定义义义义了了了了计计计计算算算算机机机机硬硬硬硬件件件件所所所所能能能能完完完完成成成成的的的的基基基基本本本本操操操操作作作作,不不不不同同同同的的的的CPUCPUCPUCPU有有有有不不不不同同同同的的的的指令系统。指令系统。指令系统。指令系统。oo8086/8088CPU8086/8088CPU8086/8088CPU8086/8088CPU的的的的指指指指令令令令系系系系统统统统是是是是基基基基本本本本指指指指令令令令集集集集,80X8680X8680X8680
5、X86、PentiumXPentiumXPentiumXPentiumX以以以以及及及及Core2Core2Core2Core2系系系系列列列列的的的的指指指指令令令令系系系系统统统统保保保保留留留留了了了了基基基基本本本本指指指指令令令令集,又进行了扩充。集,又进行了扩充。集,又进行了扩充。集,又进行了扩充。4.1 4.1 指令系统概述指令系统概述 2023/4/25汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回3oo8086/80888086/80888086/80888086/8088指令系统是基本指令集,指令的操作数宽指令系统是基本指令集,指令的操作数宽指令系统
6、是基本指令集,指令的操作数宽指令系统是基本指令集,指令的操作数宽度是度是度是度是8 8 8 8位或位或位或位或16161616位,偏移地址宽度是位,偏移地址宽度是位,偏移地址宽度是位,偏移地址宽度是16161616位。位。位。位。ooIA-32IA-32IA-32IA-32扩充指令和系统控制指令的操作数宽度可以是扩充指令和系统控制指令的操作数宽度可以是扩充指令和系统控制指令的操作数宽度可以是扩充指令和系统控制指令的操作数宽度可以是8 8 8 8位、位、位、位、16161616位或位或位或位或32323232位,偏移地址宽度一般是位,偏移地址宽度一般是位,偏移地址宽度一般是位,偏移地址宽度一般是
7、32323232位。位。位。位。oo64646464位方式指令的操作数可以是位方式指令的操作数可以是位方式指令的操作数可以是位方式指令的操作数可以是8 8 8 8位、位、位、位、16161616位、位、位、位、32323232位或位或位或位或64646464位,操作数的偏移地址可以是位,操作数的偏移地址可以是位,操作数的偏移地址可以是位,操作数的偏移地址可以是16161616位、位、位、位、32323232位或位或位或位或64646464位。位。位。位。oo指令系统大体可以分成指令系统大体可以分成指令系统大体可以分成指令系统大体可以分成7 7 7 7个功能组:数据传送类、算术个功能组:数据传送
8、类、算术个功能组:数据传送类、算术个功能组:数据传送类、算术运算类、逻辑运算与移位类、串操作类、控制转移类、运算类、逻辑运算与移位类、串操作类、控制转移类、运算类、逻辑运算与移位类、串操作类、控制转移类、运算类、逻辑运算与移位类、串操作类、控制转移类、处理器控制和其他类。处理器控制和其他类。处理器控制和其他类。处理器控制和其他类。2023/4/25汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回4符符 号号意意 义义OPRDOPRD,OPRDNOPRDN操作数操作数,第第N N个操作数如个操作数如OPRD1OPRD1、OPRD2OPRD2、OPRD3OPRD3等等DEST
9、DEST,SRCSRC目的操作数目的操作数,源操作数源操作数REG8REG88 8位通用寄存器位通用寄存器AH/AL/BH/BL/CH/CL/DH/DL/SIL/DIL/SPL/BPLAH/AL/BH/BL/CH/CL/DH/DL/SIL/DIL/SPL/BPL以及以及R8LR15LR8LR15LREG16REG161616位通用寄存器位通用寄存器AX/BX/CX/DX/SI/DI/BP/SPAX/BX/CX/DX/SI/DI/BP/SP以及以及R8WR15WR8WR15WREG32REG323232位通用寄存器位通用寄存器EAX/EBX/ECX/EDX/ESI/EDI/EBP/ESPEAX/
10、EBX/ECX/EDX/ESI/EDI/EBP/ESP以及以及R8DR15DR8DR15DREG64REG646464位通用寄存器位通用寄存器RAX/RBX/RCX/RDX/RSI/RDI/RBP/RSPRAX/RBX/RCX/RDX/RSI/RDI/RBP/RSP以及以及R8R15R8R15REGREGREG8/REGL6/REG32/REG64REG8/REGL6/REG32/REG64SEGSEG段寄存器段寄存器DS/CS/SS/ES/FS/GSDS/CS/SS/ES/FS/GSMEM8/MEM16/MEMMEM8/MEM16/MEM32/MEM6432/MEM648 8位位/16/16
11、位位/32/32位位/64/64位内存操作数位内存操作数MEMMEMMEM8/MEM16/MEM32/MEM64MEM8/MEM16/MEM32/MEM64IMM8/IMM16/IMMIMM8/IMM16/IMM32/IMM6432/IMM648 8位位/16/16位位/32/32位位/64/64位立即数位立即数IMMIMMIMM8/IMM16/IMM32/IMM64IMM8/IMM16/IMM32/IMM642023/4/25汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回54.2 4.2 数据传送类指令数据传送类指令指指指指 令令令令 书书书书 写写写写 格格格格 式
12、式式式指指指指 令令令令 功功功功 能能能能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 REG/MEMXCHG REG/MEMXCHG REG/MEM,REG/MEMREG/MEMREG/MEMREG/MEMXLATXLATXLATXLATBSWAP REG32BSWAP REG32BSWAP REG32BSWAP REG32从从从从SRCSRCSRCSRC传传传传
13、送到送到送到送到DESTDESTDESTDEST交交交交换换换换两个操作数的内容两个操作数的内容两个操作数的内容两个操作数的内容字字字字节节节节翻翻翻翻译译译译字字字字节节节节交交交交换换换换指令指令指令指令(486(486(486(486新增新增新增新增)1.通用数据传送通用数据传送2.堆栈操作堆栈操作3.地址传送地址传送4.标志位传送标志位传送5.I/O数据传送数据传送传送类指令执行后对标志位都没有影响(除传送类指令执行后对标志位都没有影响(除SAHF、POPF和和POPFD外)。外)。4.2.1 通用数据传送指令通用数据传送指令 2023/4/25汇汇编编语语言言程程序序设设计计及及上上
14、机机指指导导第第4章章返回返回6(1 1)MOVMOV指令指令oo指令格式:指令格式:指令格式:指令格式:MOV OPRD1MOV OPRD1MOV OPRD1MOV OPRD1,OPRD2OPRD2OPRD2OPRD2oo功能:将源操作数传送给目标操作数功能:将源操作数传送给目标操作数功能:将源操作数传送给目标操作数功能:将源操作数传送给目标操作数【例例例例】MOV AL MOV AL MOV AL MOV AL,BH BH BH BH ;通用寄存器之间传送字节数据;通用寄存器之间传送字节数据;通用寄存器之间传送字节数据;通用寄存器之间传送字节数据 MOV DSMOV DSMOV DSMOV
15、 DS,AX AX AX AX ;通用寄存器与段寄存器(;通用寄存器与段寄存器(;通用寄存器与段寄存器(;通用寄存器与段寄存器(CSCSCSCS不能是目标)之间传送数据不能是目标)之间传送数据不能是目标)之间传送数据不能是目标)之间传送数据 MOV EAXMOV EAXMOV EAXMOV EAX,12345678H 12345678H 12345678H 12345678H;立即数传送到通用寄存器;立即数传送到通用寄存器;立即数传送到通用寄存器;立即数传送到通用寄存器 MOV RAXMOV RAXMOV RAXMOV RAX,BUFFERBUFFERBUFFERBUFFER ;通用寄存器与存
16、储器之间;通用寄存器与存储器之间;通用寄存器与存储器之间;通用寄存器与存储器之间64646464位数据传送位数据传送位数据传送位数据传送 MOV DATBP+DIMOV DATBP+DIMOV DATBP+DIMOV DATBP+DI,ES ES ES ES ;段寄存器与存储器之间传送数据;段寄存器与存储器之间传送数据;段寄存器与存储器之间传送数据;段寄存器与存储器之间传送数据2023/4/25汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回7MOVMOV指令操作数要求指令操作数要求 段寄存器段寄存器DS/CS/SS/ES/FS/GSDS/CS/SS/ES/FS/GS通用
17、寄存器通用寄存器8 8位、位、1616位、位、3232位、位、6464位位存储器存储器立即数立即数8 8位、位、1616位、位、3232位、位、6464位位注意:注意:注意:注意:立即数和段寄存器立即数和段寄存器立即数和段寄存器立即数和段寄存器CSCSCSCS不能作为目标操作数;不能作为目标操作数;不能作为目标操作数;不能作为目标操作数;立即数不能直接传送到段寄存器;立即数不能直接传送到段寄存器;立即数不能直接传送到段寄存器;立即数不能直接传送到段寄存器;两个存储单元之间不能直接传送数据;两个存储单元之间不能直接传送数据;两个存储单元之间不能直接传送数据;两个存储单元之间不能直接传送数据;两个
18、段寄存器之间不能直接传送数据;两个段寄存器之间不能直接传送数据;两个段寄存器之间不能直接传送数据;两个段寄存器之间不能直接传送数据;两个操作数宽度必须一致两个操作数宽度必须一致两个操作数宽度必须一致两个操作数宽度必须一致 。2023/4/25汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回8(2 2)交换指令)交换指令XCHGXCHGoo指令格式:指令格式:指令格式:指令格式:XCHGXCHGXCHGXCHGOPRD1OPRD1OPRD1OPRD1,OPRD2OPRD2OPRD2OPRD2oo功能:将功能:将功能:将功能:将OPRD1OPRD1OPRD1OPRD1与与与与
19、OPRD2OPRD2OPRD2OPRD2进行交换。进行交换。进行交换。进行交换。二者都是源操作数也都是目二者都是源操作数也都是目二者都是源操作数也都是目二者都是源操作数也都是目的操作数的操作数的操作数的操作数。操作数可以是寄存器或内存数变量。操作数可以是寄存器或内存数变量。操作数可以是寄存器或内存数变量。操作数可以是寄存器或内存数变量。【例例例例】MOV MOV MOV MOVEAXEAXEAXEAX,12345678H 12345678H 12345678H 12345678H ;EAXEAXEAXEAX12345678H12345678H12345678H12345678H MOV MOV
20、 MOV MOVEBXEBXEBXEBX,56781234H 56781234H 56781234H 56781234H ;EBXEBXEBXEBX56781234H56781234H56781234H56781234H XCHG XCHG XCHG XCHGEAXEAXEAXEAX,EBX EBX EBX EBX ;交换后,交换后,交换后,交换后,EAXEAXEAXEAX56781234H56781234H56781234H56781234H,EBXEBXEBXEBX12345678H12345678H12345678H12345678H XCHG R8 XCHG R8 XCHG R8 XC
21、HG R8,100 100 100 100 ;R8R8R8R8寄存器内容与内存寄存器内容与内存寄存器内容与内存寄存器内容与内存100100100100号地址号地址号地址号地址 中的中的中的中的64646464位数据交换位数据交换位数据交换位数据交换 注意:注意:注意:注意:不能在两个存储单元之间直接交换数据;不能在两个存储单元之间直接交换数据;不能在两个存储单元之间直接交换数据;不能在两个存储单元之间直接交换数据;段寄存器和立即数不能作为操作数。段寄存器和立即数不能作为操作数。段寄存器和立即数不能作为操作数。段寄存器和立即数不能作为操作数。2023/4/25汇汇编编语语言言程程序序设设计计及及
22、上上机机指指导导第第4章章返回返回9(3 3)查表转换指令)查表转换指令XLATXLAToo指令格式:指令格式:指令格式:指令格式:XLAT XLAT XLAT XLAT oo功能:完成一个字节的查表转换,将数据段中偏移地址为功能:完成一个字节的查表转换,将数据段中偏移地址为功能:完成一个字节的查表转换,将数据段中偏移地址为功能:完成一个字节的查表转换,将数据段中偏移地址为BX/ebx/RBXBX/ebx/RBXBX/ebx/RBXBX/ebx/RBX与与与与ALALALAL寄存器之和的存储单元的内容送入寄存器之和的存储单元的内容送入寄存器之和的存储单元的内容送入寄存器之和的存储单元的内容送入
23、ALALALAL寄存器,寄存器,寄存器,寄存器,即:即:即:即:BX+ALBX+ALBX+ALBX+ALALALALAL。例:若例:若例:若例:若(BX)=0100H,(AL)=05H,(BX)=0100H,(AL)=05H,(BX)=0100H,(AL)=05H,(BX)=0100H,(AL)=05H,执行执行执行执行XLATXLATXLATXLAT指令后指令后指令后指令后,(AL)=2CH,(AL)=2CH,(AL)=2CH,(AL)=2CH。注意:注意:注意:注意:由于由于由于由于ALALALAL只有只有只有只有8 8 8 8位位位位,所以表的长度不能超过所以表的长度不能超过所以表的长度
24、不能超过所以表的长度不能超过256256256256字节。字节。字节。字节。2023/4/25汇汇编编语语言言程程序序设设计计及及上上机机指指导导第第4章章返回返回10(4 4)字节交换指令)字节交换指令BSWAPBSWAP 是是是是80486804868048680486新增的指令新增的指令新增的指令新增的指令oo指令格式:指令格式:指令格式:指令格式:BSWAPBSWAPBSWAPBSWAPreg32reg32reg32reg32oo功能:将功能:将功能:将功能:将32323232位通用寄存器中的双字以字节为单位进行位通用寄存器中的双字以字节为单位进行位通用寄存器中的双字以字节为单位进行位
25、通用寄存器中的双字以字节为单位进行高、低字节交换,改变双字数据的存放方式。高、低字节交换,改变双字数据的存放方式。高、低字节交换,改变双字数据的存放方式。高、低字节交换,改变双字数据的存放方式。oo指令执行时,指令执行时,指令执行时,指令执行时,字节字节字节字节0(b0b7)0(b0b7)0(b0b7)0(b0b7)与字节与字节与字节与字节3(b24b31)3(b24b31)3(b24b31)3(b24b31)交换,交换,交换,交换,字节字节字节字节1(b8b15)1(b8b15)1(b8b15)1(b8b15)与字节与字节与字节与字节2(b16b23)2(b16b23)2(b16b23)2(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 上机 指导 指令系统
限制150内