2010-10-22 150 views
0

有没有办法使用纯x86 intel操作码而不是汇编助记符和指令编写程序,然后使用ML和LINK进行编译。例如,如果我尝试写55而不是推ebp ML认为它是一个整数。它是否需要一个特殊的编译器,或者如何编写一个操作码程序并编译它。x86 intel操作码汇编

回答

2

您可以使用db

db CDh,19h 

通话中断0x19。

+0

这是我正在寻找数据库55h转换为推ebp,我怎么会得到它认出8B EC,它看起来像会需要一个DW,但我怎么输入它作为两个单独的代码? – alphadev 2010-10-23 00:15:58

+0

你用逗号分隔它们吗? – smilingthax 2010-10-23 03:33:36

+0

然后我得到一个未定义的符号ECh? – alphadev 2010-10-23 03:37:28

0

汇编程序的工作是将mnemonix转换为二进制值。 x86是一个具有悠久历史的CISC指令集,所以这种翻译很难手动完成。

链接过程更糟,它会创建最终的可执行文件,这意味着创建大量结构。手动操作要困难得多。

如果你真的想用操作码写一些东西,可以使用十六进制编辑器(甚至是记事本,如果你知道所有的ASCII码:))并编写一个.COM程序。任何更复杂的(.exe)将是矫枉过正。