注册
登录
会员
统计
帮助
人肉搜索引擎-007无所不能
»
汇编语言
» 8086段寄存器与通用寄存器
‹‹ 上一主题
|
下一主题 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
8086段寄存器与通用寄存器
vividlibra
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2008-10-7 17:37
只看该作者
8086段寄存器与通用寄存器
8086内部的寄存器之间是不是有包括和被包括的关系,例如,段寄存器是否包括通用寄存器
UID
13735
帖子
336
阅读权限
10
最后登录
2009-1-6
查看详细资料
TOP
jhbseawater
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2008-10-8 02:18
只看该作者
娈靛瘎瀛桦櫒ds,es,ss,cs
阃氱敤瀵勫瓨鍣╝x,bx,cx,dx,si,di,sp,bp
镌囦护瀵勫瓨鍣╥p
镙囧织瀵勫瓨鍣`R
8086瀵勫瓨鍣ㄥ彧灞炰簬涓婇溃锲涚镄勪竴绉,鏄浉浜掑钩绾х殑姒效康,鏁呮瀵勫瓨鍣ㄨ偗瀹氢笉浼氩寘鎷氱敤瀵勫瓨鍣
鍦ㄩ氱敤瀵勫瓨鍣╝x,bx,cx,dx涓,鍙妸瀹冧滑鍒嗘垚镌夊瓧鑺备娇鐢ㄧ殑瀵勫瓨鍣,濡俛x ah,al
bx bh,bl绛
璇峰弬钥冧互涓嬫枃绔
http://baike.baidu.com/view/6159.htm
UID
1547
帖子
354
阅读权限
10
最后登录
2009-1-7
查看详细资料
TOP
午夜之后
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2008-10-8 02:20
只看该作者
8086里是有你所说的包括与被包括的关系,例如eax包括了ax,而ax包括了ah和al,但段寄存器不是这个用途。所谓通用寄存器是指用户可以拿来存放自己的数据的寄存器,通常他们都是要参与算术或者逻辑运算的。段寄存器不是通用寄存器,它的用途是专门用来方便用户对内存操作时寻址用的。有了段寄存器,用户可以以一个地址为基地址写程序了,例如,用户期望把自己的数组放在0xA0001000的位置,变量放在0xA0002000的位置,而程序的代码放在0x20000000的位置,那么他只要把数据段的段寄存器ds设置为0xA0000000,他拜候数组时就只要记得0x1000的偏移,拜候变量只要记得0x2000的偏移。而把代码段段寄存器设置为0x20000000,那么他想跳转到0x20000018的地方去执行,他只要记得0x18就行了。当然段寄存器还有别的好处。例如他可以让你拜候更大的空间,保护数据段、代码段、堆栈段之间不会轻易互相破坏,更多的知识需要你看一下内存的段式治理内容了。
UID
19196
帖子
345
阅读权限
10
最后登录
2009-1-6
查看详细资料
TOP
hui158
发短消息
加为好友
当前离线
4
#
大
中
小
发表于 2008-10-8 02:21
只看该作者
8086内部共有14个16位的寄存器。
其中有:8个16位的通用寄存器(通用数据寄存器和通用地址寄存器各4个);
4个16位的段寄存器;
1个16位的状态标志寄存器;
1个16位的指令指针寄存器。
UID
16558
帖子
338
阅读权限
10
最后登录
2009-1-7
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››