. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(CPU工作原理)
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
CPU怎么判断要读取的指令有多长,求大神指点。
[待解决]
回复[
1
次 ] 点击[
454
次 ]
502001334
[帖 主]
[ 发表时间:2016-06-28 11:36 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2016-06-25 09:24
书上2.10节说CPU会从CS:IP指向的内存单元读取指令,然后IP会自动加上所读取的指令长度。那么CPU是怎么判断要读取的指令有多长的呢?就是说cpu是怎么判断IP要加上多少呢?
13782727312
[第
1
楼]
[ 回复时间:2016-12-27 21:36 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2016-12-27 21:26
这涉及到指令系统的格式(操作码+地址码),如书上28页 mov ax,0123H 的机器码为 B82301
mov ax,bx 的机器码为 89D8
指令格式是设计好的,操作码确定时,这条指令的长度就确定了,比如上面的指令前两位都是10 可能就是mov操作 后边的是标志位 确定是寄存器与寄存器组合还是寄存器与内存地址组合 后边就是寄存器编号 和 寄存器或者内存单元地址 操作码确定后,后边就可以确定为一地址或二地址或。。。。这条指令的长度就确定了。
本人的一点拙见,去年大二的计算机硬件综合实验时看到的,在机器指令和微指令有详细设计方法,感兴趣可以去了解一下
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved