汇编学习

1.1计算机系统概述

硬件系统:构成计算机的各种物质实体的总和
软件系统:计算机上全部可运行程序的总和

x86微处理器的结构

指令执行单元EU

EU部分负责指令的执行,由ALU、标志寄存器、通用寄存器、数据寄存器和EU控制单元组成,不与系统外线相连
主要实现两种操作:
1.根据指令进行算数/逻辑运算;
2.EU计算出指令要求寻址单元地址的偏移量,送BIU,以形成一个20位的物理地址,到存储器存取所要求的的操作数

总线接口单元BIU

BIU负责与存储器接口——CPU和存储器之间的信息传送
由地址加法器、段寄存器(CS、DS、ES、SS)、指令指针IP、指令队列和总线控制逻辑组成。

和指令队列之间的合作

指令队列是一个6字节的寄存器,队列中同时最多可存6个字节指令、是一个先进先出的栈。当指令队列空的时候,BIU自动执行总线操作,取指令存入指令队列。当程序发生转义的时候,则BIU要重新取出指令,这是 BIU取出的指令将直接送EU执行,然后BIU将不断取指令填入指令队列中,当指令有写存储器要求,则通知BIU,由BIU把指令结果写到存储器中,然后再去指令到指令队列中

X86寄存器

数据寄存器、指针及变址寄存器、段寄存器、控制寄存器

1.数据寄存器

包括AX、BC、CX和DX四个通用寄存器,它们用来暂时存放运算过程中所用到的操作数、结果数据或其他信息,既可以以16位字长的形式来使用,也可以用8位字节的形式使用

AX

作为累加器,自乘时提供一个操作数并存放积的低位,字除时提供被除数的低位并存放商。另外,所有的输入输出指令都是用这一寄存器与外部设备传送信息

BX

可以用作通用寄存器;在计算存储器地址时,它经常用作基址寄存器;在XLAT指令中提供被查表格中源操作数的间接地址

2.指针及变址寄存器

SP、BP、SI、DI四个十六位寄存器

X86指令集的基本特色

1.向下兼容(对前一代处理器的扩展)
2.变长指令
1-15字节,多数为2-3字节长度
3.多种寻址方式(可访问不对齐内存地址
4.指令集的通用寄存器个数有限
x86-32系统下拥有8个通用寄存器(x86-64拓展到16个)
至多能有一个操作数在内存中,另一个操作数为立即数或者寄存器

Author

vague huang

Posted on

2021-02-21

Updated on

2021-03-02

Licensed under

Comments