汇编学习笔记1

一、计算机组成

    计算机由运算器、控制器、存储器、输入设备、输出设备组成。

    1. 运算器:
        a. 由算术逻辑单元ALU(arithmetic logic unit)、累加器、状态寄存器、通用寄存器组等构成
        b. 运算器的操作和操作种类由控制器决定
        c. 运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中
        d. 和控制器共同组成CPU

    2. 控制器:
        a. 负责从存储器中取出指令,并对指令进行译码;根据指令的要求,按时间的先后顺序,负责向其它各部件发出控制信号,保证各部件协调一致地工作,一步一步地完成各种操作。
        b. 由指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)、操作控制器0C(OperationController)和译码器等部件组成。

    3. 存储器:分为外存和内存

    4. 输入设备:键盘、鼠标等

    5. 输出设备:显示器、耳机等

二、 寄存器

    8086有14个16位寄存器,类别是通用寄存器、指令指针、标志寄存器、段寄存器。

    1. 通用寄存器:分为数据寄存器(4个)和指针寄存器及变址寄存器(4个)两组
        a. 数据寄存器又分为:
            AH&AL=AX(accumulator register):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据
            BH&BL=BX(base register):基址寄存器,常用于地址索引
            CH&CL=CX(counter register):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器
            DH&DL=DX(data register):数据寄存器,常用于数据传递
        b. 指针寄存器和变址寄存器包括:
            SP(stack pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置
            BP(base pointer):基址指针寄存器,可用作SS的一个相对基址位置
            SI(source index):源变址寄存器可用来存放相对于DS段之源变址指针
            DI(destination index): 目的变址寄存器,可用来存放相对于 ES 段之目的变址指针

    2. 指令指针:指令指针IP(instruction pointer)是一个16位专用寄存器,它指向当前需要取出的指令字节,当BIU从内存中取出一个指令字节后,IP就自动加1,指向下一个指令字节。注意,IP指向的是指令地址的段内地址偏移量,又称偏移地址(Offset Address)或有效地址(EA,Effective Address)。

    3. 标志寄存器:8086有一个18位的标志寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。
        OF
        DF
        IF
        TF
        SF
        ZF:零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。
        AF
        PF
        CF

    4. 段寄存器:为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址。当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。
        CS(code segment):代码段寄存器
        DS(data segment):数据段寄存器
        SS(stack segment):堆栈段寄存器
        ES(extra segment):附加段寄存器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值