首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二进制编程资源

二进制编程资源
EN

Stack Overflow用户
提问于 2011-11-04 19:59:54
回答 5查看 208关注 0票数 4

我在互联网上到处搜索二进制程序,人们似乎唯一愿意给出的答案是:“你为什么要用二进制语言编程?”“这太蠢了,使用组装”“你不可能从中得到任何东西,学习是没有意义的。”

如果你是这些人之一,我感谢你的意见,但它没有回答我的问题。

虽然我不打算实际尝试用二进制进行编程,但我知道的原因是:

  1. 我有兴趣知道汇编命令背后的二进制指令,
  2. 我正在设计一个随机二进制指令生成的实验。我希望它们是有效的二进制命令,并且我希望能够解释如果运行这些命令会做什么。

话虽如此,有没有人知道可以学习二进制编程的任何资源?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-04 20:04:24

一般来说,汇编指令和机器代码之间有一对一的映射(您称之为二进制)。您可以在指令集架构文档中为您所关心的任何机器找到这些映射。流行的例子:

  1. Intel Software Developer Manuals,,特别是2A卷和2B.
  2. ARM Architecture Reference Manual
  3. THe MIPS Instruction Set
  4. 8051 Instruction Set Manual

您将能够为您想要使用的架构找到类似的文档。您可以使用这些手册中的信息来对给定程序的机器指令进行解码,并识别它们是如何从程序集源生成的,或者,如果您愿意,也可以手工组装您自己的程序。

票数 6
EN

Stack Overflow用户

发布于 2011-11-04 20:09:42

下面是我学习二进制文件时所做的工作: 1.打开命令提示符并键入"debug“作为命令。

  1. 在‘-’之后键入"a“。
  2. 在程序集中开始编程(请确保您使用的命令非常通用,例如。移动寄存器。)
  3. 只键入nothing并在执行时按enter键。
  4. 键入'd‘以查看二进制文件,并交叉引用几个程序。

请注意,要在实际二进制文件中进行编程,您需要一个十六进制编辑器。我用的是这个:

http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm

为了学习更复杂的语言(如c++),我的另一个想法是和程序集一样,但在十六进制编辑器中打开它。

票数 2
EN

Stack Overflow用户

发布于 2011-11-04 20:08:59

指令集手册非常有用,并具备一定程度的计算机硬件体系结构知识。下面是一些示例文档:

ARM:http://simplemachines.it/doc/arm_inst.pdf

英特尔:http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-software-developer-vol-1-2a-2b-3a-3b-manual.pdf

SPARC V9:http://www.sparc.com/standards/SPARCV9.pdf

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8015053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档