汇编2

16位CPU意味着:寄存器最大宽度为16,一次传输的最大数据为16位,寄存器和运算器之间的通路是16位
字长:是由寄存器的最大尺寸决定的。在8086中,字长为16位,2字节。在80386中,字长为4字节。
8086的内存的物理地址=段地址*16+偏移地址
给定段地址为   0001H ,仅通过变化偏移地址寻址, 8086 CPU 的寻址范围为  0010H     1000FH    <=0001+ffff
寻址范围是由寄存器的最大尺寸决定的。
8086由14个寄存器组成:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、DS、ES、SS、FLAG
数据寄存器:
AX->AH+AL
BX->BH+BL
CX->CH+CL
DX->DH+DL
段寄存器:
CS、DS、SS、ES
指针寄存器:SP(栈顶指针)、BP(基址指针)
变址寄存器:SI(源地址)、DI(目的地址)
代码段寄存器:CS,寄存器中存放的是代码的基地址
指令寄存器:IP,寄存器中放的是代码段的偏移地址
CPU从CS和IP对应的内存中读取指令,指令被缓存了,然后IP被赋值为当前IP+指令长度,接着执行指令,执行完成后,重复刚才的步骤。
如果需要修改CS和IP的内容,使用指令
jmp 立即数:立即数//相当于修改CS:IP
jmp ax//这个相当于修改IP
jmp bx//相当于修改CS
如果需要读取数据段的数据,使用寄存器
代码段寄存器:DS,即代码段的基地址
代码段偏移地址:[0],抽象为[bx]
其中ds:[bx]代表内存单元,bx寄存器中存放的是为偏移量
如果需要使用栈,使用寄存器
SS:栈段,即栈段的基地址
SP:偏移量,即栈顶元素的偏移量
涉及到的指令为:
push ax//此时SP-2
pop ax//此时SP+2
栈操作是以字为单位的。
栈段的最大空间为2的16次方个存储单元,即64KB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值