【发布时间】:2016-04-15 02:59:16
【问题描述】:
有人说汇编语言=机器语言,只是我们在汇编语言中使用助记符。
读了 Petzold 的《CODE》,我还是不明白有些汇编代码是怎么翻译成机器码的。
例如(来自 Tutorials Point 的组装课程):
_start: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
section .data
msg db 'Hello, world!', 0xa ;our dear string
我的理解是 msg 包含“Hello, world!”它已移至 ECX。
但据我所知,在 x86 中,ECX 只能存储 32 位。
那么我们如何移动“Hello, world!” - 超过 32 位 - 到 ECX 中?
那部分的等价物是什么
section .data
msg db 'Hello, world!', 0xa ;our dear string
在机器码中?
【问题讨论】:
标签: assembly executable