寄存器部分——CPU内部工作原理

本文深入探讨了8086CPU的寄存器基础,包括AX、BX、CX等14个16位寄存器及其细分。讲解了地址加法器如何合成物理地址,以及段寄存器的作用,如CS、DS、SS和ES。此外,还介绍了CPU的工作流程,如从CS:IP读取指令,以及debug命令的使用,如查看和修改寄存器值。最后讨论了栈的入栈和出栈原理,以及栈顶越界问题。
摘要由CSDN通过智能技术生成

寄存器部分——CPU内部工作原理

寄存器基础

8086CPU有14个寄存器:
AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW,所有寄存器都是16位,可以存放两个字节。

AX可以分为AH和AL。高八位和低八位;BX、CX和DX与AX相同。

字占两个字节,存在一个16位寄存器中。

地址加法器合成物理地址方法:物理地址=段地址*16+偏移地址
段寄存器提供段地址
四个段寄存器:CS、DS、SS、ES
CS为代码段寄存器
IP为指令指针寄存器

DS寄存器存储要访问数据的段地址
不能够直接对DS寄存器进行赋值
mov ds, ax

SS段寄存器 存放栈顶的段地址
SP 存放栈顶的偏移地址
任意时刻,SS:SP指向栈顶元素

8086CPU工作过程:

从CS:IP指向内存单元读取指令,读取指令到指令缓存器。
IP=IP+读取指令的长度,从而指向下一条指令。
当PC机启动时,自动将CS设置为FFFFH,将IP设置为0000H。
对cs、ip数据进行修改用-r 寄存器 。
jmp 转移指令
jmp 段地址:偏移地址

debug命令

-r 查看或修改寄存器值
-d 查看内存中的命令
-t 执行一条机器指令
-e 改写内存中的内容
-a 以汇编指令的格式载内存中写入一条机器指令
-u 将内存中机器指令翻译为汇编指令
-g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值