首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ARM -如何将汇编语言转换成机器语言

ARM -如何将汇编语言转换成机器语言
EN

Stack Overflow用户
提问于 2017-02-01 04:26:35
回答 2查看 4.6K关注 0票数 1

我正在学习汇编语言,并试图理解如何将汇编语言转换为机器语言。我试着阅读资料,甚至询问我的教授,但都没有,helpful.This是我正在编写的以下代码:

代码语言:javascript
运行
复制
MOV R10, #63488 
LSL R9, R6, #7 
STR R4, [R11, R8] 
ASR R6, R7, R3

我找到了一个ARM到HEX转换器的网站,这是转换:

代码语言:javascript
运行
复制
3EABA0E3
8693A0E1
08408BE7
5763A0E1

有人能帮我解释一下这是怎么回事吗?非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2017-02-01 16:14:27

你需要的是ARM ARM (架构参考手册),它可以从Arm的网站上免费获得,尽管你可能需要注册。它包含所有可用指令的编码。

票数 4
EN

Stack Overflow用户

发布于 2017-02-02 10:48:53

Colin的答案基本上就是答案,只是添加了更多的信息。您需要的工具称为汇编器,而不是arm到十六进制转换器。然后,您可以使用反汇编程序来查看它,例如,在使用gnu工具的程序中:

代码语言:javascript
运行
复制
arm-none-eabi-as so.s -o so.o
arm-none-eabi-objdump -D so.o

产生

代码语言:javascript
运行
复制
00000000 <.text>:
   0:   e3a0ab3e    mov r10, #63488 ; 0xf800
   4:   e1a09386    lsl r9, r6, #7
   8:   e78b4008    str r4, [r11, r8]
   c:   e1a06357    asr r6, r7, r3

处理器如何解释机器代码在ARM ARM中有很好的文档记录,可能从ARMv5 one开始,它是较旧的不太复杂的one。所以谷歌arm架构参考手册,一些人非法地把它们放在那里,或者去infocenter.arm.com上获取真正的。

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

https://stackoverflow.com/questions/41966878

复制
相关文章

相似问题

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