菜鸡网课汇编语言学习笔记_3

本文详细介绍了8086CPU的段寄存器,包括CS、DS、SS和ES的作用,重点讲解了CS和IP如何指示指令执行的地址。内容涵盖8086启动时的默认状态、如何修改CS和IP以控制指令执行,以及代码段的定义和执行。文章最后进行了简要总结,强调CPU通过段地址和偏移地址合成物理地址来执行指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

段寄存器

段寄存器就是提供段地址的8086cpu的4个段寄出去:cs、ds、ss、es

当8086cpu要访问内存时,由这四个段寄存器提供内存单元的段地址。


cs和ip

cs和ip是8086cpu中最关键的寄存器,他们指示了cpu当中要读取指令的地址(指明cpu下一次要读取的地址

  • cs为代码段寄存器
  • ip为指令指针寄存器

cpu通过cs和ip进行读取的过程

  1. 从cs:ip指向内存单元读取指令,读取的指令进入指令缓冲器;
  2. ip = ip + 所读取指令的长度,从而指向下一条指令
  3. 执行指令。跳转到第一步并重复整个过程

8080pc工作过程的简要描述

  • 在8086cpu加电启动或者复位后(即cpu刚开始工作时),cs和ip被设置为cs=FFFFH,ip=0000H
  • 即在8086pc机刚启动时,cpu从内存FFFF0H[这个位置开始执行本机第一条指令 ]单元中读取,指令执行(这个地址存放的数据是我们没必要知道的数据)
  • FFFF0H单元中指令是8086pc机器开机执行后的第一条指令。

在任何时候,cpu将cs、ip中的内容当作指令的段地址和偏移地址,用它们合成指令的物理地址,到内侧读取指令码,执行。

如果说,内存中的一段信息曾被cpu执行过的话,那么,它所在的内存单元必然被cs:ip指向过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值