pc个人微型计算机ppt,2.IBMPC微型计算机.ppt

《2.IBMPC微型计算机.ppt》由会员分享,可在线阅读,更多相关《2.IBMPC微型计算机.ppt(23页珍藏版)》请在人人文库网上搜索。

1、第二章 IBM PC 微型计算机,一、微型计算机的基本结构,计算机的五大部分 微处理器或者CPU(图2.1),Intel 8086/8088 CPU的寄存器,通用寄存器 8 个,控制寄存器 2 个,段寄存器 4 个,通用寄存器,AX(AH,AL) 累加器 BX(BH,BL)基址寄存器 CX(CH,CL)计数寄存器 DX(DH,DL)数据寄存器 SP(Stack Pointer)堆栈指针 BP(Base Pointer)基址指针 SI(Source Index register)源变址寄存器 DI(Destination Index register)目的变址,控制寄存器,IP(Instruct。

2、ion Pointer)指令指针 FLAGS:标志寄存器 16位的标志寄存器,用于反映微处理器在程序运行时的某些状态。其中有9个标志位,包括: 6个状态标志位(CF,PF,AF,ZF,SF,OF) 3个控制标志位(TF,IF,DF),段寄存器,CS(Code Segment register) DS(Data Segment register) ES(Extra Segment register) SS(Stack Segment register),Intel 8086/8088微处理器的功能结构,指令流水线结构 分为BIU和EU,由于EU和BIU是既分工又合作的两个独立部件。它们的操作是并。

3、行的,分别完成不同的任务,因而大大加快了指令执行速度。,通用寄存器的隐含使用和特定使用,Lods (ac)-(si或esi) Stos (di或edi)-(ac) Lahf (ah)-(flags的低字节) Xlat(al)-(bx或ebx) + (al) RCR带进位的循环右移 RCR opr,cnt,通用寄存器的隐含使用和特定使用,SP push,pop,pushf,popf SI movs (di或edi)-(si或esi) DI movs,指针、基址和变址,SP,IP BX,BP(基址寄存器) SI,DI(变址寄存器),IP寄存器:指令指针,不能通过程序直接修改IP。 调用子程序指令c。

4、all执行时,IP原有内容自动压入堆栈,把子程序入口地址偏移量自动送入IP。当从子程序返回主程序时,返回指令ret又自动从堆栈中弹回原有IP的内容送回IP。,标志寄存器,进位位CF(Carry Flag) 当进行算术运算时,如最高位产生进位或借位,则CF置1,否则置0。 奇偶位PF(Parity Flag) 若操作结果低8位中含有1的个数为偶数时,则PF置1,否则PF置0。,标志寄存器,辅助进位位(Auxiliary carry Flag) 当进行算术运算时,若低字节中低4位产生进位或借位时,则AF置1,否则置0 零值位ZF 若运算结果各位全为0时,则ZF置1,否则置0。,标志寄存器,符号位S。

5、F(Sign Flag) 把运算结果视为带符号数。当运算结果为负数时,则SF置1;为正数时,则置0。 溢出位OF(Overflow Flag) 当运算的结果超过机器用补码所能表示数的范围时,则OF置1,否则置0。,标志寄存器,单步标志位TF(Trace Flag) 当TF=1时,在执行完一条指令后,产生单步中断,然后由单步中断处理程序把TF置0,TF供调试程序使用。 中断允许位IF(Interupt-enable Flag) 当IF=1时,允许响应可屏蔽中断。,标志寄存器,方向位DF(Direction Flag) DF为串操作指令规定增减方向。当DF=0时,串操作指令自动地使变址寄存器(si。

6、,di)递增;当DF=1时,则自动地使变址寄存器递减。,2.3 存储器,为什么8086/8088cpu具有1024Kbytes的寻址能力? 存储器的一个存储单元的单位是什么? 每个段的起始单元的位置是16个字节的倍数。 在宏汇编程序中设置的段叫逻辑段,各个逻辑段在物理存储器中可以是邻接的、间隔的、部分重叠的和完全重叠的。,逻辑地址和物理地址,每当CPU访问存储器时,总线接口单元BIU把逻辑地址转换成物理地址。转换方法是:首先把逻辑地址中的段基址左移4位,形成20位的段起始地址,然后再加上16位的偏移量,产生20位的物理地址。,段基址和偏移量,CS:IP(取指令) SS:SP(堆栈操作) DS:。

7、SI(取源串) ES:DI(存目的串) SS:EA(以BP为基址进行堆栈操作) DS:EA(存取一般变量),2.4 堆 栈,栈底、栈顶 SP 堆栈存取数据的规则是:FILO。 8086/8088的堆栈的最大容量。 8086/8088的堆栈是按字组织的。,堆栈的基本操作,设置堆栈 stack1 segment para stack dw 100 dup(0) Stack1 ends 其中,para指定段的起始地址必须从小段边界开始,即段起始地址的最低16进制数必须为0。,堆栈的基本操作,进栈 进栈就是把数据压入堆栈。可以将通用寄存器、 段寄存器或字存储单元的内容压入堆栈的顶部。 如: push ax push ds push data_word pushf,堆栈的基本操作,进栈的操作过程: sp - (sp) -2 (SP) - 数据,堆栈的基本操作,出栈 pop ax pop ds pop data_word popf 寄存器/存储单元 - (sp) sp - (sp) + 2。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值