鱼C论坛

 找回密码
 立即注册
查看: 1829|回复: 6

为什么是3二不是2?菜鸟求大神帮助!

[复制链接]
发表于 2014-5-30 18:50:51 | 显示全部楼层 |阅读模式
3鱼币
本帖最后由 天赐雨 于 2014-5-30 19:01 编辑

assume cs:codesg

codesg segment

    start:mov ax, offset start
          s:mov ax,offset s        ;这里为什么说相当于move ax 3   而不是move ax 2呢?                                                                           为啥是第一条指令是3个字节的机器码?
        
codesg ends

end start



最佳答案

查看完整内容

因為MOV 機械碼佔用三個字節, 所以START那一行是 0,1,2 共三個 S那一行是 3. 4 5 三個, 所以offset s 是代表第3個. mov 佔用三個機械碼 小甲魚已經多次提到了, 為什麼占用三個呢?這問題就不用糾結了, 編譯器就是這樣編的, 這種問題就像是為什麼1+1 = 2 一樣 編譯器規定就是規定, 除非你想研究機械碼, 機械碼沒啥好研究的, 先把匯編搞清楚吧!! 請給分, 感謝!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-30 18:50:52 | 显示全部楼层
本帖最后由 kikiatw 于 2014-5-30 20:24 编辑

因為MOV 機械碼佔用三個字節, 所以START那一行是 0,1,2 共三個
S那一行是 3. 4 5 三個, 所以offset s 是代表第3個.
mov 佔用三個機械碼 小甲魚已經多次提到了, 為什麼占用三個呢?這問題就不用糾結了, 編譯器就是這樣編的, 這種問題就像是為什麼1+1 = 2 一樣
編譯器規定就是規定, 除非你想研究機械碼, 機械碼沒啥好研究的, 先把匯編搞清楚吧!!

請給分, 感謝!!

评分

参与人数 1鱼币 +1 收起 理由
hackershit + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-30 21:38:47 | 显示全部楼层

感谢!那哪些是三个字节,哪些是2个字节或者其他,有说明么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-30 21:46:59 | 显示全部楼层
天赐雨 发表于 2014-5-30 21:38
感谢!那哪些是三个字节,哪些是2个字节或者其他,有说明么?

我看到有些mov指令是2个字节,有的MOV指令是3个字节这个又是为啥呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-31 06:37:36 | 显示全部楼层
mov 一個立即值到寄存器就是3個
mov 寄存器到寄存器就是2個
編譯出來的機械碼真的不用去糾結, 不然你學起來會很痛苦的,
後面有些例題是要你算跳到幾個指令以後, 像這種問題你只要自己照個寫一次
然後用debug看看是要跳到哪就好了, 真的不用去管它幾個字節

评分

参与人数 1鱼币 +2 收起 理由
天赐雨 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-1 09:13:19 | 显示全部楼层
offset代表偏移,偏移地址占2个字节,在加上MOV指令的操作码的字节数就是三个字节.
楼主先不要纠结机器码,这里面学问挺多的,都是一个工程师设计的,想楼上说的先把汇编学好.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-1 22:08:36 | 显示全部楼层
董登辉 发表于 2014-6-1 09:13
offset代表偏移,偏移地址占2个字节,在加上MOV指令的操作码的字节数就是三个字节.
楼主先不要纠结机器码,这 ...

哦,好!能弄清就弄清,不纠结了!(*^__^*)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-30 04:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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