8086CPU

superturtle 2010-01-16 10:49:52
8086cpu 内存有多少个段地址
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 norsd 的回复:]
ds,es,cs, ss
[/Quote]
cq_gongyoulong 2010-01-17
  • 打赏
  • 举报
回复
8086是16位机
MoXiaoRab 2010-01-17
  • 打赏
  • 举报
回复
为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。 所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。 
  代码段寄存器CS:存放当前执行的程序的段地址。
  数据段寄存器DS:存放当前执行的程序所用操作数的段地址。
  堆栈段寄存器SS:存放当前执行的程序所用堆栈的段地址。
  附加段寄存器ES:存放当前执行程序中一个辅助数据段的段地址。
尘雨 2010-01-16
  • 打赏
  • 举报
回复
64K个
副组长 2010-01-16
  • 打赏
  • 举报
回复
怀念写8086汇编代码的日子。
norsd 2010-01-16
  • 打赏
  • 举报
回复
ds,es,cs, ss

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧