一、ARMStrong是什么
GitHub地址: https://github.com/linouxis9/ARMStrong
一个使用Java编写的ARM模拟器,能够执行ARM汇编代码,可以用来练习ARM汇编。
是基于Unicorn和Keystone,其实就是在这些上面套了个方便使用的UI壳。
二、下载
在release页面下载最新的jar包即可:
https://github.com/linouxis9/ARMStrong/releases
需要注意的是要求JRE版本Java 11+,请安装合适版的JRE运行环境,我安装的是JDK15,官网只提供了jar包下载,但是在Windows下运行jar包是有些麻烦的,需要使用java -jar,将其封装为一个bat文件,同时隐藏黑框框:
1 | @echo off |
如图,然后现在只需要双击start-project-armstrong.bat
执行即可:
启动之后界面是这个样子的:
需要注意,使用上面的启动脚本需要java在path中,请自行安装配置。
三、运行ARM汇编
3.1 一个简单的加法
在编辑框中输入如下汇编,进行一个简单的加法:
1 | MOV R0, 0x1 |
然后执行,可以看到寄存器中的值被改变了,计算结果也正确的存储到了寄存器R2中:
3.2 官网的例子:修改显示
下面是官网的例子:
1 | LDR R0, =0x1F1000 |
需要打开显示:
然后运行:
四、源码速览
TODO 2021-7-25 13:52:33