汇编笔记1_基础

基础

地址线,数据线,控制线

地址线->寻址能力,2nbit
单位 byte ;28bit=1byte

BCD

二进制和十/十六进制的快速转换

数据的表示:
1.字符 编码,e.g.ascii
2.图像 RGB
3.视频 类似图像
4.音频 频谱图->数据->有损压缩

80x86

intel的一系列处理器
8086 80186 80286 16bit(8088变种)
80386 80486 32bit
奔腾不再沿用该模式,但沿用该名称
现在的处理器向下兼容到8086,称80x86

寄存器

AX,AL 通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、 除、输入/输出等操作,它们的使用频率很高;
BX 称为基地址寄存器(Base Register)。主要用于存储内存中数据存放的基础位置.之后只需要知道偏移地址就可以知道内存实际地址.
CX称为计数寄存器(Count Register)。在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数;
DX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。

在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,
在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,而且也可作为指针寄存器

EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。
EBX是"基地址"(base)寄存器, 在内存寻址时存放基地址。
ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。
EDX则总是被用来放整数除法产生的余数。
ESI/EDI分别叫做"源/目标索引寄存器"(source/destination index)它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便

BP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据;(和sp连用,作为sp校准)
SP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶

CS——代码段寄存器(Code Segment Register),其值为代码段的段值;
DS——数据段寄存器(Data Segment Register),其值为数据段的段值;
ES——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;
SS——堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值;
FS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;
GS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值。

寻址

PA=DS* 24+EA
EA=base+index*scale factor+displacement
1.PA 地址线->地址码->寻址范围
2.逻辑地址
内存划分为多个逻辑段,逻辑段地址指示存储单元
方便了开发和对存储器的动态管理
cs:ip(偏移地址,该存储单元到段基址的的距离) pa=cs * 24+ip,指示当前的下一条指令读取的位置
eg.jmp ax;相当于ip=ax

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值