《微机原理》课件第3章 指令系统-1_第1页
《微机原理》课件第3章 指令系统-1_第2页
《微机原理》课件第3章 指令系统-1_第3页
《微机原理》课件第3章 指令系统-1_第4页
《微机原理》课件第3章 指令系统-1_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作码 目标操作数,源操作数执行何种操作参加操作的数据或数据存放的地址3-1 概述一、指令的格式第三章 8088/8086指令系统例:MOV AL ,20H寄存器存储单元立即数n寄存器存储单元12000H;BX;BX+5;BX+SI; BX+SI+4例:MOV AL ,2000H约定段CS:ES:SS:DS:IPBX/SI/DISP/BPDI;AL (DS*16+2000H)第三章 8088/8086指令系统 存储器操作数:2二、超越段MOV AL, BX+5 ;有效地址注:只有BX、SI、DI、BP能间接表示地址例:MOV AL,ES:BX; AL ( ES*16+BX)在指令中指定段寄存器

2、超越段第三章 8088/8086指令系统3-寻找操作数地址的方法称为寻址方式一、立即寻址方式 MOV AX,2000H二、寄存器寻址方式 MOV AX, BX三、存储器寻址方式1、直接寻址 MOV BX, 2000H2、寄存器间接寻址 MOV AX,BX3、寄存器相对寻址 MOV AX,BX+05H4、基址变址寻址 MOV AX,BX+SI5、相对基址变址寻址 MOV AX,BX+SI+05H3-2 寻址方式4一、立即寻址例:MOV AX ,2000H操作码0020代码段内存(H)立即数立即数3-2 寻址方式例:MOV EAX ,12345678H5二 、寄存器寻址-指令中给出操作数所在的寄存

3、器。例:MOV AX,BX;结果:AX=3000H CPU3000HBXAX3-2 寻址方式3000H例:MOV EAX,EBX;6三、存储器寻址方式(1)直接寻址例:MOV AX,2000H操作码0020偏移地址3000:2000H3000:2001H3412偏移地址代码段数据段设DS=3000H, DS*16+2000H=32000HAX=1234H内存(H)3-2 寻址方式例:MOV EAX,2000H7(2)寄存器间接寻址例:MOV AX,BX;间接地址设DS=3000H,BX=2000H,DS*16+BX=32000HAX=操作码内存(H)3412代码段数据段1234H3-2 寻址方

4、式3000:2000H3000:2001HBX SI DIBPDSSSEAX、EBX ECX、EDXESI、EDIEBP、ESPDSSS8(3)寄存器相对寻址例:MOV AX,BX+10H;操作码10内存(H)位移量物理地址32010H32011HBC9A代码段数据段设DS=3000H,BX=2000H,DS*16+BX+10H=32010H结果:AX=9ABCH有效地址3-2 寻址方式EAX、EBX ECX、EDXESI、EDIEBPDSSS9(4)基址变址寻址设DS=3000HBX=1000HSI=1000HDS*16+BX+SI=32000H结果:AX=1234HBX+SIBX+DIBP

5、+SIBP+DI例:MOV AX,BX+SI;操作码内存(H)物理地址32000H32001H3412代码段数据段有效地址3-2 寻址方式任何一个通用寄存器均可用作基址、变址(除ESP)10(5)基址变址相对寻址例:MOV AX,BX+SI+0200H;DS=3000HBX=1000HSI=0500HDS*16+BX+SI+0500H=31700H结果:AX=1234H操作码0002内存(H)位移量物理地址31700H31701H3412代码段数据段有效地址3-2 寻址方式例:MOV EAX, EBP+0FFFF0000HEDI11寻址方式小结立即寻址直接寻址寄存器寻址寄存器 间接寻址寄存器

6、相对寻址基址变址AL (DS*16+2000H)相对基址 变址寻址(DS*16+BX) AL AL ( DS*16+BX+位移量)AL ( DS*16+BX+SI)AL ( DS*16+BX+SI+位移量)操作AX2000HBX AXMOV AX,2000HMOV AL,2000HMOV AX , BXMOV BX , ALMOV AL,BX+05HMOV AL,BX+SIMOV AL,BX+SI+05H3-2 寻址方式12举例1、分别指出源和目的操作数的寻址方式(1) MOV CL ,0FFH(2) MOV 5BX ,BL(3) MOV BX+DI ,$(4) MOV VALBP+DI ,D

7、X(5) MOV DS ,AX3-2 寻址方式133-3 指令系统一、数据传送指令:二、算术运算指令:三、逻辑运算和移位指令指令:四、串操作指令:五、控制转移指令:六、处理器控制指令:14一、数据传送指令 1、通用传送指令注意:MOV 不影响标志位MOV BX,SIMOV ES,DSMOV DS,2000H(1)传送指令:例 MOV AL,A;AL 41H MOV AX, 1;AX 0001H MOV EAX, 1;EAX 00000001H3-3 指令系统15举例2、分析每条指令执行后AX的内容(1) MOV AX ,200H(2) MOV AX ,3BX (3) MOV AL , 2BX+

8、SI已知:DS=1000H,BX=0200H,SI=0002H及内存数据10200H10201H10202H10203H10204H 10205HM10H2AH3CH46H59H6BH:DS*16+200H=10200H;AX2A10H:DS*16+BX+3=10203H;AX5946H:DS*16+BX+SI+2=10204H;AL59H3-3 指令系统16注意: XCHG DS,AX:XCHG BX,1000H格式:XCHG 目的操作数,源操作数例 XCHG AX,BX+10H3-3 指令系统 2、交换类指令 (1)交换指令17格式:XLAT ; AL(BX+AL) 或 XLAT OPR;

9、OPR表示转换表的首地址;注意:换码表的长度不能超过256个字节;执行后 AL=9014916TABLEBXBX+AL MOV AL,3 MOV BX,OFFSET TABLE XLATAL93-3 指令系统 (2)查表指令183、地址传送类指令(1)取偏移地址LEA BX,TABLE ; BX TABLE的偏移地址同理 MOV BX,OFFSET TABLE功能:16位的寄存器作为地址指针;3-3 指令系统014916TABLEBX19(2)指针送寄存器和DS指令;SI(DS:0100H);DS (DS:0102)DS=1000H10100H10101H10102H10103H10H20H3

10、0H40H2010H4030HSIDS3-3 指令系统例 LDS SI,0100H(3)例 LES DI,0100H20堆栈的应用子程序2nn2RET栈顶栈顶栈底断点1断点2内存堆栈区栈顶栈顶CALL nn1主程序段CALL nn2子程序1nn1RET断点1断点2堆栈:暂时保存的数据(以字为单位)214、堆栈操作指令AX1234SP栈顶栈底3000HSP2FFEH2FFFH3412堆栈指针功能:SP SP2(1)压入指令 PUSH AX; (SP-1)(SP-2) AX SP=SP-23-3 指令系统22格式:POP BX;BX (SP)(SP+1), SP=SP+2执行 POP BX1234

11、H(2)弹出指令SP栈顶栈底3000HSP2FFEH2FFFH34123-3 指令系统PUSH与POP指令配合使用23举例3 分析堆栈及堆栈指针SP的变化过程PUSH AXPUSH BXPOP AXPOP BX已知SS=1050HSP=0100HAX=4860HBX=1287HSS 1050H:0000H00FCH00FDH00FEH00FFHMSP 0100H 1287HAX1287HBX栈底48H60HSP12H87H4860H4860HSPSPSP可用栈区3-3 指令系统24(3)标志寄存器压栈/出栈指令格式 PUSHF/PUSHFD ;字/双字标志寄存器入栈POPF/POPFD ;从堆

12、栈中弹出字或双字存入寄存器3-3 指令系统25(3)标志寄存器传送读取标志指令格式 LAHF;AH(标志寄存器的低位字节)写入标志指令格式:SAHF; (FLAG的低位字节) AH OF DF IF TF SF ZF AF PF CF标志寄存器 AH3-3 指令系统(3)标志寄存器入栈:PUSHF(4)标志寄存器出栈:POPF; 265、输入输出指令这组指令只限于累加器AX AL与外部设备的端口传送信息。3-3 指令系统1)直接寻址的输入输出指令 IN输入指令格式:IN AL/AX/EAX,n ;字节/字/双字输入, n为外设8位的端口地址例:IN AL, 0FH IN AX, 0FH IN

13、EAX, 0FH273-3 指令系统1)直接寻址的输入输出指令 OUT输出指令格式:OUT n, AL /AX/EAX ;字节/字/双字输出, n为外设8位的端口地址例:OUT 0FH,AL OUT 0FH,AX OUT 0FH, EAX283-3 指令系统2)间接寻址的输入输出指令 IN输入指令格式:IN AL /AX/EAX ,DX ;字节/字/双字输入, DX为外设16位的端口地址例:MOV DX, 1234H IN AL, DX; IN AX, DX; IN EAX, DX;293-3 指令系统2)间接寻址的输入输出指令 OUT输出指令格式:OUT DX, AL/AX/EAX ;字节/

14、字/双字输出, DX为外设16位的端口地址例:MOV DX, 1234H OUT DX,AL OUT DX,AX OUT DX, EAX30举例4、指出指令中的错误(1) MOV 8650H ,AX(2) MOV BX ,1200H(3) MOV BX+SI+3 ,IP(4) MOV AL , ES: BP (5) MOV AX ,OFFSET 0A20H (6) XCHG AL , 50H (7) OUT 1234H, AL3-3 指令系统31二、算术运算指令数据类型:无符号二进制;有符号二进制;无符号压缩十进制;无符号非压缩十进制3-3 指令系统MOV AL , 23;MOV AL , 2

15、3HMOV AL , 2AL 0001 0111AL 0010 0011AL 0011 001032一般的算术运算指令都会影响标志位,当无符号数运算产生溢出时,CF=1;当有符号数运算产生溢出时,OF=1;如果运算结果为零,ZF=1如果运算结果为负,SF=1如果运算结果的低8位中有偶数个1,PF=13-3 指令系统33算法运算指令:3-3 指令系统ADD ; 加法ADC ; 进位加法SUB ;减法SBB ;带借位减法INC ;加1DEC ; 减1CMP ;比较指令MUL ;乘法IMUL ;有符号乘法DIV ;除法IDIV ;有符号除法341、加法(ADD、 ADC ) 3-3 指令系统ADD

16、AX,BX;AX AX+BXADC AX,BX; AX+BX+CF 用于多字节运算2、减法(SUB 、SBB) 注意: ADD BX ,SI ; ADD 30H , 40HSUB AX,BX;AX AX-BXSBB AX,BX; AX-BX-CF用于多字节运算多字节运算?353-3 指令系统例:计算 1234F000H+98765000H1 2 3 4 F000H9 8 7 6 5000H+ AAAB 4000H、MOV AX,F000HADD AX,5000HMOV BX,1234HADC BX,9876H;AX 4000H,CF 1;BX AAABH,CF 0多字节运算:36(3)INC

17、加1指令例:INC BX ;BX BX+1说明 :无符号数加1;不影响进位标志2000H2001HMFFH34H例 INC 2000H; INC BYTE PTR 2000H; INC WORD PTR 2000H;3-3 指令系统FFH+134FFH+1(4)DEC 减1指令37(5)NEG 求补指令功能:连符号位一起逐位取反后末位加1例 MOV AL, 56H ;AL=01010110B=+86 NEG AL ;AL=10101010B=(-86)补 NEG AL ;AL=10101010B =+863-3 指令系统38(6)CMP 比较指令例:CMP AX,BX; AXBX 置标志位;

18、PR2两数比较相等: 置ZF标志AX=BX ZF=1AXBX ZF=03-3 指令系统 OF DF IF TF SF ZF AF PF CF例:CMP AL,0 ; 设置标志位 JZ XXX ; 检测标志位 判断是否转移 39两无符号数比较大小两有符号数比较大小3-3 指令系统置CF标志AXBX CF=0AXBX 相同AX(2041H)(2042H) ALNYMOV AL,2040HCMP AL,2041H;AL大时 CF0否则 CF1;如果 CF=0转GREATGREATAL(2041H)3-3 指令系统MOV AL,2041HJNC GREATGREAT :MOV 2042H,AL413、

19、乘法指令(1)无符号数乘法指令 MUL例MUL DL;MUL BXMUL BYTE PTRSI说明:MUL 03H 错存储单元做操作数,必须加上属性说明AX AL*DL 字节乘法 DX AX AX*BX字乘法 AX AL*(DS*16+SI)3-3 指令系统(2)有符号数乘法指令IMUL42例:AL=FFH,DL=02H,MUL DL;AX AL*DLFFH*02H=255*02=510;AX=01FEHAX IMUL DL;AX AL*DLFFH*02H= -1*02= -2;AX=FFFEHAX 3-3 指令系统434、除法指令(1) 无符号数除法指令 DIV说明:指令要求被除数是除数的双

20、倍字长DIV 04H;错误,除数不能是立即数当商超出AL或AX范围,计算机产生0号除法错中断3-3 指令系统DIV DL; AX/DL商AL,余数 AHDIV BX; DX,AX/BX商AX,余数 DXDIV BYTE PTR SI ; 操作?(2)IDIV 有符号数除法指令44说明:1)除法运算标志位无意义;例:25H/05H0025H/05H 85H/05HFF85H/05H2)IDIV 余数的符号与被除数相同3) 被除数符号位扩展;-8/5的余数为负数3-3 指令系统45(3)CBW字节转换为字指令格式:CBW;AL中的符号位扩展到AH中。例: MOV AL, 25H CBW;(4)CW

21、D字转换为双字指令格式:CWD;AX中的符号位扩展到DX中。例: MOV AX, 8025H CWD;3-3 指令系统AH=00HDX=FFFFH46例:85/03H FF85/03H MOV AL, 85H CBW;AH=FFHMOV BL,03HIDIV BL ;FF85H/03H3-3 指令系统475、十进制调整指令压缩的BCD码:例:87的压缩BCD码为 10000111非压缩的BCD码(ASCII码):例:87的非压缩BCD码为: XXXX1000 XXXX01113-3 指令系统十进制数 BCD码0000010001200103001140100501016011070111810

22、009100148(1)加法的十进制调整指令格式:DAA;使用:仅对AL调整,加法结果必须存放在AL中。 ADD ADC DAA DAA调整方法:加6调整例 计算 28+26MOV AL,28HADD AL,26HDAA ;对AL调整;AL 28H;AL 28H+26H=4EH;AL 4EH+06H=54H3-3 指令系统49例6:编程计算 1+2+3+4+ -10AL清0AL AL+CL调整为十进制数CL CL-1CL=0NYCL10,计数初值 MOV AL,0MOV CL, 10NEXT:ADD AL,CL DAA ;对AL调整 DEC CL JNZ NEXT ;CL0 转 HLT请分析程

23、序中有无DAA,最后AL结果是?结果 AL= 55 H结束3-3 指令系统50(2)减法的十进制调整指令格式:DAS使用:仅对AL调整,减法结果必须存放在AL中。 SUB SBB DAS DASMOV AL,26HSUB AL,18HDAS例 计算 26-18;AL26H;AL 26H-18H=0EH;AL 0EH-06H=08H3-3 指令系统调整方法:减6调整51(3)非压缩的BCD码加法调整 格式:AAA 操作:AL 把AL中的内容调整为非压缩的BCD码格式 AH AH+调整产生的进位调整方法:如果AL的低4位为大于9,或AF=1则: 1)AL AL+6; 2)AL高4位清0 3)CF

24、AF=1,AH AH+1;否则仅使AL的高4位清0MOV AL,8ADD AL,4AAA;AL 38H;AL 38H+34H=6CH;AL 6CH+6=72H02H AH 01H3-3 指令系统(4)非压缩的BCD码的减法调整 格式:AAS52三、逻辑运算和移位指令 逻辑运算ANDOR XOR NOTTEST与或异或取反测试3-3 指令系统CF=OF=0AF不定SF、PF、ZF531)AND逻辑与指令说明:位操作,某些位置0 (和“0”相“与”)。1、逻辑指令MOV AL,86HAND AL,80H ; AL 86H 80H=80H3-3 指令系统542)OR逻辑或指令说明:某些位置1 :和“

25、1”相“或” 。MOV AL,36HOR AL,80H ;AL 36H 80H =B6H3-3 指令系统553)XOR逻辑或指令说明:使某个操作数清零,同时清进位CF=0。 例 XOR AX,AX4)NOT逻辑非指令格式:NOT OPR;B/W操作:OPR OPR 逐位取反说明:NOT指令执行后不影响标志位。3-3 指令系统565)TEST测试指令 TEST AL,80H ; AL 与 80H置标志位 ;不改变原操作数说明:仅用来检测某一位或某几位是“0或1”,编程时,用在条件转移指令前产生条件。例:3-3 指令系统TEST AL,80HJNZ NEXT;57例3.10 从3000H开始的内存

26、单元中存放有64个有符号数,要求统计其中负数的个数,并将统计结果存入NMU单元。3-3 指令系统 XOR DX, DX ;DX清0 MOVSI, 3000H MOV CX, 40H ;置循环次数AGN: MOV AL, SIINC SITEST AL, 80H JZ NEXT ;结果为0, AL为正数INC DX ;否则为负数,个数加1NEXT:DEC CXJNZ AGNMOV NUM, DX ;存结果HLT58Logical 逻辑Arithmetic 算术Rotate 循环SHift 移位Right 右Left 左算术/逻辑移位SHL/SALSHR SAR循环移位ROL ROR RCL RC

27、R逻辑/算术左移逻辑右移算术右移 循环左移循环右移带进位循环左移带进位循环右移3-3 指令系统2、算术/逻辑移位指令59格式: 指令助记符 OPR ,CNT例: SAL AX,1 MOV CL,8 SAL AX,CL指令助记符SHL/SALSHRSAR3-3 指令系统寄存器或存储器操作数CNT为移位次数,当CNT1 时,用CL表示次数; CF D15 /7 OPR D0 0601)SHL/SAL 逻辑/算术左移指令0 CF D15 /7 OPR D0 乘2操作,如果符号位改变表示溢出2)SHR逻辑右移指令0 D15 /7 OPR D0 CF 3)SAR算术右移指令D15/7 OPR D0 CF

28、无符号数除以2操作。有符号数除以2操作。3-3 指令系统613、循环移位指令1)ROL循环左移指令 CF D15/7 OPR D02)ROR循环右移指令D15/7 OPR D0 CF3)RCL带进位循环左移指令4)RCR带进位循环右移指令 CF D15/7 OPR D0D15/7 OPR D0 CF3-3 指令系统62约定:源数据串地址:DS:SI目的数据串地址:ES:DI传送次数:CX每传送一次,自动修改 SI、DI值指令CLD使标志DF=0,增址方向传指令STD使标志DF=1,减址方向传DS:SIES:DI源串目的串四、字符串处理指令3-3 指令系统63指令名称 字节操作 字操作串传送 M

29、OVSB MOVSW串比较 CMPSB CMPSW串扫描 SCASB SCASW串装入 LODSB LODSW串存储 STOSB STOSW类型和格式重复串操作前缀REP 无条件重复REPE/REPZ 相等/结果为零重复REPNE/REPNZ 不相等/结果非零重复例、REP MOVSB;重复传送至CX=03-3 指令系统641、MOVS串传送指令 格式1:MOVSB;(DI) (SI) SI SI 1 DI DI1格式2:MOVSW;格式3:REP MOVSB;重复执行 MOVSB CX CX-1循环,至CX=0(DI) (SI) SI SI 2 DI DI 2DS:SIES:DI源串目的串3

30、-3 指令系统652、STOS存入串指令格式1:STOSB;格式2:STOSW;(DI) (AL) DI DI 1 (DI) (AX) DI DI 2 格式3:REP STOSB;常用来对内存初始化ES:DI源串目的串AL/AX3-3 指令系统663、LODS从串取指令格式1:LODSB;格式2:LODSW;(AL) (SI) SI SI 1(AX) (SI) SI SI 2DS:SI源串目的串AL/AX3-3 指令系统674、CMPS串比较指令格式1:CMPSB;(SI) -(DI)置标志ZF SI SI 1 DI DI1格式2:CMPSW;(SI) - (DI) SI SI 2 DI DI

31、 2格式3:REPE CMPSB ;( CX CX-1循环至CX=0或ZF=0两串不相等时停止)常用于口令判断DS:SIES:DI源串目的串3-3 指令系统685、SCAS串扫描指令格式1:SCASB;格式2:SCASW;(AL) -(DI)置ZF标志 DI DI1(AX) - (DI) DI DI 2格式3:REPNE SCASB ;( CX CX-1循环至CX=0或ZF=1相等时停止寻找字符串中的关键字ES:DI源串目的串AL/AX比较3-3 指令系统696、CLD清除方向标志指令格式:CLD操作:使方向标志DF=0,串操作指令中地址自动增量。7、STD设置方向标志指令格式:STD操作:使

32、方向标志DF=1,执行串操作指令地址自动减量变化。DS:SIES:DI源串目的串3-3 指令系统70REP MOVSB;重复传送至CX=01)如果CX=0退出REP,否则往下执行;2)CX CX-1;3)执行REP后面的串操作指令一次;4)重复1) 3)DS:SIES:DI源串目的串8、REP重复操作前缀9、REPE/REPZ相等/为零时重复操作10、REPNE/REPNZ不相等/不为零时重复操作3-3 指令系统711、分析程序段中每条指令的执行结果XOR AX,AX ;AX OR AL,80H; ALMOV AH,10H; AHMOV BX,AX; BXADD AX,AX; AX 00H80

33、H 10H 1080H 2100H复习3-3 指令系统722040H2041H2042H2、编程 对内存2040H和2041H单元存放的十进制数26和29相加结果存放在2042HMOV AL,2040H;AL26H ADD AL,2041H; AL26H+29H=4FHDAA;MOV 2042H ,AL ;HLT26H+ 29H 4FH+ 6H55H0010 01100010 10010101 0101对AL调整存放BCD码3-3 指令系统733、编程将内存2040H单元开始存放的20个字节数据传送到2060H开始的单元(方法1)2040H2041H2042H2060H2061H2062H源串

34、目的串 MOV SI,2040H MOV DI,2060H MOV CX,20NEXT:MOV AL,SI MOV DI,AL INC SI INC DI DEC CX JNZ NEXT HLTSIDI01H02H03H01HSIDI02H3-3 指令系统744、编程将内存2040H单元开始存放的20个字节数据传送到2060H开始的单元(方法2)2040H2041H2042H2060H2061H2062H源串目的串 MOV AX, DATA MOV DS, AX MOV ES, AX MOV SI,2040H MOV DI,2060H MOV CX,20NEXT:MOVSB DEC CX JN

35、Z NEXT HLTSIDI01H02H03H01HSIDI02H3-3 指令系统75五、控制转移指令无条件转移条件转移循环控制转移过程调用和返回类别 指令助记符 指令功能段内转移(CS不变)段间转移(CS改变)1、无条件转移 JMPJMP SHORT 标号 短转移JMP NEAR PTR 标号 近转移JMP WORD PTR 地址 间接转移JMP FAR PTR 标号 远转移JMP DWORD PTR 地址 间接转移3-3 指令系统CS:IP76目的地址 IP当前地址+位移量位移量=目的地址-当前地址段内转移 CS不变位移量 :为8位补码时: JMP SHORT 目的地址;2字节指令为16位

36、补码时: JMP NEAR PTR 目的地址;3字节指令1、无条件转移指令 JMP1)段内直接转移例 JMP 标号;标号为转移地址23字节3-3 指令系统JMP指令位移量目的地址当前地址77目的地址 IP当前地址+位移量位移量=目的地址-当前地址段内转移 CS不变1、无条件转移指令 JMP1)段内直接转移例 JMP 标号;标号为转移地址23字节3-3 指令系统JMP指令位移量目的地址当前地址JMP1200H ;直接转向1200H JMPSHORT LP ;转向LPJMPNEAR PTR BBB;转向BBB78例2: JMP WORD PTRBX ; 目的地址IP (DS*16+BX)2)段内间

37、接转移例1:JMP BX ;目的地址IP BXDS:BX偏移地址IP3-3 指令系统79JMP BXJMP WORD PTRBXJMP代码段数据段BX=1200XXHXXHIP指令码803)段间直接(远)转移(转移到另一个段中)格式:JMP FAR PTR 标号操作:IP 标号的偏移地址 CS 标号的段地址 目的地址 当前地址当前指令地址跨段转移操作码标号的偏移地址 标号的段地址5字节指令段间转移CS、IP内容均改变3-3 指令系统814)段间间接转移格式:JMP DWORD PTR BX操作:IP (DS*16+BX) CS ( DS*16+BX +2) DS:BX偏移地址段地址IPCSDS

38、:BX+23-3 指令系统822、条件转移指令AL0?顺序执行转向标号处满足否说明:1)转移范围-128+127,不能跨段;2)不影响标志位。3)条件转移指令之前要使用设置标志的指令: 例; JG NEXTAL-0;置标志位3-3 指令系统CMP AL,083指令助记符 测试条件 指令功能1)直接检测标志JC CF=1 有进位JNC CF=0 无进位JZ/JE ZF=1 结果为零JNZ/JNE ZF=0 结果不为零JS SF=1 符号为负JNS SF=0 符号为正JO OF=1 溢出JNO OF=0 无溢出JP/JPE PF=1 偶数个1JNP/JPO PF=0 奇数个1可测标志位有:CF、Z

39、F、SF、OF、PF3-3 指令系统P142 P13684类别 指令助记符 指令功能无符号数比较有符号数比较 Above 高于 Below 低于 Great 大于 Less 小于 JA / JNBE 高于/不低于等于JAE / JNB 高于等于/不低于JB / JNAE 低于/不高于等于JBE / JNA 低于等于/不高于JG / JNLE 大于/不小于等于JGE / JNL 大于等于/不小于JL / JNGE 小于/不大于等于JLE / JNG 小于等于/不大于3-3 指令系统2)间接检测标志85例7:计算Y=1(X 0)-1(X (2041H)(2042H) ALNYGREATAL(2041H)3-3 指令系统873、循环控制指令*循环控制指令不影响标志位 指令助记符 指令功能LOOP 短标号LOOPE/LOOPZLOOPNE/LOOPNZJCXZDEC CXJNZ 短标号 CX CX-1CX0转短标号CX CX-1相等( ZF=1)且 CX0转CX CX-1不等( ZF=0 )且 CX0转CX=0转3-3 指令系统883、编程将内存2040H单元开始存放的20个字节数据传送到2060H开始的单元(方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论