江苏计算机三级偏软知识点概括

上传人:g**** 文档编号:49007913 上传时间:2018-07-22 格式:PPT 页数:34 大小:455.50KB
返回 下载 相关 举报
江苏计算机三级偏软知识点概括_第1页
第1页 / 共34页
江苏计算机三级偏软知识点概括_第2页
第2页 / 共34页
江苏计算机三级偏软知识点概括_第3页
第3页 / 共34页
江苏计算机三级偏软知识点概括_第4页
第4页 / 共34页
江苏计算机三级偏软知识点概括_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《江苏计算机三级偏软知识点概括》由会员分享,可在线阅读,更多相关《江苏计算机三级偏软知识点概括(34页珍藏版)》请在金锄头文库上搜索。

1、 第2章 指令系统2.1 寻址方式2.1.1 指令格式及操作数类型1指令格式一般汇编指令格式如下:指令助记符 操作数1 ,操作数2;注释 2操作数类型8086/8088系统中的操作数可以分为: (1)立即数操作数 (2)寄存器操作数 (3)存储器操作数2.1.2 8086/8088的寻址方式1立即寻址当需要的操作数为常数时,操作数可以在指令中直接给出, 这种寻址方式称为立即寻址方式。 2寄存器寻址当指令所需要的操作数在寄存器中时,在指令中指出需访问 的寄存器名字即可,这种寻址方式称为寄存器寻址。 其寻址方式如图2-1所示。 3直接寻址在这种寻址方式中,操作数在内存 单元中,并且在指令中直接给出

2、这一 单元的逻辑地址。 例:MOV AX,DS:100H设DS2000H,寻址过程如图2-2所示。图2-1 寄存器寻址5变址寻址变址寻址基本上同寄存器间接寻址,只是逻辑地址中偏移量 的给出方式不同:且在指令中按 如下方式给出 这一单元的逻 辑地址:图2-2 直接寻址4寄存器间接寻址在这种寻址方式中, 操作数在内存单元中,并段基址:段基址的给出同直接寻址。 偏称量:以寄存器SI、DI、BP、BX之一的内容作为偏称量。偏移量表达式由寄存器BX、BP、SI、DI之一和一常数共 同构成。以这二者之和作为被寻址内存单元的偏移量。6基址加变址寻址基址加变址寻址中, 操作数在内存中,且按以 下方式给出其逻辑

3、地址: 段基址:同直接寻址 。偏移量:由一个常 数 “BX、BP之一的内 容”“SI、DI之一的内容”三者之和作为偏移量。 例:MOV AL,ES:10HBXSI设ES3000H, BX1000H,SI200H,寻址过程如图2-3所示。图2-3 基址加变址寻址2.2 8086/8088指令系统2.2.1 数据传送指令1通用数据传送指令MOV格式:MOV OPD,OPS功能:OPD是目的操作数,OPS是源操作数,该指令的功能是将源操作数送至目的操作数中,即OPSOPD。允许的操作数组合:OPS可为:立即数、通用寄存器、存储器、段寄存器。OPD可为:通用寄存器、存储器、段寄存器OPS和OPD可以有

4、9种组合,如图2-4所示:(1)通用寄存器到通用寄存器如:MOV AX,BX ; (2)立即数到通用寄存器如:MOV AX,03H; (3)立即数到存储单元如:MOV BYTE PTR 2000H,12H (4)存储单元到通用寄存器如:MOV AX,2000H ; (5)通用寄存器到存储单元如:MOV 2000H,AX ; 图2-4 MOV指令传送示意图 (6)通用寄存器到除CS外的段寄存器如:MOV DS,AX ;。 (7)段寄存器到通用寄存器如:MOV AX,DS ; (8)存储器到除CS外的段寄存器如:MOV ES,2000H ; (9)段寄存器到存储器如:MOV 2000H,DS ;

5、2堆栈及堆栈操作指令 (1)堆栈的概念堆栈是内存的一个逻辑段,当这个段被指定为堆栈后,可 用堆栈操作指令对它进行特殊规则的访问,这个规则就是: 不论入栈还是出栈,都只能从栈顶处进行,堆栈内数据遵 循先进后出,后进先出的原则。 (2)堆栈的设置8086/8088中专门有2个寄存器用于堆栈操作:堆栈段寄存 器SS和堆栈指针寄存器SP。SS用来存放堆栈段的段基址,SP用于指示堆栈的顶部单 元的段内偏移量,开始时堆栈内没有数据,栈顶就是栈底, 故开始时要将栈底单元的偏移量赋给它,以指明栈低位置。 (3)堆栈操作指令入栈指令PUSH 格式:PUSH OPS功能:将操作数OPS的内容压入堆栈中。允许的操作

6、数:OPS可以是通用寄存器,段寄存器或存储 器,必须为字操作数。操作过程:SPSP1,OPS的高字节栈顶单元;再次SPSP1,OPS的低字节栈顶单元。例如:PUSH AX执行前:AX1234H,SP2000H。堆栈情况如图2-5(a),执行后:(1FFEH)1B5DH,AX的内容不变。堆栈情况如图2 5(b)所示。出栈指令POP格式:POP OPS功能:将堆栈栈顶 内容弹出到操作数OPS 中。允许的操作数组合 : OPS可以是通用寄 存器,段寄存器(CS除 外)或存储器,必须为 字操作数。 操作过程:OPS的低字节栈顶单元,SPSP1;OPS的高字节栈顶单元,再次SPSP1。 例如:POP A

7、X 执行前:AX1234H,堆栈情况如图25(b)所示。 执行后:AX1B5DH,堆栈情况如图25(a)所示。图2-5堆栈操作命令示意图3交换指令XCHG 格式:XCHG OPD,OPS 功能:将两个操作数OPD与OPS的内容 互换.允许的操作数组合:交换可以在通用寄存器之间或通用寄存 器与存储器之间进行,OPD与OPS可以同时是字节或字操作数。 4有效地址传送指令LEA格式:LEA OPD,OPS功能:该指令把源操作数的偏移地址送到目的操作数中。允许的操作数组合:OPD可以为任一16位通用寄存器,OPS 可以是地址表达式。2.2.2 算术运算指令 1加法指令 (1)二进制加法指令ADD格式:

8、ADD OPD,OPS功能:OPDOPDOPS,ADD指令可以实现8位数或16位数的加法,允许OPD与OPS同时为字节或字操作数。允许的操作数组合:源操作数可以是通用寄存器、存储器 中或立即数;目的操作数可以是:通用寄存器或存储器。 OPD与OPS允许的组合有5种,如图2-7所示。(2)带进位加法指令ADC格式:ADC OPD,OPS功能:OPDOPDOPSCF图2-7 ADD指令操作数组合 (3)加1指令INC格式:INC OPD功能:OPDOPD1。允许的操作数:OPD可以是通用寄存器,存储器,字,字节操作数. 2减法指令 (1)二进制减法指令SUB格式:SUB OPD,OPS功能:OPD

9、OPDOPS。SUB指令可以实现8位数或16位数的减法,允许OPD与OPS同时 为字节或字操作数。 (2)带借位减法指令SBB格式:SBB OPD,OPS 功能:OPDOPDOPSCF。 (3)减1指令DEC格式:DEC OPD功能:OPDOPD1. (4)比较指令CMP格式:CMP OPD,OPS功能:OPDOPS,但不保存运算的结果只是根据结果设置状态标志位。 (5)求补指令NEG格式:NEG OPD功能:OPD0OPD.允许的操作数:同INC指令 3乘法指令 (1)无符号数乘法指令MUL格式:MUL OPS功能:实现二个无符号数的二进制乘法,可以为字或字节乘法,由乘数OPS决定。若OPS

10、为字节操作数,则为字节乘法,被乘数隐含为AL,乘 积为16位数,放在AX中,即实现的操作为:AXALOPS。若OPS为字操作数,则为字乘法,被乘数隐含为AX,乘积为 32位数,高16位放在DX中,低16位放在AX中,即实现的操作 为:DX:AXAXOPS。 允许的操作数:OPS可以是通用寄存器或存储器但不能是立即 数.OPS以及隐含的被乘数都必须是无符号数。 (2)有符号数乘法指令IMUL格式:IMUL OPS功能:字节操作:AXALOPS字操作:DX:AXAXOPS 4除法指令 (1)无符号数除法指令DIV格式:DIV OPS功能:实现两个无符号数二进制数除法,可以为字或字节除法,由除数OP

11、S决定。若OPS为字节操作数,则实现操作为: ALAX/(OPS)的商 ; AHAX/(OPS)的余数 若OPS为字操作数,则实现操作为:AX(DX:AX)/(OPS)的商; DX(DX:AX)/(OPS)的余数允许的操作数:可是通用寄存器或存储器,但不能是立即数 。OPS以及隐含的被除数都必须是无符号数。 (2)有符号数除法指令IDIV格式:IDIV OPS功能:字节操作:ALAX/(OPS)的商,AHAX/(OPS)的余数字操作:AX(DX:AX)/(OPS)的商,DX(DX:AX)/(OPS)的余数5符号扩展指令由于字节除法要求被除数为16位,字除法要求被除数为32 位,当被除数为8位或

12、16位时,必须将其变为等值的16位或32位 形式.8086/8088中专门提供了符号扩展指令以方便这种操作 。 (1)字节扩展为字指令CBW 格式:CBW功能:把AL中的符号位扩展到AH。即如果AL的最高位为0,则AH00H;如AL的最高位为1,则AHFFH。 (2)字扩展为双字指令CWD格式:CWD功能:把AX的符号位扩展到DX。即如果AX的最高位为0,则DX0000H;如AX的最高位为1,则DXFFFFH。2.2.3 逻辑运算及移位指令 1逻辑运算指令 (1)逻辑与指令AND格式:AND 功能:OPDOPDOPS.允许的操作数组合:OPD与OPS的组合情况完全等同于ADD指 令,参图27所

13、示。应用:与指令可使一个操作数在其它位不变情况下将某些位 置0.要保持不变的位应与1相与要置0的位应与0相与。 (2)逻辑或指令OR格式:OR OPD,OPS功能:OPDOPDOPS.注意:除了完成的是按位“或”而不是按位“与”外,其它情况OR同AND一样。应用:或指令可以使一个操作数在其它位不变的情况下,将某些位置1.要保持不变的位应与0相或,要置1的位应与1相或。(3)逻辑非指令NOT格式:NOT OPD功能:OPDOPD.允许的操作数:OPD可以是通用寄存器或存储器,字或字节 操作数均可. (4)异或指令XOR格式:XOR OPD,OPS功能:OPDOPD V OPS.应用:异或指令可以

14、使一个操作数在其它位不变的情况下 ,将某些位取反。要保持不变的位应与0相异或,要取反的位应与1相异或。 (5)测试指令TEST格式:TEST OPD,OPS功能:OPDOPS,即OPD与OPS按位相“与”,结果不保存,但影响标志位。 2一般移位指令一般移位指令包括4条指令,由于逻辑左移指令SHL与算术 左移指令SAL实质上是一条指令二个名字,因而实际只有3条 指令。这3条指令具有相同格式和相同的操作数要求,如下 : 格式:SAL OPD,COUNT SHL OPD,COUNTSAR OPD,COUNT SHR OPD,COUNT允许的操作数:OPD可以是通用寄存器或存储器操作数, 字或字节操作

15、数。COUNT可以是1或CL,当移位次数大于1时, 需先将移位次数放入CL中,然后以CL作为第二个操作数。(1) 算术左移指令SAL与逻辑左移指令SHL功能:这二条指令功能相同。均将操作数OPD的每一位向左移动COUNT参数指定的位数,最高位移出后进入CF,而最低位补入相应个数的0。执行操作:如图213(a)所示(见下页)。 应用:SAL和SHL常常用来做乘以2n的运算,用这种方法来实现简单乘法比用乘法指令执行速度快得多。(2)逻辑右移指令SHR功能:将操作数OPD的每一位向右移动COUNT参数指定的位数,最低位移出后进入CF,最高位填0。图2-13 一般移位指令执行操作:如图213(b)所示。 应用:对无符号数而言,逻辑右移一位相当于原数除以2之商 。(3)算术右移指令SAR功能:将操作数OPD的每一位向右移动COUNT参数指定的位数,最低位移出后进入CF,最高位移出后的空缺再用它自身值填入,对有符号数而言,该操作可保证符号位不变。执行操作:如图213(c)所示应用:对于有符号数而言,算术右移一位相当于原数除以2之商。3循环移位指令这类指令共有4条,其格式、允许的操作数、对标志位的影 响均同一般移位指令。 格式:ROL OPD,COUNT ROR OPD,COUNTRCL OPD,COUNT RCR OPD,COUNT (1)循环左移指令ROL功能:每执行一次,把OPD的每一位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号