鱼C论坛

 找回密码
 立即注册
查看: 4385|回复: 13

汇编语言的问题,修改CS和ip那一章

[复制链接]
发表于 2013-1-17 12:14:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
20000H----20002H内存单元存放着:B8 23 01 对应的汇编指令mov ax,0123H
20003H---20005H存放着:BB 03  00汇编指令mov bx,0003H
20006H---20007H   89 D8  汇编指令 mov ax,bx
.....................................
我的问题是B8 23 01代表的就是MOV AX ,0123,,这个指令吗?以前的课程中书中没有说啊!B8是什么意思?还有BB,,89  D8,,这些,这些数和汇编指令有什么关系吗?求各位前辈指点指点,我真的好困惑啊。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-1-17 12:17:09 | 显示全部楼层
。。。。。。。。。。。。。。。。。。。。。。。。。。
[FGD}27A7_[8L{CVWIBDEYR.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-17 12:44:58 | 显示全部楼层

我的问题是B8 23 01代表的就是MOV AX ,0123,,这个指令吗?以前的课程中书中没有说啊!B8是什么意思?还有BB,,89  D8,,这些,这些数和汇编指令有什么关系吗?求各位前辈指点指点,我真的好困惑啊。。。
这章有讲的哇~不是说汇编语言是机器指令(机器码)的助记符吗?!这里的B8 23 01 就是机器码.本应是二进制来表示,不过,书写太长了,所以,就以16进制来表示!不知道我的理解的对不


◆ ◆
这里是快速回复,赶紧试试哦
我知道了


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-17 13:26:08 | 显示全部楼层
同学,你不用太纠结这个问题,内存里面存放的可以表示指令也可以表示数据,如二进制信息:
   1000100111011000  -〉十六进制:89 D8
        ─> 89D8H (数据)

   1000100111011000  
        ─> MOV AX,BX (指令)
一般情况下你用debug追踪一段程序执行过程,那么首先这段程序必然会被存放在内存中,就如你题中所说,此时B8 23 01(二进制10110100 00100011 00000001)就表示指令mov ax,0123h。但是当你没有加载程序的时候你在debug下用d命令查看的此时的内存地址(该地址必须重新启动或者被覆盖掉)存放的就只有神知道它代表啥了;还有到底B8 23 01是如何翻译成mov ax,0123h这点你就不需要知道了,不然微软就没啥搞头了,呵呵~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-17 13:35:25 | 显示全部楼层
找师傅,求师傅,本人一窍不通,求一个师傅,{:1_1:},虚心学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-17 13:42:51 | 显示全部楼层
用小甲鱼老师的话来说,这些以后会讲的,请听下下下下回分析~~~我也是刚学汇编,加个QQ好友一起学习吧~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-1-17 18:47:59 | 显示全部楼层

哈哈,我明白了,谢谢你老师。。真的非常感谢你,我一直纠结B8 23 01 这些数据是怎么翻译成mov ax,0123H.现在我明白了。谢谢你。老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-1-17 18:50:55 | 显示全部楼层
carzycode 发表于 2013-1-17 13:42
用小甲鱼老师的话来说,这些以后会讲的,请听下下下下回分析~~~我也是刚学汇编,加个QQ好友一起学习吧~~~~

额。。。可我现在好纠结的,我在学习的过程中,稍微遇到点疑问就拼命的也要把他弄明白。要不俺、然晚上睡觉都睡不着的。不过刚才楼上的师傅前辈已经帮我把困惑解决了,还是蛮开心的。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-17 22:24:55 | 显示全部楼层
你问的这些都是编译器解决的问题。我们还不需要去理解,继续往下学习吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-17 23:17:41 | 显示全部楼层
这个是内存中的内容吧,也就是数据,并不是表示的指令内容吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-18 11:19:08 | 显示全部楼层
lanmo 发表于 2013-1-17 13:26
同学,你不用太纠结这个问题,内存里面存放的可以表示指令也可以表示数据,如二进制信息:
   10001001110 ...

请问 B8是不是“写入AX的意思”?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-1-18 16:52:13 | 显示全部楼层
暂时不用理解这些东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-1-20 17:17:31 | 显示全部楼层
NGtailang 发表于 2013-1-17 22:24
你问的这些都是编译器解决的问题。我们还不需要去理解,继续往下学习吧。

谢谢你老师。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-1-20 17:18:34 | 显示全部楼层
568890662 发表于 2013-1-18 11:19
请问 B8是不是“写入AX的意思”?

呵呵,这个问题纠结了我好久好久,。。你也感到纠结吗?????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 00:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表