ARM架构的机器码和汇编指令互相转换

阅读: 评论:0

ARM架构的机器码汇编指令互相转换
因为项⽬的⼀些需求,需要查看⼀些汇编指令对应的机器码是什么,也需要查看⼀些机器码对应的汇编指令是啥,经过⽹上查的⼀些资料,到了⼀个⽐较轻量、⽅便、快捷的⽅法。
⾸先第⼀步需要配置arm-linux-gcc交叉编译环境;第⼆步将需要转换的机器码或者汇编指令写到⼀个.s⽂件中;第三步使⽤as和objdump命令进⾏编译和反汇编;最后你就得到了你要的结果。
立方氮化硼砂轮1. 配置arm-linux-gcc环境
sudo apt-get install gcc-arm-linux-gnueabi  //安装手机绑定
毛巾挂件arm-linux-gnueabi-gcc -v  //检查是否安装成功
2. 写⼀个.s⽂件,如下的test.s
可以使⽤正确的汇编指令,也可以使⽤伪指令的形式。
以下第⼀句是将0x100A700这个值放到pc中;第⼆句将⽴即数0放到寄存器R0中;第三句相当于RET。祛斑净
如果是将机器码转换为汇编指令,⽂件中的机器码前要加.inst,并且如果是⼩端的机器码的话,需要将
陶瓷球其转换为⼤端的形式,因为实验表明gcc可能是⼤端的。
3. 使⽤as和objdump进⾏编译和反汇编
as编译⽣成⽬标⽂件test.o,再将test.o反汇编输出如下。
左右对照机器码和汇编指令,注意这⾥的机器码是⼤端形式,汇编指令是正确的,not伪指令了。
第⼀句伪指令变成了两句汇编指令,数据部分放在了最后,然后将该数据对应的地址赋给pc。
第⼆句汇编指令对应的机器码就是e3a00000(⼤端),0000a0e3(⼩端)。
第四句的机器码对应的汇编指令就是 ldr pc,[pc,#-4]。
附加⼀些在线转换⼯具:
Online Assembler and Disassembler【多种架构】:
Online x86 / x64 Assembler and Disassembler【仅x86/x64】:连续退火炉
Online ARM to HEX Converter【ARM,部分指令,仅可单向转换】:

本文发布于:2023-05-19 01:10:37,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/104680.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:和利时OPC破解
下一篇:易语言防破解
标签:汇编   指令   机器码   编译   对应   转换   资料
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图