汇编语言学习笔记(二):寄存器(cpu工作原理)

CPU工作原理
CPU由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连
2.1通用寄存器
8086有14个寄存器(16位):AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
AX,BX,CX,DX称为通用寄存器,用来存放一般数据,为保证向下兼容,通用寄存器都可以分为两个独立的8位寄存器使用
例:AX:AH和AL(高低位)

2.2字在寄存器的存储(一个字两个字节)
2.3汇编指令:不区分大小写
mov AX,18 将18送入AX
add AX,18 将寄存器AX中的数值加上8
2.4物理地址
所有的内存单元构成的存储空间是一个一维的线性空间
16位:
运算器一次最多可以处理16位的数据
寄存器的最大宽度为16位(通用寄存器)
寄存器和运算器之间的通路是16位的
8086有20位地址总线,可传送20位地址,寻址能力为1M
8086内部为16位结构,只能传送16位的地址,表现出的寻址能力也只有64k;8086在内部用两个16位(段地址和偏移地址)合成一个20位:物理地址=段地址*16+偏移地址
2.5
2.6
2.7段(非常重要)
内存并没有分段,段的划分来自于CPU,由于8086CPU用于物理地址=段地址*16+偏移地址
1)一个段的起始地址一定是16的倍数
2)偏移地址为16位,16位地址的寻址能力为64k,所以一个段的最大长度为64k
2.9段寄存器
8086主要有四个段寄存器:CS ,DS,SS,ES
8086CPU要访问内存时,有这四个内存器提供内存单元的段地址
CS:为代码段寄存器(段地址)
IP:为指令指针寄存器(偏移地址寄存器)
CS和IP是8086中最关键的寄存器,他们指示了CPU当前要读取指令的地址
同时修改CS:IP中的内容:jmp 2AE3:3

2.12代码段
可以将长度为N<=64kb的一组代码,存在一组地址连续、起始地址为16的倍数的内存单元中,这段内存是用来存放代码的,从而定义了一个代码段。

debug命令
R:改变cpu寄存器的内容(r ax)
D:查看内存中的内容
E:命令改写内存中的内容
U:将内存中的机器指令翻译成汇编指令
T:执行一条机器指令
A:以汇编指令的格式在内存中写入一条机器指令

mov ax,1000H
MOV SS,AX
MOV SP,0010H
PUSH AX
PUSH BX
PUSH DS
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值