|
主题 : : 1000:0 B8 01 00出的B8是什么啊 [待解决] |
回复[ 7次 ]
点击[ 696次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-03-24 23:31 ]
[引用]
[回复]
[ top ] | |
荣誉值:14
信誉值:0
注册日期:2008-03-23 07:47 |
|
|
|
|
|
[第1楼]
[ 回复时间:2008-03-25 09:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:342
信誉值:0
注册日期:2007-12-06 10:21 |
内存中的数据可以有两种解释:数据和指令。而当作指令的数据是代表指令标识符对应的机器码
比如,mov——>B8.不过机器码与指令是一一对应的,但是,指令与机器码并不一定是一一对应。有的指令能够对应不同的机器码序列。可以在学习过程中稍加留意,但是这个不影响我们对于语言本身的学习。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2008-03-25 10:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:14
信誉值:0
注册日期:2008-03-23 07:47 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-03-29 09:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:5
注册日期:2007-11-13 22:57 |
b8 机器码 1楼说的很对 这不影响 我们对于语言本身的学习···
b8 对应的应该是 mov 你可以在debug 中 实验 的·· | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-04-16 14:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-03-17 22:06 |
有收获,机器码与指令一一对应,但反过来就不一定成立了. | | |
|
|
|
|
[第5楼]
[ 回复时间:2008-04-18 03:01 ]
[引用]
[回复]
[ top ] | |
荣誉值:9
信誉值:0
注册日期:2008-04-17 02:17 |
如题,这个B8是什么啊.
------------------
回复:
如果你就这样问,我也不知道是什么?你说B8是什么就是什么,
举个例子,
因为计算机只能认识二进制,这个你应该知道,假如”0001“这个数值,计算机设计者规定他就是与指令mov ax,bx 对应,那么他就是一条指令,可以这么说 0001 就是mov ax,bx,他们等价,只不过一个是机器码表示,一个是我们人类直观表示,仅此而己,说到这里还要说明白一点,如果0001放在代码区他就是一条指令,刚才已经说过,如果放在数据区,那么它只一个数据罢了,这个就要看计算机怎么解释了(或是你把它放在什么地方就发挥着什么样的作用,嘿嘿,b8也是这个道理),说这么多不知道你明白没, | | |
|
|
|
|
[第6楼]
[ 回复时间:2008-04-21 14:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-20 22:34 |
王爽老师的《汇编语言》第二章2.10—CS和IP
机器码B8 23 01对应的汇编指令是mov ax,0123H
机器码89 D8对应的汇编指令是mov ax,bx
因此我同意一楼的:机器码与指令是一一对应的,但是,指令与机器码并不一定是一一对应。有的指令能够对应不同的机器码序列。 | | |
|
|
|
|
[第7楼]
[ 回复时间:2008-04-23 16:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-08-01 00:07 |
1000:0 B8 01 00
B8是段地址:偏移地址所指向内存单元中存储的机器码
这个物理地址是 1000*16+0 | | |