1. 首页
  2. 文档大全

第3章 指令系统

上传者:7****0 2022-06-04 00:39:53上传 PPT文件 4.91MB
第3章 指令系统_第1页 第3章 指令系统_第2页 第3章 指令系统_第3页

《第3章 指令系统》由会员分享,可在线阅读,更多相关《第3章 指令系统(144页珍藏版)》请在文档大全上搜索。

1、2022年年5月月27日日 6AL操作码字节80H程序存储器指令码操作码字节12H程序存储器AL指令码AH34H12H34H80H80H12H34HMOV AL, 80HMOV AX, 1234H89C1程序存储器AXCX指令码(包括操作数)直接寻址(直接寻址(Direct addressing) 当指令中的源操作数或目的操作数,采用当指令中的源操作数或目的操作数,采用直接给出被访问内存单元的逻辑地址时,这种直接给出被访问内存单元的逻辑地址时,这种寻址方式称直接寻址。寻址方式称直接寻址。例例:MOV AX , 3E4CHMOV 1234H , ALDS:20000H20000H21064H21

2、064HAL操作码641045代码段数据段4545+ 1064H(2 2)寄存器间接寻址()寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过寄存器间接给出。内存单元的逻辑偏移地址通过寄存器间接给出。例例: MOV SI , 61A8H MOV DX , SI5040MAX 寄存器间接寻址 MOV AX, SI MOV BX, AL30000HDS:30000HSI: 2000H+32000H32000H4050504064HMAL30000HDS:30000HBX: 1000H+31000H31000H64H64H(3 3)寄存器相对寻址(

3、)寄存器相对寻址(Register RelativeRegister Relative addressing) 这种寻址方式中提出位移量的概念,即在寄存器这种寻址方式中提出位移量的概念,即在寄存器间接寻址给出的偏移地址上,加一相对位移量。位间接寻址给出的偏移地址上,加一相对位移量。位移量是一带符号的移量是一带符号的16位位16进制数。当使用进制数。当使用BX或或BP寄寄存器时,称基址寻址;使用存器时,称基址寻址;使用SI或或DI寄存器时,称变寄存器时,称变址寻址。址寻址。例例: MOV CX , 36HBX MOV 20BP , AL22064H22064H641045代码段数据段操作码CL4

4、545+ 1064H21000HBX: 1000HDS:20000H20000HEA=(BX)(BP)(DI)(SI)+8位 disp16位 dispMOV CL, BX+1064H56HMAHBP: 2000H+43200H43200HSI: 1200H56H56H(5 5)基址变址相对寻址()基址变址相对寻址(Relative Relative Based Indexed addressing) 它的它的EA是由三部分组成的,基址寄存器是由三部分组成的,基址寄存器BX或或BP的内容加上变址寄存器的内容再加的内容加上变址寄存器的内容再加位移量。物理地址由基址寄存器按规则选位移量。物理地址由基

5、址寄存器按规则选择段寄存器,也可以使用段超越。择段寄存器,也可以使用段超越。例例: MOV AX , 8AHBXSI该例中该例中EA8AHBXSI物理地址物理地址DS10H8AHBXSI 基址加变址相对寻址MOV BX+DI+1234H, AHEA=(BX)(BP)+(DI)(SI)+8位 disp16位 disp3412代码段数据段操作码45AH40000HDS:40000HBX: 0200H+DI: 0010H1234H454541444H41444HI/O(输入(输入/输出)端口寻址输出)端口寻址(I/O port addressing) 当操作数在外部设备时,使用当操作数在外部设备时,

6、使用I/O指令。指令。此时有两种不同的寻址方式访问此时有两种不同的寻址方式访问I/O端口。端口。 (1) 直接端口寻址方式。直接端口寻址方式。 (2) 采用采用DX寄存器间接寻址方式寄存器间接寻址方式例例:IN AL , 25HMOV DX , 3E4H OUT DX , ALI/O端口寻址方式 直接端口寻址方式IN AL, 21H21HAL操作码21H代码段8001H02HI/O接口80802022年年5月月27日日 29 间接端口寻址方式OUT DX, AL0001H0002HI/O接口80AL1234DX1234H8080+当前IPEA有效转移地址opcode位移量PM(CS) 10H

7、+ EA位移量opcodePM段地址偏移量IPCS2022年年5月月27日日 39通用数据传送指令地址目标传送指令MOV字节或字的传送LEA装入有效地址PUSH入栈操作LDS装入数据段寄存器POP出栈操作LES装入附加段寄存器XCHG 交换字或字节标志传送指令XLAT表转换LAHF标志寄存器低字节装入AH输入输出指令SAHFAH内容装入标志寄存器低字节IN输入PUSHF 标志寄存器入栈指令OUT输出POPF出栈,并送入标志寄存器 1. 数据传送类指令 数据传送指令的主要功能是传送数据、地址和标志。可分为通用数据传送指令、输入输出指令、地址传送指令和标志传送指令。 (1)通用数据传送指令 通用数

8、据传送指令可完成字节或字数据的传送。它可分为数据传送指令、堆栈操作指令、数据交换指令和字节转换指令。 1) 数据传送指令 指令格式:MOV dst,src ;(dst)(src)src表示源操作数(字/字节) 立即数操作数 寄存器操作数(包括段寄存器) 存储器操作数dst表示目的操作数(字/字节) 寄存器操作数(不包括IP,CS段寄存器) 存储器操作数段寄存器CS DS SS ES存储器通用寄存器AX BX CX DXAX BX CX DXBP SP SI DIBP SP SI DIAL BL CL DLAL BL CL DLAH BH CH DHAH BH CH DHMOV指令数据传送方向1

9、6位8/16位8/16位16位8/16位 指令功能:将源操作数传送(复制)到目的操作数。 传送方向:如下图所示。 立即数src表示源操作数(字) 寄存器操作数(包括段寄存器) 存储器操作数 注意:堆栈指令的操作数只能是字操作数(即16位操作数),且不能是立即数。 进栈操作(PUSH):先移后进 出栈操作( POP):先出后移 弹出堆栈指令 指令格式及操作: POP dst ;(dst)(SP)+1:(SP), ;(SP)(SP)+2dst表示目的操作数(字) 寄存器操作数(不包括IP,CS段寄存器) 存储器操作数61000H61001H61002H6100AH6100BH6100FH60000

10、HDS:60000HBX: 1000HAX: 000AH+6100AHHex_tableHex_table+1Hex_table+2Hex_table+AHex_table+BHex_table+FASCII表31H32H41H42H30H46H0AHALEA6100AH41H41HASCII表Hex_table=1000H34H12H00H40H2130H2132HDMDIDS1234H4000H1234H4000H2022年年5月月27日日 60 2、算术运算类指令指令格式操作功能标志位影响O S Z A P CADD dst, src(dst) (dst)+(src)ADC dst, s

11、rc(dst) (dst)+(src)+(CF)INC dst(dst) (dst)+1AAAASCII码调整指令DAA压缩型BCD调整指令ADD加法指令ADD加法指令(Addition)格式 ADD dst,src。功能 dst(dst)+(src)源操作数和目的操作数的种类 ADD R,OPRD; OPRD: R,MEM,IMM ADD MEM, OPRD; OPRD:R 源和目的操作数类型必须一致,均为字源和目的操作数类型必须一致,均为字节或字。节或字。 影响的标志位为:影响的标志位为:CF、OF、PF、SF、ZF和和AFADC带进位加法指令ADC带进位加法指令(Addition wit

12、h Carry)格式 ADC dst,src。功能 dst(dst)+(src)+(CF)源操作数和目的操作数的种类 ADD R,OPRD; OPRD: R,MEM,IMM ADD MEM, OPRD; OPRD:R 源和目的操作数类型必须一致,均为字节或字。源和目的操作数类型必须一致,均为字节或字。 影响的标志位为:影响的标志位为:CF、OF、PF、SF、ZF和和AF举例 ADD AL,18H ;AL AL+18H ADC BL,CL ; BL BL+CL+CF ADC AX,DX ; AX AX+DX+CF ADD AL,COSTBX ; ADD COSTBX,BLADD与ADC举例举例

13、分析下列指令对标志位的影响 MOV AL,5EH ; MOV BL,3CH; ADD AL,BL ;ADD与ADC举例0101 1110+ 0011 11001001 1010运算后标志位:运算后标志位:ZF0,AF1,CF0,SFl,PF1,OF=1; 设两个多字节十六进制数分别存放在设两个多字节十六进制数分别存放在2000H和和3000H开始的存储单元,低位在前,高位在后。开始的存储单元,低位在前,高位在后。编写程序计算:编写程序计算:10008423H+20007E00H=?ADD与ADC举例MOV SI,2000H ;取第一个数的首地址取第一个数的首地址MOV AX,SI ;将第一个数

14、的低将第一个数的低16位送位送AXMOV DI, 3000H ;取第二个数的首地址取第二个数的首地址ADD AX,DI ;第一个数和第二个数的低第一个数和第二个数的低16位相加位相加MOV SI,AX ;相加结果送到相加结果送到2000H和和2001H单元单元MOV AX,SI+2 ;取第一个数的高取第一个数的高16位送位送AXADC AX,DI+2 ;两个数的高两个数的高16位连同进位位相加位连同进位位相加MOV SI+2,AX ;相加结果送到相加结果送到2002H和和2003H单元单元INC增量指令INC增量指令(Increment)格式 INC dst。功能 dst(dst)+1操作数的

15、要求 寄存器或内存单元。指令主要用在循环程序中,对地址指针和循环计数器等进行修改;l指令执行后影响AF、OF、PF、SF和ZF,但不影响CF。l要使内存单元的内容增1,必须说明该存储单元类型。INC增量指令举例 INC BL ;BL寄存器中内容增1 INC CX ;CX寄存器中内容增1 INC BYTE PTRBX ;内存字节单元内容增1 INC WORD PTRBX ;内存字单元内容增1 其中,PTR为类型说明符,前面加BYTE说明操作数类型为字节,加WORD则说明操作数类型为字。十进制数(十进制数(BCDBCD码)运算指令码)运算指令十进制数(十进制数(BCDBCD码)运算指令码)运算指令

16、指令格式操作功能标志位影响O S Z A P CSUB dst, src(dst) (dst) (src)SBB dst, src(dst) (dst) (src) (CF)DEC dst(dst) (dst) 1NEG dst(dst) 0 (dst) 1CMP dst, src(dst) (src)AAS非压缩型BCD调整指令DAS压缩型BCD调整指令SUB减法指令SUB减法指令 (Subraction)格式 SUB dst,src。功能 dst(dst)-(src)。将对全部六个标志位有影响。举例lSUB AX,BX ;AX AX-BXlSUB DX,1850H ;DX DX-1850H

17、lSUB BL,BX ;SBB带借位的减法指令SBB带借位的减法指令 (Subraction with Borrow)格式 SBB dst,src。功能 dst(dst)-(src)-(CF)。 除了减法时带借位外,其他与SUB基本相同,主要用于多字节减法中。举例 SBB AL,BL ;AL AL-BL-CFDEC减量指令DEC减量指令 (Decrement)格式 DEC dst。Dst:r,men功能 dst(dst)-1。指令对状态标志位SF、ZF、AF、PF和OF有影响,但不影响进位标志CF。举例lDEC BX ;BX BX-1lDEC WORD PTRBP ;堆栈段中位于BP偏移地址处

18、的字减1。DEC减量指令减量指令应用实例: 在循环程序中常常利用DEC指令来修改循环次数。 MOV CX,0FFFFHCYC: ;some order DEC CX JNZ CYC HLT 程序段中DEC AX指令重复执行65535次。NEG取负指令NEG取负指令 (Negate)格式 DEC dst。Dst:r,men功能 dst0-(dst)。对目的操作数取负。执行指令后,可取负数的绝对值。举例lNEG AX ;将AX中的数取负lNEG BYTE PTRBX ;对数据段中位于BX偏移地址处的字节取负。CMP比较指令CMP比较指令 (Compare)格式 CMP dst,src。功能 (ds

19、t)-src。目的-源, 结果不回送到目的操作数中,仅反映在标志位上。注意事项 CMP指令的目的操作数可以是寄存器或存储器,源操作数可以是立即数、寄存器或存储器,但不能同时为存储器。可以进行字节比较,也可以是字比较。CMP比较指令比较结果 CMP A,Bl若两个被比较的内容相等,则(ZF)=1。l两无符号数比较时,CF是借位标志,如果CF为0,表示没有借位,则AB;反之,则AB,否则AB。在数据段从在数据段从MYDATA开始的存储单元中分别存放了开始的存储单元中分别存放了两个两个8位无符号数,试比较它们的大小,并将大者传送位无符号数,试比较它们的大小,并将大者传送到到MAX单元。单元。LEAB

20、X,MYDATA;MOV AL,BX ;第一个无符号数送;第一个无符号数送ALINC BX ;CMP AL,BX ;两个数比较;两个数比较JNC DONE ;若;若CF=0,则转,则转DONEMOV AL,BX ;DONE: MOV MAX,AL CMP比较指令AAMBCD调整指令AL源操作数ALAHAX源操作数AXDX乘法指令指令指令含义含义时钟数时钟数MUL无符号数乘法70139+EAIMUL整数乘法80160+EAAAM乘法的ASCII调整83MUL无符号数乘法指令MUL无符号数乘法指令 (Multiply unsigned)格式 MUL src。功能 将源操作数和累加器中的数都当成无符

21、号数,然后将两数相乘,src可以是字(065535)和字节(0255)。操作数要求l可以是寄存器、存储单元,但不能是立即数;l源操作数是存储单元时,必须在操作数前加B或W说明是字节还是字。MUL无符号数乘法指令运算情况 l源操作数是一个字节 源操作数与累加器AL中的内容相乘,乘积为双倍长的16位数,高8位送到AH,低8位送AL。即 AXAL源。AL被乘数被乘数8位位操作数操作数乘数乘数8位位AX乘积乘积16位位MUL无符号数乘法指令运算情况 l源操作数是一个字 源操作数与累加器AX的内容相乘,结果为32位数,高位字放在DX寄存器中,低位字放在AX寄存器中。即 (DX,AX) AX 源AX被乘数

22、被乘数16位位操作数操作数乘数乘数16位位AX乘积乘积32位位DX举例举例MUL CL ;AL乘乘CL,结果在,结果在AX中中MUL BX ;AX乘乘BX,结果在,结果在DX:AX中中MUL BYTE DI ; AL乘存储器乘存储器(8位位),结果在,结果在AX中中MUL WORDBX ; AX乘存储器字,结果在乘存储器字,结果在DX:AX中中如果运算结果的高半部分如果运算结果的高半部分(在在AH或或DX中中)为零,则状为零,则状态标志位态标志位(CF)=(OF)=0,否则,否则(CF)=(OF)=1。因此,状态。因此,状态标志位标志位(CF)=(OF)=1,表示,表示AH或或DX中包含着乘积

23、的有效中包含着乘积的有效位。位。 举例举例MOV AL,14H ;(AL)=14H-20MOV CL,05H ;(CL)=05H-5MUL CL ;(AX)=0064H-100本例中结果的高半部分本例中结果的高半部分(AH)=0,因此,状态标志,因此,状态标志位位(CF)=(OF)=0,通过检测标志,可以去除结果中的前,通过检测标志,可以去除结果中的前导无效零。导无效零。有了乘法有了乘法(和除法和除法)指令,使有些运算程序的编程变指令,使有些运算程序的编程变得简单方便。但是必须注意,乘法指令的执行速度很得简单方便。但是必须注意,乘法指令的执行速度很慢,除法指令也是如此。慢,除法指令也是如此。

24、IMUL整数乘法指令IMUL整数乘法指令 (Integer Multiply)格式 IMUL src。功能 将源操作数和累加器中的数都当成有符号数,然后将两数相乘,src可以是字(-3276832767)和字节(-128127)。操作数要求和运算情况 与MUL要求相同。举例举例IMUL CL ;AL乘乘CL,结果在,结果在AX中中IMUL BX ;AX乘乘BX,结果在,结果在DX:AX中中IMUL BYTE DI ; AL乘存储器乘存储器(8位位),结果在,结果在AX中中IMUL WORDBX ; AX乘存储器字,结果在乘存储器字,结果在DX:AX中中如果运算结果的高半部分如果运算结果的高半部

25、分(在在AH或或DX中中)为为0或或1,则状态标志位则状态标志位(CF)=(OF)=0,否则,否则(CF)=(OF)=1。因此,。因此,状态标志位状态标志位(CF)=(OF)=1,表示,表示AH或或DX中包含着乘积中包含着乘积的有效位。为的有效位。为0,则表示高半部分是符号扩展。,则表示高半部分是符号扩展。 正数,正数,AH或或DX 为全为全0负数,负数,AH或或DX为全为全1举例举例MOV AX,04E8H ;(AX)=04E8HMOV BX,4E20H ;(BX)=4E20HIMULBX ;(DX:AX)=(AX) (BX)以 上 指 令 的 执 行 结 果 为 :以 上 指 令 的 执

26、行 结 果 为 : ( D X ) = 0 1 7 F H ,(AX)=4D00H,且,且(CF)=(OF)=1。实际上,以上指令完成。实际上,以上指令完成带符号数带符号数+1256和和+20000的乘法运算,得到乘积为的乘法运算,得到乘积为+25120000。由于此时。由于此时DX中结果的高半部分包含着乘积中结果的高半部分包含着乘积的有效数字,故状态标志位的有效数字,故状态标志位(CF)=(OF)=1。AADBCD调整指令 除法指令指令指令含义含义时钟数时钟数DIV无符号除法80168+EAIDIV整数除法101190+EAAAD除法的ASCII调整60CBW 把字节转换成字2CWD 把字转

27、换成双字5DIV无符号数除法指令DIV无符号数除法指令 (Division unsigned)格式格式 DIV src。功能功能 将两个无符号数相除,被除数的长度必须是除数长度的两倍,若不够,必须扩展被除数的长度。操作数要求l可以是寄存器、存储单元,但不能是立即数;l源操作数是存储单元时,必须在操作数前加B或W说明是字节还是字。举例举例MOV AX,0F05H ;(AX)=0F05HMOV DX,068AH ;(DX)=068AHMOV CX,08E9H ;(CX)=08E9HDIV CX ; 运算完毕后,商运算完毕后,商(AX)=BBE1H,余数,余数(DX)=073CH 注意事项 执行DI

28、V指令时,如果除数为0,或字节除法时AL寄存器中的商大于FFH,或字除法时AX寄存器中的商大于FFFFH,则CPU立即自动产生一个类型号为0的内部中断。IDIV整数除法指令IDIV整数除法指令 (Integer Division)格式 IDIV src。功能 将两个带符号数相除,被除数的长度必须是除数长度的两倍,若不够,必须用CBW或CWD扩展被除数的长度。操作数要求与运算情况 同同DIV。注意事项注意事项 执行执行IDIV指令时,如果除数为指令时,如果除数为0,或字节除法时,或字节除法时AL寄存器中的商超出寄存器中的商超出-128127范围,或字除法时范围,或字除法时AX寄存器中的商超出寄存

29、器中的商超出-3276832767范围,则范围,则CPU立即自立即自动产生一个类型号为动产生一个类型号为0的内部中断。的内部中断。关于余数的符号关于余数的符号 在对有符号数进行除法运算时,例如在对有符号数进行除法运算时,例如-30除以除以8,可,可以得到商为以得到商为-4,余数为,余数为+2;也可以得到商为;也可以得到商为-3,余数为,余数为-6,两结果都是正确的。两结果都是正确的。 对于对于8086,规定余数的符号和被除数的符号相同,规定余数的符号和被除数的符号相同,因此第二种结果是因此第二种结果是8086执行完以后的结果。执行完以后的结果。被除数扩展问题被除数扩展问题 无论是无符号数还是有

30、符号数除法时,必须满足被无论是无符号数还是有符号数除法时,必须满足被除数长度是除数长度的两倍。当不够时,涉及到被除数除数长度是除数长度的两倍。当不够时,涉及到被除数的扩展。的扩展。无符号数:被除数的扩展比较简单,添上足够的零就无符号数:被除数的扩展比较简单,添上足够的零就可以了。以下指令将可以了。以下指令将AL中的一个中的一个8位无符号数扩展成为位无符号数扩展成为16位,存放在位,存放在AX中。中。MOV AL,0FBH;(AL)=11111011BXOR AH,AH;(AH)=00000000B 有符号数:被除数的扩展必须根据各自的符号来完成,有符号数:被除数的扩展必须根据各自的符号来完成,

31、因此,需要借助指令因此,需要借助指令CBW和和CWD完成。完成。CBW把字节转换成字指令CBW把字节转换成字指令 (Convert Byte to Word)格式 CBW。功能 把寄存器AL中字节的符号位扩充到AH的所有位。(AH被称为AL的符号扩充),),不影响标志位。扩展方法 AL为正数(AL=80H)时,即D7=1时,使AH=0FFH。扩展方法扩展方法MOV AL,4FH ;(AL)=01001111BCBW ; 由于由于AL7FH,或者说,或者说AL为负数时,符号位为为负数时,符号位为1,AH应补应补1,因此,因此(AH)=11111111B CBW把字节转换成字指令CWD把字转换成双

32、字指令CWD把字转换成双字指令 (Convert Word to Double Word)格式 CWD。功能 把寄存器AX中字的符号位扩充到DX的所有位。扩展方法AX为正数(AX7FFFH)时,即即D15=1时,使DX=0FFFFHCBW和和CWD指令在带符号数的乘法指令在带符号数的乘法(IMUL)和除和除法法(IDIV)运算中十分有用,在字节或字的运算之前,将运算中十分有用,在字节或字的运算之前,将AL或或AX中数据的符号位进行扩展。例如:中数据的符号位进行扩展。例如:MOV AL,MUL_BYTE;(AL)8位被乘数位被乘数(带符号数带符号数)CBW ;扩展成为;扩展成为16位带符号数,在

33、位带符号数,在AX中中IMULBX ;两个;两个16位带符号数相乘,结果在位带符号数相乘,结果在DX:AX中中 CBW和CWD常见的用法: 清进位标志位:AND AX,AX 或 OR AL,AL等。 清零操作数:XOR AX,AX 不仅把AX清零,而且也影响了状态标志。 把某几位取反:用XOR指令,把要取反的位和1异或,不变的位和0异或。 清零或置位某几位:用AND指令清零,用OR指令置位。逻辑运算指令命令命令含义含义时钟数时钟数NOT取反316+EAAND与317+EAOR或316+EAXOR异或317+EATEST测试311+EANOT取反指令NOT取反指令 (Logical Not)格式

34、 NOT dst。功能 dst dst取反,执行完后不影响标志位。操作数要求可以是8位或16位寄存器、存储器。对于存储器操作,需指明是字还是字节。AND逻辑与指令AND逻辑与指令 (Logical AND)格式格式 AND dst,src。 src可以是立即数。功能功能 dst dstsrc,执行完后影响标志位。主要用于使操作数的某些位保留(和“1”相与),而使某些位清除(和“0”相与)。操作数要求可以是8位或16位寄存器、存储器,不能同时为men。对于存储器操作,需指明是字还是字节。OR逻辑或指令OR逻辑或指令 (Logical OR)格式 OR dst,src。src可以是立即数。功能 d

35、st dstsrc,执行完后影响标志位。主要用于使操作数的某些位保留(和“0”相或),而使某些位置1(和“0”相或)。)。操作数要求可以是8位或16位寄存器、存储器,不能同时为men。对于存储器操作,需指明是字还是字节。AND,OR,NOT举例举例 MOV AL, 35H; AL=0011,0101B AND AL, 0FH ; 0000,1111B,得AL=05H OR AL,70H ; 0111,0000B,得AL=75H NOT AL; 取反得1000,1010B ,即AL=8AHXOR异或指令XOR异或指令 (Exclusive OR)格式 XOR dst,src。 src可以是立即数

36、。功能 dst dst src,执行完后影响标志位。主要用于使操作数的某些位保留(和“0”相异或),而使某些位取反(和“1”相异或)。操作数要求 可以是8位或16位reg、men,不能同时为men。 对于存储器操作,需指明是字还是字节。TEST测试指令TEST测试指令 (Test)格式 TEST dst,src。 src可以是立即数。功能 dstsrc,执行完后影响标志位。但是与完后的结果不回送。主要用于对某些位数据的检测,编程时,其后往往紧跟条件转移指令。操作数要求可以是8位或16位寄存器、存储器,不能同时为men。对于存储器操作,需指明是字还是字节。逻辑运算指令总结 除了NOT指令外,其他

37、指令都影响状态标志位。这些指令将根据各自逻辑运算的结果影响SF、ZF和PF状态标志位,同时将CF和OF置“0”,但,但AF的值不确定。 CFdstCF0dstCF0dstCF0dstCFdstCFdstCFdstCFdstCFDXAX0 RCL DX,1 SHL AX,1段内直接短转移 JMP disp8 (IP)(IP)+ disp8-128 +127段内直接近转移 JMP disp16 (IP)(IP)+ disp16-32K +32K段内间接转移 JMP mem/reg (IP) (mem) (IP) (reg)-32K +32K段间直接转移 JMP addr (IP)偏移地址 (CS)

38、 段地址-32K +32K段间间接转移 JMP mem (IP) (mem) (CS) (mem)+2-32K +32K指令格式指令功能测试条件说明单标志测试指令格式指令功能测试条件说明JBJNAE disp(IP)(IP)+(disp)(CF)1无符号数测试A:高于B:低于E:等于JAEJNB disp(IP)(IP)+(disp)(CF)0JAJNBE disp(IP)(IP)+(disp)(CF)0 且且 (ZF)0JBEJNA disp(IP)(IP)+(disp)(CF)0 或或 (ZF)0JGJNLE disp(IP)(IP)+(disp)(SF) (OF) 且且 (ZF)0带符号

39、数测试G:大于L:小于E:等于JGEJNL disp(IP)(IP)+(disp)(SF) (OF)JLJNGE disp(IP)(IP)+(disp)(SF) (OF) 且且 (ZF)0JLEJNG disp(IP)(IP)+(disp)(SF) (OF) 或或 (ZF)1 JCXZ disp(IP)(IP)+(disp)(CX) 0CX寄存器测试指令名称 指令格式 操作功能 指令名称 指令格式 操作功能 这一类指令用于对CPU进行控制,例如对CPU中某些状态标志位的状态进行操作,以及使 CPU暂停、等待等等。 80868088指令系统的处理器控制指令可分为三组: 标志操作指令 外部同步指令 空操作指令 种 类 指令格式指令功能 标志操作 进位标志操作 CLCSTCCMC(CF)0 进位标志清0 (CF)1 进位标志置1 (CF)(CF) 进位标志取反 方向标志操作 CLDSTD(DF)0 方向标志清0 (DF)1 方向标志置1 中断标志操作 CLISTI(IF)0 中断标志清0 (IF)1 中断标志置1 外部同步 HLTWAITESCLOCK 暂停 等待 交权 总线封锁 空操作 NOP 空操作 重点内容重点内容 寻址方式 常用指令 作业:P159: 3, 4, 5, 9


文档来源:https://www.renrendoc.com/paper/212529287.html

文档标签:

下载地址