《微机原理与接口技术》课程特点⒈综合性强课件_第1页
《微机原理与接口技术》课程特点⒈综合性强课件_第2页
《微机原理与接口技术》课程特点⒈综合性强课件_第3页
《微机原理与接口技术》课程特点⒈综合性强课件_第4页
《微机原理与接口技术》课程特点⒈综合性强课件_第5页
已阅读5页,还剩182页未读 继续免费阅读

下载本文档

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

文档简介

1、 微机原理与接口技术课程特点 综合性强 数字电路、汇编语言程序设计和可编程I/O接口组成 本课程的“三大基石”。 使用基本逻辑部件和可编程I/O接口,组成计算机 系统的各种功能电路。 使用汇编语言设计控制或者驱动程序,实现电路 的控制功能。 三方面知识的有机结合,综合应用。 实践(验)性强 本课程的理解程度、学习效果和学习兴致,与实验操作密切相关。 理论知识指导实验操作,实验结果验证理论,通过实验寻找感觉,在深入探索的基础上,有所新认识、新发现。 课程主要内容以8088(6)微处理器为核心,介绍其工作原理和接口技术。内容有:CPU、总线控制器、时钟发生器、各种半导体存储器和一系列可编程I/O接

2、口。 实验设备与方法 由PC系统和扩展I/O接口实验系统组成。 程序设计使用汇编语言。 课程考核由以下三个方面组成: 实验考核:考核对待实验的态度、实验设计与调试 的能力、实验报告的撰写水平等。出勤考核:期中考核:期末考核: 第一章 CPU的逻辑结构一、 8086的程序模型 程序模型 CPU内部的寄存器阵列,通过汇编语言操作。 程序模型图解2.1 通用寄存器 AL AH BL BH DL DH CL CH15 8 7 0AXBXCXDX IP SP BP DI SI15 02.2 段寄存器 SS ES DS CS15 0二、内存结构图解 字节单元结构 A a1100100B 64H 1007

3、0100H101H102H103H104H 字单元结构 AB ab 0F490H 64ABH 102415 0 100H 102H 104H 106H 108H 数据存储格式小端存储格式 低字节存放低地址单元,高字节存放高地址单元。大端存储格式 低字节存放高地址单元,高字节存放低地址单元。 3A 5D7 0100H101H102H103H104H3A5DH 的小端存储格式 5D 3A7 0100H101H102H103H104H3A5DH 的大端存储格式 练习:将字单元结构转换成小端存储格式 AB ab 0F490H 64ABH 102415 0 100H 102H 104H 106H 108

4、H 内存分段结构 代码(CS)段:源程序存储区。 数据(DS)段:操作数存储区。 附加(ES)段:数据段扩展。 堆栈(SS)段:数据后进先出的存储区CS存储区DS存储区SS存储区ES存储区 物理地址和逻辑地址 物理地址:每个内存单元唯一的地址,由CPU输出。 逻辑地址:由段地址和偏移地址组成。 编写源程序使用的地址。 每个单元享有多个逻辑地址。 段地址:段区20位起始物理地址的高16位部分。 由CS、DS、ES、SS之一提供。偏移地址:段内部单元偏离段起始单元的距离。 由BX、SI、DI、BP等提供。 逻辑地址与物理地址的转换 物理地址段地址10H偏移地址20位段首物理地址练习:将下列4个逻辑

5、地址转换成物理地址。 CS1000H,BX1004H; DS208H, SI 284H; ES3406H, DI 23A4H; SS0A05H, BP 10B4H;第二章 汇编语言的寻址方式计算机的“方言”,与CPU逻辑结构密切相关。编程语句:各种操作功能的指令。例如:四则运算指令、逻辑运算指令等。 汇编语言?指令中说明源、目操作数来源的符号。汇编语言的核心内容。 寻址方式 指令的基本格式 OP DST,SRC;说明:OP:操作码(MOV、ADD、SUB )DST:目地址,目操作数。SRC:源地址,源操作数。 源操作数:来自寄存器、内存单元、立即数和I/O 端口之一。目操作数:来自寄存器、内存

6、单元和I/O端口之一。 源、目操作数的字长相等。 执行结果存入目地址,源操作数不变。 源、目操作数不能同为内存单元或I/O端口。 目操作数不能是立即数。汇编语言的基本“军规”: 主要的寻址方式4.1 立即寻址 源操作数是8/16位直观数据(“现金”)。 MOV AL,100; MOV AH,64H; MOV AX,1000H;MOV BL,10011B;MOV BH,A;MOV BX,1000;MOV CL,2;MOV CH,2;MOV CX,2;指出以下指令的错误MOV BL,256;MOV BH,100H;MOV BX,65536;MOV CL,129;MOV CH,128;MOV 100

7、H, CX ;4.2 寄存器寻址 源或目操作数来自8/16位寄存器。 MOV AL,DL; ADD AH,CH; SUB AX,BX; SUB SI,BX;ADD BP,AX;AND BX,DI;OR CX,SP;MOV DS,DX;MOV BX,ES;以下指令错误:MOV SI,BL;ADD BH,AX;SUB DX,CH;AND CX,IP; 4.3 寄存器间址 源或者目操作数来自内存单元。 指定:BX、SI、DI、BP提供偏移地址; CS、DS、ES、SS提供段地址。 间址单元汇编符号MEM:BX、 BP、 SI、 DI。其他非法! 例1:阅读下列指令,图解执行结果。 MOV AX,10

8、20H; MOV DS,AX; MOV BX ,AX ; MOV BX ,AH; MOV BX+1 ,AL;AHAL1020H:1020H 1021H 例2:图解下列指令执行结果。 MOV CX,1ABCH; MOV ES,CX; MOV SI ,1020H ; MOV ES:SI ,CL; MOV ES:SI+1 ,CH;段名前缀CLCH1ABCH:1020H 1021H 例3:图解下列指令执行结果。 MOV CX,1ABCH; MOV ES,CX; MOV BP ,1020H ; MOV BP ,CL; MOV BP+1 ,CH;省略段名前缀寄存器间址单元的段默认: 默认DS段 MOV S

9、I ,CL; MOV DI ,AL; MOV BX ,DL; MOV DS: SI ,CL;MOV DS: DI ,AL;MOV DS: BX ,DL; 默认ES段 MOV ES: BP ,DL; MOV BP ,AL; 默认SS段 PUSH AX; AX SS: SP字单元 SP = SP + 2 POP DX; DX SS: SP字单元 SP = SP - 215 0SS : SP高地址方向AX练习:阅读指令,指出内存单元的段属性。 MOV CS: SI ,CL; MOV ES:SI ,CL; MOV AX,DI ; MOV DS:BP ,512; MOV BP ,256;4.4 直接寻址

10、 源或者目操作数来自内存单元。 指令直接给出偏移地址。 CS、DS、ES、SS提供段地址。 例:设DS=100H,ES=200H,CS=300H,图解执行结果。 MOV AX,-2;MOV ES:100H ,AH;MOV 101H ,AL;MOV CS:200H ,-129;小端存储0FFH0FEH7FH0FFH7 0200H:100H100H:101H300H:200H 201H4.5 I/O端口寻址(输入/输出指令)OUT 40H,AL;IN AL ,40H;4.5.1 直接寻址 只能使用8位地址,寻址I/O端口。OUT 64,AL;IN AL ,64;比较前后两组指令之区别。OUT 10

11、H,AX;IN AX ,10H ;OUT 16,AX;IN AX ,16;错误的直接寻址:OUT 100H,AL;IN AL ,100H;OUT 256,AX;IN AX ,256;4.5.2 I/O端口间接寻址 由DX指定I/O端口。 MOV DX,100H;端口地址OUT DX,AL; 输出数据IN AL ,DX ; 输入数据MOV DX,20H;OUT DX,AX; 16位I/O端口IN AX ,DX ;例1:指出端口字长和寻址方式。 OUT DX,AL;IN AL ,DX ;OUT 20H,AL;IN AL ,20H ;8位端口,间址8位端口,直接寻址AL7 0端口7 0 20H端口7

12、 0 DXOUT DX,AX;IN AX ,DX ;OUT 100,AX;IN AX ,100;例2:指出端口寻址方式和字长。 16位端口,间址16位端口,直接寻址AX15 0端口15 0 100端口15 0 DX例3:指出下列指令的错误。 OUT DX,AH;IN AH ,DX ;OUT 100H,AL;IN AX ,CX ;OUT DX,BL; 例4、图解执行结果。 MOV AL,15; OUT 2,AL; IN AL,2; MOV AH,AL; MOV DS,AX; MOV 2,AX;例5、比较下列指令。 MOV DX,AL; OUT DX,AL; IN AX,256;MOV AX,25

13、6;IN AL,DX;MOV AL,DX;MOV DX,AX;OUT DX,AX;8086指令系统(编程语句集合) 一、数据传送类指令 通用寄存器赋值 MOV AL,100; MOV CH,64H; MOV AX,1000H;MOV BL,10010011B;MOV BH,A;MOV BX,1000;MOV CL,2;MOV CH,125;MOV CX,1000;错误的赋值: MOV BL,256; MOV CH,-129; MOV DX,65536; MOV DS,1290H; MOV ES,1280H;军规:段寄存器不能用立即数赋值! 段寄存器赋值 令DS100H MOV AX,100H;

14、 MOV DS,AX; 令ES1000H MOV CX,1000H; MOV ES,CX; 令SS2100H MOV BX,2100H; MOV SS,BX; 令CS4000H MOV SI,4000H; MOV CS,SI;军规:程序员不能赋值CS,由系统程序赋值。小结: 段寄存器不接受立即数。 段寄存器接受寄存器赋值。 CS不能软件赋值。 内存单元赋值(写内存)3.1 使用寄存器赋值 MOV BX,AX; MOV BP,DX; MOV ES:DI,CL; MOV CS:100H,CH; 分析内存单元字长、逻辑和物理地址。3.2 使用立即数赋值 MOV BX,100H; MOV ES:SI,

15、256; MOV SI,129; MOV CS:DI,128; 分析内存单元字长、逻辑和物理地址。具有二义性的立即数赋值:MOV BX,10H;MOV ES:SI,255;MOV SI,2;MOV CS:DI,2;如何解决二义性?使用说明符定义单元字长:MOV Byte PTR BX,10H;MOV Word PTR ES:SI,255;MOV Word PTR SI,-2;MOV Byte PTR CS:DI,-2; 3.3 读内存数据 MOV AL, BX ; MOV BX, ES:SI ; MOV CH, BP ; MOV DX, CS:DI ; MOV DL, 100H ; 分析内存单

16、元字长、逻辑和物理地址。 I/O 端口操作4.1 存取8位I/O端口OUT DX,AL;IN AL ,DX ;OUT 20H,AL;IN AL ,20H ;4.2 存取16位I/O端口OUT DX,AX;IN AX ,DX ;OUT 20H,AX;IN AX ,20H ;编写指令序列,完成下列操作。(实验素材) AX 与 BX 交换。 20H端口与 BH 交换。 BX 与 20H端口交换,16位字长。 DI 与 SI 交换,8位字长。 SI 与 ES:BX 交换,16位字长。 DS 与 ES交换。 两个16位端口交换,地址20H和30H。 两个8位端口交换,地址200H和300H。 堆栈与堆栈

17、存取5.1 堆栈 在内存开设,后进先出。 以字(16位)为单位存取。 SS提供段地址,SP提供偏移地址。 SP当前值指示当前栈底或者栈顶单元。5.2 堆栈存取5.2.1 数据入栈格式:PUSH SRC;功能:SP = SP-2 SRC SP 军规:立即数入栈非法!正确的入栈操作:PUSH AX;PUSH BX ;PUSH ES:SIPUSH CS; 错误的入栈操作:PUSH AH;PUSH BL ;PUSH 1000PUSH 100H; 5.2.2 数据出栈格式:POP DST;功能: DST SP SP = SP+2军规:CS为目地址非法!正确的出栈操作:POP AX;POP BX ;POP

18、 ES:SIPOP DS; 错误的出栈操作:POP AH;POP BL ;POP CSPOP 100H; 例1:完成DS与ES交换。解:应用堆栈存取实现 PUSH DS; PUSH ES; POP DS; POP ES; 数据交换格式:XCHG DST,SRC; 不支持段寄存器。 不支持立即数。 支持8/16位数据交换。正确的数据交换:XCHG AX,CX;XCHG BX,DX ;XCHG ES:SI,DLXCHG DH, CS:DI ; 错误的数据交换:XCHG AX,DS;XCHG BH,CX ;XCHG ES:SI,100H;XCHG BX, CS:DI ; 二、算术运算类指令 加法指令

19、格式1: ADD DST,SRC;功能: DST = DST + SRC说明:执行后,设置ZF、SF、CF和OF标志值。ZF=0,运算结果不等于0。ZF=1,运算结果等于0。 SF=0,运算结果0。SF=1,运算结果0。CF=0,运算结果无进/借位。CF=1,运算结果产生进/借位。OF=0,运算结果未溢出。OF=1,运算结果溢出。 PF=0,运算结果中含奇数个1。PF=1,运算结果含偶数个1 。AF=0,运算结果D3位无进/借位。AF=1,运算结果D3位产生进/借位。正确的加法运算:ADD AX,CX;ADD BX,DH;ADD ES:SI,1000;ADD DS, CS; 错误的加法运算:A

20、DD AX,CL;ADD 100H,DX;ADD ES:SI,100;ADD CS, DS; 例1:设AL=89H,分析加法运算结果。 ADD AL,78H;分析:执行后AL = 01H,标志位取值如下CF = 1;产生进位ZF = 0;结果非0SF = 0;结果非负OF = 0;结果未溢出提问: 序数运算的结果? 整数运算的结果?例2:设AL=89H,分析加法运算结果。 ADD AL,87H;分析:执行后AL = 10H,标志位取值如下CF = 1;产生进位ZF = 0;结果非0SF = 0;结果非负OF = 0;结果溢出提问: 序数运算的结果? 整数运算的结果?整数相加,溢出判断: 异号数

21、相加,不溢出。 同号数相加,和改变符号则溢出。格式2: ADC DST,SRC;功能: DST = DST + SRC + Cy说明:与ADD相同。例3:AXBX = AXBX + SIDI。解:ADD BX,DI;ADC AX,SI;例4:89FDCBH +9652DBH,分析运算结果。解:MOV BX,0FDCBH;ADD BX,52DBH;MOV AL,89H;ADC AL,96H;格式3: INC DST;功能: DST = DST + 1说明:不影响CF标志。例5:7FH +1,分析运算结果。解1:MOV BX,7FH;INC BX; 未溢出解2:MOV BH,7FH;INC BH;

22、 溢出 减法指令格式1: SUB DST,SRC;功能: DST = DST - SRC说明:执行后,设置ZF、SF、CF和OF标志值。例1:设AL=89H,分析相减结果。 SUB AL,78H;分析:执行后AL = 11H,标志位取值如下CF = 0;无借位ZF = 0;结果非0SF = 0;结果非负OF = 1;结果溢出整数相减,溢出判断: 同号数相减(异号数相加),不溢出。 异号数相减(同号数相加),差与被减数 同号,无溢出。否则溢出。证明: 设X0,Y0当X - Y 0,未溢出。当X - Y 0,溢出。 设X0,Y0当X - Y 0,溢出。当X - Y 0,未溢出。格式2: SBB D

23、ST,SRC;功能: DST = DST SRC -Cy说明:与SUB相同。格式3:DEC DST;功能: DST = DST 1说明:不影响CF。格式4:CMP DST,SRC;功能: DST SRC说明:执行后,源目不变,标志与SUB相同。格式5:NEG DST;功能: DST = 0 - DST 说明:与SUB相同。例2:7FH 与89H,比较结果。解:MOV BL,7FH; CMP BL,89H;CF = 1;序数目源ZF = 0;源目不等SF = 1;结果为负OF = 1;溢出整数目源整数比较:DST-SRC OF SF ZF 结果 0 0 0 0 1 0 1 0 0 1 1 0 0

24、 0 1例7:数据8FH求补。解:MOV BL,8FH;NEG BL;结果:BL = 71H 乘法指令3.1 序数相乘格式:MUL SRC;功能: AX = AL SRC(8) DXAX = AX SRC(16)说明:执行后,设置CF、OF标志值。 ZF和SF随机值。正确的序数相乘:MUL CX;MUL DH;MUL ES;MUL SI; 指出乘法指令的错误,并纠正之。MUL BX;MUL 100;MUL ES:SI;MUL 100H; 例1:序数1020,分析相乘结果。解:MOV BL,10; MOV AL,20; MUL BL;结果:AH =0,AL = 0C8H,BL=0AHCF = O

25、F = 0;高一半乘积等于0。SF = 1/0 和 ZF = 1/0,随机。例2:序数1616,分析相乘结果。解:MOV BL,16; MOV AL,16; MUL BL;结果:AH =1,AL = 0,BL=10HCF = OF = 1;高一半乘积不等0。SF = 1/0 和 ZF = 1/0,随机。3.2 整数相乘格式:IMUL SRC;功能: AX = AL SRC(8) DXAX = AX SRC(16)说明:执行后,设置CF、OF标志值。 ZF和SF随机值。例3:整数-22,分析相乘结果。解:MOV BL,-2; MOV AL,2; IMUL BL;结果:AH =0FFH,AL =

26、0FCH,BL=0FEHCF = OF =0;高一半是低一半的符号扩展。SF = 1/0 和 ZF = 1/0,随机。例4:整数-1616,分析相乘结果。解:MOV BL,-16; MOV AL,16; IMUL BL;结果:AH =0FFH,AL = 0,BL=0F0HCF = OF =1;高一半非低一半的符号扩展。SF = 1/0 和 ZF = 1/0,随机。 除法指令4.1 序数相除格式:DIV SRC;功能: AHAL = AX SRC(8位) AL =商,AH =余数。 DXAX = DXAX SRC (16位) AX=商,DX =余数。执行后,所有标志取随机值。指出除法指令的错误,

27、并纠正之。MUL BX;MUL 100;MUL ES:SI;MUL 100H; 例1:AX=100,BL=12,分析相除结果。解:DIV BL;结果:AH =4(余),AL = 8(商)CF 、OF、SF和 ZF取随机值。4.2 整数相除格式:IDIV SRC;功能: 用于符号数除法运算。4.3 整数字长扩展指令 字节扩展成字格式:CBW(convert byte to word)功能: 把AL符号位扩展到AH,形成AX。 AL7=0,AH=00H AL7=1,AH=0FFH 字扩展成双字格式:CWD(convert word to double word)功能: 把AX符号位扩展到DX,形成

28、DXAX。 AX15=0,DX=0000H AX15=1,DX=0FFFFH例2:AL= -2,BL=2,分析相除结果。解:CBW; AL扩展成AX IDIV BL;结果:AH =0(余),AL = 0FFH(商),BL=02HCF 、OF、SF和 ZF取随机值。例3:整数四则运算 (W -(XY+ Z -540)/X变量X等为16位存储单元,定义如下:X EQU Word PTR 100HY EQU Word PTR 102H 解:顺序结构源程序如下MOV AX,X;IMUL Y; DXAXMOV BX,AX;转存MOV CX,DX;CXBXMOV AX,Z;CWD; Z扩展成DXAXADD

29、 BX,AX;ADC CX,DX; SUB BX,540;SBB CX,0; 减去借位MOV AX,W;CWD; W扩展成DXAXSUB AX,BX;SBB DX,CX; IDIV X;JMP $; 到此结束 压缩BCD码调整指令 压缩BCD码 一个字节表示两位十进制数,取值0 99。例:45H、89H、36H、99H 5.1 加法调整格式:DAA 说明:紧跟ADD(C)之后执行,调整压缩BCD码 相加结果。调整原理如下: 当AL309或AF1时,执行ALAL+6,AF=1。 当AL749或CF1时,执行ALAL+60H,CF=1。 执行后,OF随机,其他受影响。例1:55+38,分析相加结果

30、。解1:MOV AL,55 ADD AL,38;结果:AL = 5DH(93)CF=0,OF=0,SF=0,ZF=0,AF=0。解2:MOV AL,55H ADD AL,38H; DAA;结果:AL = 93H(93)CF=0,OF随机,SF=1,ZF=0,AF=1。例2:5538+3855,分析相加结果。解1:以下加法可否? MOV AX,5538H ADD AX,3855H; DAA;解2:MOV AL,38H;低字节 ADD AL,55H; DAA; MOV AH,AL; 转存 MOV AL,55H;高字节 ADC AL,38H; DAA; XCHG AH,AL;高低字节交换5.2 减法

31、调整格式:DAS 自学!三、逻辑运算类指令 与运算: AND DST,SRC;功能: DST = DST SRC执行后, CF = OF =0,ZF、SF和PF随结果确定。PF=0,DST含奇数个1。PF=1,DST含偶数个1。Parity:(N+1)位奇校验,N为DST字长。 或运算: OR DST,SRC;功能: DST = DST SRC 异或运算: XOR DST,SRC;功能: DST = DST SRC 非运算: NOT DST;功能: DST = / DST 测试: TEST DST,SRC;功能: DST SRC例1:58H69H,分析运算结果。解: MOV AL,58H AN

32、D AL,69H;结果:AL = 48HCF = OF=0、SF=0、ZF=0,PF=1。例2:AL7、AL6置1, AL1、AL0清0, AL5AL2 求反。解: OR AL,11000000B; AND AL,11111100B; XOR AL,00111100B;例3:如果AL =0,转入ZERO处执行。解1: TEST AL,0FFH;不改变AL,设置ZF值。 JZ ZERO;解2: CMP AL,0;不改变AL,设置ZF值。 JE ZERO;例4:如果AL 含偶数个1,转入EVEN处执行。解: TEST AL,0FFH;不改变AL,设置PF值。 JP EVEN;例5:如果AX=BX,

33、转入EQUAL处执行。解1: XOR AX,BX;设置ZF值。 JZ EQUAL;解2: CMP AX,BX;设置ZF值。 JE EQUAL;四、移位和循环类指令 逻辑左移格式1:SHL DST,1;格式2:SHL DST,CL;CL2执行后, CF 、OF、ZF、SF和PF随结果确定。DST07/15CF0 逻辑右移SHRDST07/15CF0 算术左移SAL 功能与SHL相同。DST07/15CF0 算术右移SARDST07/15CF符号位不变。 左循环ROLDST07/15CF 右循环RORDST07/15CF 串CF左循环RCLDST07/15CF 串CF右循环RCRDST07/15C

34、F例1:设AL=BL=100,分析下列执行结果。解: SHL AL,1; SHR BL,1结果:AL=0C8H(200),BL=32H(50)结论:自行归纳例2:设AL=BL= -100,分析下列执行结果。解: SAL AL,1; SAR BL,1结果:AL=38H,OF=1,溢出! BL=0CEH(-50),OF=0,正确。结论:自行归纳五、转移类指令 无条件转移格式1:JMP Short Label;2字节功能:IP = IP当前值+位移量(8);相对寻址转移范围:-128+127字节格式2:JMP Near PTR Label;3字节功能:IP = IP当前值+位移量(16)转移范围:-

35、32768+32767字节 单标志条件转移指令格式1:JC Label;进/借位,2字节功能:当CF=1,IP = IP当前值+位移量(8); 否则,顺序执行。格式2:JNC Label;无进/借位功能:当CF=0,IP = IP当前值+位移量(8); 否则,顺序执行。格式3:JZ/JE Label;结果为0(相等)功能:当ZF=1,IP = IP当前值+位移量(8); 否则,顺序执行。格式4:JNZ /JNE Label;结果非0(不等)功能:当ZF=0,IP = IP当前值+位移量(8); 否则,顺序执行。格式5:JS Label;结果为负功能:当SF=1,IP = IP当前值+位移量(8

36、); 否则,顺序执行。格式6:JNS Label;结果非负功能:当SF=0,IP = IP当前值+位移量(8); 否则,顺序执行。格式7:JO Label;结果溢出功能:当OF=1,IP = IP当前值+位移量(8); 否则,顺序执行。格式8:JNO Label;结果未溢出功能:当OF=0,IP = IP当前值+位移量(8); 否则,顺序执行。格式9:JP Label;结果含偶数个1功能:当PF=1,IP = IP当前值+位移量(8); 否则,顺序执行。格式10:JNP Label;结果含奇数个1功能:当PF=0,IP = IP当前值+位移量(8); 否则,顺序执行。 两个序数比较,条件转移指

37、令格式1:JB/JNAE Label;功能:当DSTSRC,IP = IP当前值+位移量(8); 否则,顺序执行。单一条件:CF=1即:JB = JNAE = JC格式2:JBE/JNA Label;功能:当DSTSRC,IP = IP当前值+位移量(8); 否则,顺序执行。复合条件:CF=1,ZF=0或者CF=1,ZF=0; 即:CFZF=1 格式3:JA/JNBE Label;功能:当DSTSRC,IP = IP当前值+位移量(8); 否则,顺序执行。复合条件:CF=0,ZF=0即:CFZF=0格式4:JAE/JNB Label;功能:当DSTSRC ,IP = IP当前值+位移量(8);

38、 否则,顺序执行。单一条件:CF=0;即: JAE = JNB = JNC 例1:比较序数AX与BX。 如果AX = BX,转入Zero执行。 如果AX BX,转入Above执行。 否则,转入Here执行。解: CMP AX,BX; JE Zero; JA Above; JMP Here; 两个整数比较,条件转移指令 测试OF、SF、ZF复合条件。格式1:JL/JNGE Label;功能:当DSTSRC,IP = IP当前值+位移量(8); 否则,顺序执行。整数比较:DST-SRC OF SF ZF 结果 0 0 0 DSTSRC 0 1 0 DSTSRC 1 0 0 DSTSRC 1 1 0

39、 DSTSRC 0 0 1 DSTSRC格式2:JLE/JNG Label;功能:当DSTSRC ,IP = IP当前值+位移量(8); 否则,顺序执行。格式3:JG/JNLE Label;功能:当DSTSRC,IP = IP当前值+位移量(8); 否则,顺序执行。格式4:JGE/JNL Label;功能:当DSTSRC ,IP = IP当前值+位移量(8); 否则,顺序执行。例2:比较整数AX与BX。 如果AX = BX,转入Zero执行。 如果AX BX,转入Large执行。 否则,转入Here执行。解: CMP AX,BX; JE Zero; JG Large; JMP Here;例3:比较AX与BX。 如果AX BX, BX置换AX 。 否则,转入Equal执行。解: CMP AX,BX; JZ Equal ; MOV AX,BX; 六、常用伪指令 CPU不认识不执行,由汇编程序

温馨提示

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

评论

0/150

提交评论