微机原理-第02章优秀PPT.ppt
《微机原理-第02章优秀PPT.ppt》由会员分享,可在线阅读,更多相关《微机原理-第02章优秀PPT.ppt(133页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 微处理器指令系统微处理器指令系统微微处理器的内部理器的内部结构构8086/8088的的寻址方式址方式8086/8088指令系指令系统第第2章章 微处理器指令系统微处理器指令系统微微处理器的内部理器的内部结构构8086/8088的的寻址方式址方式8086/8088指令系指令系统微处理器的基本结构微处理器的基本结构算术逻辑单元算术逻辑单元ALUArithmetic Logic Unit寄存器组寄存器组 通用寄存器,地址寄存器,标记寄存器通用寄存器,地址寄存器,标记寄存器指令处理单元指令处理单元8086/80888086/8088的功能结构的功能结构总线接口接口单元元BIU(对外)外)B
2、us Interface Unit负责CPU对存存储器器(指令,数据)(指令,数据)和外和外设进行行访问执行行单元元EU(不(不对外)外)Execution Unit负责指令的指令的译码、执行和数据的运算行和数据的运算AH ALBH BLCH CLDH DLSPBPDISI通通用用寄寄存存器器运算寄存器运算寄存器ALU标记执行部分行部分限制限制电路路1 2 3 4 CSDSSSESIP内部寄存器内部寄存器总线限制限制逻辑电路路20位位8位位4个字个字节指令指令队列列缓冲器冲器外外总线执行行单元元(EU)总线接口接口单元元(BIU)8088CPU结构构图(图2-2)数据寄存器数据寄存器地址寄存器
3、地址寄存器地址地址译码指令预取指令预取取指令取指令1执行指令执行指令1取指令取指令2执行指令执行指令2取指令取指令3执行指令执行指令38086/8088的寄存器结构的寄存器结构通用寄存器通用寄存器 AX、BX、CX、DX、SI、DI、BP、SP指令指指令指针 IP标记寄存器寄存器 FLAGS段寄存器段寄存器 CS、SS、DS、ES参参见:图2-3(P19)16位通用寄存器位通用寄存器AX:累加器。累加器。(Accumulator)BX:基址寄存器。基址寄存器。(Base address)CX:计数器。数器。(Counter)DX:数据寄存器。数据寄存器。(Data register)SI:源源
4、变址寄存器。址寄存器。(Source Index)DI:目的目的变址寄存器。址寄存器。(Destination Index)SP:堆堆栈指指针寄存器。寄存器。(Stack Pointer)BP:基址指基址指针寄存器。寄存器。(Base Pointer)8位通用寄存器位通用寄存器4个个16位通用寄存器(位通用寄存器(AX、BX、CX、DX)可各分成可各分成高高8位位和和低低8位位两个独立的两个独立的8位寄存器,位寄存器,它们分别是:它们分别是:AX:AH、ALBX:BH、BLCX:CH、CLDX:DH、DL指令指针指令指针IPIP指令指针指令指针IP(Instruction Pointer)指示
5、下一条指令的地址。指示下一条指令的地址。IP是一个专用寄存器,用户不能干脆访问。是一个专用寄存器,用户不能干脆访问。(透亮寄存器)(透亮寄存器)标记寄存器标记寄存器FLAGS分分为两两类状状态标记:用于反映指令的:用于反映指令的执行行结果(自果(自动)限制限制标记:用于限制指令的:用于限制指令的执行形式(人工)行形式(人工)各种各种标记存放于一个存放于一个16位的位的标记寄存器寄存器FLAGS中中1514131211109876543210OF DFIFTFSF ZFAFPFCF奇偶标记奇偶标记PF(Parity Flag)当运算当运算结果的低果的低8位中位中1的个数的个数为偶数偶数时,则PF
6、置置1,反之置,反之置0。01101000B01101000B10101011B10101011B+01000000B+01000000B+11111111B+11111111B1 10 01 10 01 1000B000B1 10 01 10 01 10 01 10B0BPF=0PF=0PF=1PF=1零标记零标记ZF(Zero Flag)运算运算结果果为0时,ZF置置1,否,否则ZF置置0。01101000B01101000B00010000B00010000B+01000000B+01000000B+11110000B+11110000B10101000B10101000B0000000
7、000000000B BZF=0ZF=0ZF=1ZF=1符号标记符号标记SF(Sign Flag)运算运算结果的最高位果的最高位为1时,SF置置1,否,否则SF置置0。00101000B00101000B10101011B10101011B+01000000B+01000000B+11111111B+11111111B0 01101000B1101000B1 10101010B0101010BSF=0SF=0SF=1SF=1进位标记进位标记CF(Carry Flag)做做无符号数无符号数加减运算加减运算时,若最高位有,若最高位有进位或位或借位,借位,则CF=1,反之,反之CF=0。0 0110
8、1000B1101000B1041041 10101011B0101011B171171+0 01000000B1000000B +6464+1 11111111B1111111B+255+2551 10101000B0101000B1681681 10101010B0101010B170170CFCF=0 0C CF=F=1 1协助进位标记协助进位标记AF(Auxitiary Carry Flag)做加减运算做加减运算时,若,若D3有向有向D4的的进位或借位,位或借位,则AF置置1,反之置,反之置0。011001101 1000B000B101010101 1011B011B+0100+01
9、000 0000B000B+1111+11111 1111B111B101010101 1000B000B101010101 1010B010BAF=0AF=0AF=1AF=1溢出标记溢出标记OF(Overflow Flag)0 01101000B1101000B(+104)(+104)1 10101011B0101011B(-85)(-85)+0 01000000B1000000B+(+64)+(+64)+1 11111111B1111111B+(-1)+(-1)1 10101000B0101000B(-88)(-88)1 10101010B0101010B(-86)(-86)OF=1OF=
10、1OF=0OF=0有符号数的加减运算超有符号数的加减运算超过了所能表示的范了所能表示的范围时,OF=1,否,否则OF=0。CF和和OF的对比的对比有符号数有符号数的加减运算超的加减运算超过了所能表示的范了所能表示的范围时,OF=1,否,否则OF=0。做做无符号数无符号数加减运算加减运算时,若最高位有,若最高位有进位或借位,位或借位,则CF=1,反之,反之CF=0。01101000B01101000B(+104)(+104)104104+01000000B01000000B+(+64)(+64)+646410101000B10101000B(-88)(-88)168168OF=1,CF=0OF=
11、1,CF=0有符号有符号无符号无符号10101011B10101011B(-85)(-85)171171+11111111B11111111B+(-1)+(-1)+255+25510101010B10101010B(-86)(-86)170170OF=0OF=0,CF=1,CF=1有符号有符号无符号无符号陷阱标记陷阱标记TF(Trap Flag)TF1,CPU单步步执行指令;行指令;TF0,CPU正常工作。正常工作。用于程序的用于程序的调试中断允许标记中断允许标记IF(Interrupt enable Flag)确定外部中断是否可以被确定外部中断是否可以被CPU响响应,或者,或者说当前工作能否
12、被打当前工作能否被打搅。IF1 允允许中断中断 IF0 禁止中断。禁止中断。方向标记方向标记DF(Direction Flag)用于串操作指令中限制地址的用于串操作指令中限制地址的变更方向。更方向。DF0 则每次串操作后存每次串操作后存储器地址自器地址自动增加;增加;DF1 则每次串操作后存每次串操作后存储器地址自器地址自动削减。削减。进借借位位标记奇奇偶偶标记半半进借借位位标记零零标记符符号号标记单步步中中断断中中断断允允许方方向向标记溢溢出出标记1-有有进、借位、借位0-无无进、借位、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有位有进、借
13、位、借位0-低低4位向高位向高4位无位无进、借位、借位1-结果果为00-结果不果不为0OF DFIFTFSF ZFAFPFCF1-有溢出有溢出0-无溢出无溢出位位 (bit):二:二进制位,制位,为0或或1字字节(Byte):8个二个二进制位制位字字 (Word):2字字节(16位位)双字双字(DWord):4字字节(32位位)千字千字节(KB):210个字个字节兆字兆字节(MB):220个字个字节 8086/8088的存储器结构的存储器结构存储器以存储器以字节字节为单位存储信息为单位存储信息每个每个存储单元存储单元存储一个字节的数据存储一个字节的数据8086/8088的存储器结构的存储器结构
14、每个存每个存储单元都有一个地址(元都有一个地址(编号)。号)。8086/8088有有20根地址根地址线。最大可最大可寻址的存址的存储器器单元数元数为2201MB。其物理地址范其物理地址范围为00000HFFFFFH。例如:例如:00002H34H。参考:参考:图2-5 P228086/8088的存储器结构的存储器结构D7D0字节字节D15D0字字D31D0双字双字D7 D000006H78H00005H56H00004H12H00003H34H00002H00001H00000H低地址低地址LSBMSB小端方式小端方式字或双字信息在存储器中占据相邻的字或双字信息在存储器中占据相邻的2 2个或个
15、或4 4个存个存储单元。储单元。多字节数据占据的地址空间用低地址来表示。多字节数据占据的地址空间用低地址来表示。低字节对低地址、高字节对高地址低字节对低地址、高字节对高地址(高凹凸低高凹凸低)例如:例如:00002H00002H1234H1234H意指:意指:00002H00002H34H34H,00003H 00003H12H12H。存储器的分段管理存储器的分段管理8086/8088将将1MB存存储器空器空间分成若干个分成若干个逻辑段段来管理。每个段最大限制来管理。每个段最大限制为64KB。接受接受逻辑地址地址(段地址:偏移地址段地址:偏移地址)的形式来表达段的形式来表达段中每个存中每个存储
16、器器单元的元的20位物理地址。位物理地址。段地址和偏移地址都是段地址和偏移地址都是16位二位二进制数。制数。段地址段地址段地址段地址说明明该逻辑段在内存中的起始位置,即段在内存中的起始位置,即该段中的第一个内存段中的第一个内存单元的物理地址。元的物理地址。段地址必需是模段地址必需是模16地址,即地址,即0H的形式,故的形式,故可接受可接受16位二位二进制数据表示,保存在段寄存器制数据表示,保存在段寄存器(CS,DS,ES,SS)中。中。偏移地址偏移地址偏移地址偏移地址说明明该段中某个内存段中某个内存单元距离元距离该段起始段起始位置的段内偏移量。位置的段内偏移量。由于每个段的由于每个段的长度不超
17、度不超过64KB,故偏移地址也可,故偏移地址也可接受接受16位二位二进制数据表示。制数据表示。B8210H+4567H BC777H逻辑地址和物理地址逻辑地址和物理地址物理地址物理地址 段地址段地址10H+偏移地址偏移地址例例:逻辑地址地址为B821H:4567H,则其其对应的的物理地址物理地址为BC777H。存储器单元的地址存储器单元的地址12340H67H1234H:0000H12341H67H1234H:0001H12342H67H1234H:0002H12343H67H1234H:0003H12344H67H1234H:0004H67H2233EH67H1234H:FFFEH2233F
18、H67H1234H:FFFFH物理地址物理地址逻辑地址(段逻辑地址(段+偏移)偏移)存储器单元的地址存储器单元的地址逻辑地址逻辑地址 1460:1001460:100、1380:F001380:F00物理地址物理地址 14700H 14700H14700H 14700H14600H14600H 100H100H14700H14700H13800H13800H F00HF00H14700H14700H段地址补零段地址补零加上偏移地址加上偏移地址得到物理地址得到物理地址一个物理地址可以有多个逻辑地址一个物理地址可以有多个逻辑地址代码段(代码段(Code Segment)代代码段主要用来存放指令代段
19、主要用来存放指令代码,也可存放数据。,也可存放数据。代代码段寄存器段寄存器CS存放代存放代码段的段地址。段的段地址。指令指指令指针寄存器寄存器IP指示下条指令的偏移地址。指示下条指令的偏移地址。数据段(数据段(Data Segment)数据段存放程序所运用的数据。数据段存放程序所运用的数据。数据段寄存器数据段寄存器DS存放数据段的段地址。存放数据段的段地址。通通过各种存各种存储器器寻址方式得到存址方式得到存储器中操作数器中操作数的偏移地址。的偏移地址。附加段(附加段(Extra Segment)附加段是附加的数据段,也用于数据的保存。附加段是附加的数据段,也用于数据的保存。附加段寄存器附加段寄
20、存器ES存放附加段的段地址。存放附加段的段地址。通通过各种存各种存储器器寻址方式得到存址方式得到存储器中操作数器中操作数的偏移地址。的偏移地址。堆栈段(堆栈段(Stack Segment)堆堆栈段用于堆段用于堆栈(Stack),用来短,用来短暂存放数据、存放数据、保存程序断点、和向子程序保存程序断点、和向子程序传递参数等。参数等。堆堆栈段寄存器段寄存器SS存放堆存放堆栈段的段地址。段的段地址。堆堆栈指指针寄存器寄存器SP指示堆指示堆栈栈顶的偏移地址。的偏移地址。第第2章章 微处理器指令系统微处理器指令系统微微处理器的内部理器的内部结构构8086/8088的的寻址方式址方式8086/8088指令
21、系指令系统指令的格式指令的格式指令由操作指令由操作码和操作数两部分和操作数两部分组成。成。LABEL:MOV AH,0B9H;赋值WVAR DB 4AH,56H;定定义字字节变量量操作操作码:说明要明要执行何种操作。行何种操作。操作数操作数:各种操作的各种操作的对象。象。标识符符:最最长31个字母,不能以数字开个字母,不能以数字开头8086/8088的寻址方式的寻址方式找寻操作数的方式找寻操作数的方式(或操作数的存放方式或操作数的存放方式)叫叫做操作数的寻址方式。做操作数的寻址方式。马上数操作数上数操作数(Immediate)寄存器操作数寄存器操作数(Register)存存储器操作数器操作数(
22、Memory)马上数寻址方式马上数寻址方式MOV AX,1234H;操作数操作数1234H为马上数操作数,上数操作数,运用的是运用的是马上数上数寻址方式。址方式。指令指令执行后行后AX=1234H(AH=12H,AL=34H)例:例:MOV AL,05H指令执行后指令执行后:(AL)=05H例:例:MOV AX,3064H指令执行后指令执行后:(AX)=3064H马上寻址方式马上寻址方式低地址低地址高地址高地址低地址低地址高地址高地址寄存器寻址方式寄存器寻址方式MOV AX,BX;操作数操作数AX、BX均均为寄存器操作数,寄存器操作数,运用的是寄存器运用的是寄存器寻址方式。址方式。指令指令执行
23、后行后AX中的中的值与与BX中的中的值相同,相同,而而BX中的中的值不不变。例:例:MOV AX,BX指令执行后指令执行后:(AX)=3064H (BX)保持不变。)保持不变。指令执行前:指令执行前:指令执行后指令执行后:寄存器寄存器寻址方式址方式存储器寻址方式存储器寻址方式存储器操作数存放于存储器单元中。指令中给出存储器操作数存放于存储器单元中。指令中给出的是操作数所在的存储器单元的逻辑地址。的是操作数所在的存储器单元的逻辑地址。偏移地址偏移地址=BX/BP+SI/DI+i8/i16(=BX/BP+SI/DI+i8/i16(表表2-2)2-2)(有效地址有效地址)有以下有以下5 5种具体方式
24、:种具体方式:(1 1)干脆寻址方式)干脆寻址方式 (2 2)寄存器间接寻址)寄存器间接寻址 (3 3)寄存器相对寻址)寄存器相对寻址 (4 4)基址变址寻址(不要求)基址变址寻址(不要求)(5 5)相对基址变址寻址(不要求)相对基址变址寻址(不要求)(1)干脆寻址方式)干脆寻址方式指令中干脆给出操作数的偏移地址。指令中干脆给出操作数的偏移地址。段地址默认在段地址默认在DS中,可用段超越前缀来变更。中,可用段超越前缀来变更。设设 DS=ES=1492H 16920H=12H,16921H=34HMOV AH,2000H ;AH=12HMOV AX,ES:2000H ;AX=3412H参考:图参
25、考:图2-8MOV AX,1050H假设假设DS=4500H执行后:执行后:AX=2762H(2)寄存器间接寻址方式寄存器间接寻址方式操作数的偏移地址存放于寄存器操作数的偏移地址存放于寄存器BX/BP/SI/DIBX/BP/SI/DI中。中。(1)(1)运用寄存器运用寄存器BPBP寻址时,默认的段寄存器为寻址时,默认的段寄存器为SSSS;(2)(2)运用其他寄存器寻址,默认的段寄存器为运用其他寄存器寻址,默认的段寄存器为DSDS。(3)(3)均可以运用段超越前缀变更。均可以运用段超越前缀变更。设设DS=1492HDS=1492H,ES=1492HES=1492H,BX=2000HBX=2000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 02 优秀 PPT
限制150内