打印

[系统工具] 在PPC上汇编,运行速度飞快

在PPC上汇编,运行速度飞快

分类信息 - 系统工具

软件名称 ARMASM
软件版本 1.0.1
系统工具 其他工具
语言界面 英文
软件大小 300KB
特别提示 -
来源网址 -
发布日期 2009-02-15
软件简介 PPC上的汇编软件加简单教程(原创呵呵)
最近有些大侠关注了一下原来的一个帖子“PPC上做开发。。。”,其中有个ARMASM的软件,可以在PPC上编译汇编代码并运行,速度飞快。当时还没有研究出来怎么用,现在分享一下,希望更多感兴趣的大侠可以一起研究~~~

首先是软件的安装,需要把ARMASM文件夹放到“Storage Card”根目录下(改文件夹名也可以,但是要在跟目录,并且修改一下NARM.sbp程序的代码)。并且需要安装B4P来执行NARM.sbp,其实就是一个简单的warper,用来调用汇编软件编译成ARM的字节码。

下面以怎么编译并运行自带的例子(test1.asm)为例解释:

运行ARMasm.exe,会有这样的一个提示,其中包含了txt Section的地址,这个一般每个机器每次运行都不同,需要对应修改一下asm文件。


编写汇编代码中比较重要的就是WindowsAPI的调用,这里可以用菜单中的ASM->Show Imports来查看,比如要找“GetTickCount”这个函数(取得系统毫秒数用来计时),就这样填写:

并在程序中这样引用:

这样就可以用XGetTickCount这个函数指针在程序中调用API函数(这个函数比较简单无参数,标准函数的调用方法请参见附件电子书中APCS调用标准)

代码编写好以后就可以编译了,ARMasm自带的编译功能不能使用,只好写了个Warper来实现,即用Basic4ppc执行ARMASM文件夹中的Narm.sbp,如下图:

运行后:先用Select选择你需要编译的*.asm文件,然后运行Shell编译,缺点是报的错误一闪即过,修改错误就要多看语法,多尝试了。


编译好以后(编译到内存根目录的dump.bin文件中)就可以在ARMasm中执行了,执行的原理是把字节码加载到指定的内存位置,并把PC指向该位置。(现在还不能直接编译成*.exe文件)选择菜单ASM->RUN即可看到效果:


呵呵,然后上传附件,大家有问题可以提问:)(提问前先试试参考书上有没有答案哦,一定)
注:ARMASM文件夹中sys开头的asm文件是不能直接执行的,打算写一个编译器用,没有删掉。给大家做参考啦~

[ 本帖最后由 elulis 于 2009-3-5 13:27 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

第3个图中XGetTickCount后面漏了dcd~呵呵。

补充一下,编译成功时是没有任何提示的,即开到空白的控制台一闪而过。然后分析一下运行的结果与程序流程:

总共用到两个WindowsAPI,一个是MessageBox,一个是printf,分别用来显示一个对话框和按格式打印到内存的字符串中。很明显结果应该是4(mov r3,#1置r3为立即数1,然后左移两位:)

[ 本帖最后由 elulis 于 2009-2-16 12:28 编辑 ]

TOP

对了,记得原来做过一个测试,空循环1000万次用时不到一秒,这种汇编是不会被优化掉的。不要说我没图没真相哦~

TOP

挺有意思的...
SOFTBANK X01T,it's sophisticated...
ASUS P535 with 128M RAM works Excellent!!
It's really a Perfect Personal Digital Assistant without those bugs that are universal acknowledged...-_-p

TOP

汇编语言太高深了,学不会啊.

TOP

好东西,楼主是不是编程高手!请教下如何编写应用程序读写固定地址的值,我的目的是操作一写硬件的寄存器,谢谢!

TOP

引用:
原帖由 hshwalk 于 2009-2-25 11:40 发表
好东西,楼主是不是编程高手!请教下如何编写应用程序读写固定地址的值,我的目的是操作一写硬件的寄存器,谢谢!
感谢支持,正在努力成为高手中。。。。读写固定地址值可以在附件电子书的《寄存器装载和存储》中找到,写的还比较详细,主要注意传送多个数据时注意堆栈的类型,一般是满降序栈。注意别把机子搞坏了哦~

TOP

ok.................

TOP

ok.................

TOP

这都有? 这是太牛了

TOP

引用:
原帖由 pda520 于 2009-3-8 22:23 发表
这都有? 这是太牛了
:)<李宁广告语>

TOP

这都有? 这是太牛了

这都有? 这是太牛了

TOP

好软件

TOP

想看看
PPC上写代码 多羡慕

TOP

谢谢分享!高手

TOP