易码技术论坛

 找回密码
 加入易码
搜索
查看: 703376|回复: 21

简单的汇编编译原代码,不再改了。

[复制链接]
发表于 2005-9-11 13:31:00 | 显示全部楼层
支持啊~~WQX端的,虽然有限制,但是对于不能经常使用电脑的人还是好的!希望能将其完善,若能用汇编重写就好了(要求太苛刻了^_^)
发表于 2005-9-11 14:26:00 | 显示全部楼层
是什么的?LAVA的吗?
发表于 2005-9-11 20:57:00 | 显示全部楼层
是LAVA写的,但是编译后的文件属性是RW,这样就不能直接运行了,希望楼主能改一下~~应该是RWX才能被程序目录识别啊
发表于 2005-9-12 17:52:00 | 显示全部楼层
用什么语言写的倒不重要,只要实用就行

现在版本的编译功能和反汇编功能都有BUG!

另外感觉编译的速度不是很快,楼主不妨把编译过程中显示代码的功能去掉,反正也没什么用;

ps:属性为RWX并不是程序的问题,是GVmaker解释器决定的,在LAVA中也能解决,但不一定通用。最好的方法是直接修改GVmaker解释器.

[此贴子已经被作者于2005-9-12 20:01:07编辑过]

发表于 2005-9-13 18:26:00 | 显示全部楼层
用什么编写的直接影响通用性,万一下了用不了不是亏了?所以问一下啊.

至于要生成的文件有X属性,可以改一下LAVA.bin,很简单的,只要查

LDA#$XX

STA$XXXX

然后改一下就行了,XX和XXXX是生成文件时属性设置的值和地址.
 楼主| 发表于 2005-9-14 08:27:00 | 显示全部楼层
BUG?

我已经把我所知道的BUG都解决了,也许是我测试的程序还不够全面?我把我所见过的符合格式的程序都编译过,如果还有什么错误,麻烦大家发上来,我就可以再更正。

不过要特别注意些问题,lava竟然不能在应用程序下建立二级目录!编译完就会放在"/应用程序"下。

由于文本从pc端传到wqx时,文件会加长,所以就是打包传下来的纯文本也跟原文件有差异!这在编译器上是无法判断的,所以一定要用正常的传输工具下到wqx里,而且要在程序末尾至少留一个回车或';',只能用星端文本的方法编译,就是那些要include的“.h”的纯文本也要改成.txt再下传,还要改原程序的include路径,因为要是编译星文本,include都会fseek到24再开始读文件。

要是编译纯文本,只能是在wqx上编辑的纯文本。

更重要的问题是,千万别在保存文件时输入空文件名!目前这样我发现了3种结果:1,应用程序的目录变成大片乱码!2,出现了sysdir!3,所有文件全部丢失!每种问题都要格式化闪存!所以即便不小心编译了,也一定要输入文件名保存,再删也不迟。
 楼主| 发表于 2005-9-14 10:07:00 | 显示全部楼层
倒是在TC1000上也能改GVmaker,因为我用的TC1000,我是这么改的:

先进下GVmaker再进Asmfun,在$0822乱改几个字节,$85e改$70,$85d改$ef,$85e改$ff,$85b改0,$85c改$40,$e0改0,$e1改$80,然后在$2000写:

00150500180500170560

再G $2000。GVmaker就复制出来了,在用pacmgr找hex:a9cf8d,把$cf改$ef,再把后面的a9d08d中的$d0改$ff,保存!剩下的就不用说了吧!做个文件头,写个数据传送代码,把刚才生成的那个文件的代码发到$8000,然后jmp $80b8就行了。

把做好的文件覆盖到刚才用Asmfun生成的文件,之后就可以用这个改过属性的程序操作RWX文件了(最好用这个程序运行pacmgr把这个程序再复制到原位置再改个好看的名字[em07])。
 楼主| 发表于 2005-9-16 12:25:00 | 显示全部楼层
发现个严重的错误,由于宏文件操作的bug,编译器不会编译宏,现在正在第二次重写程序,变动极大,会完善不少语句,估计两个通宵就搞定了!
发表于 2005-9-17 19:40:00 | 显示全部楼层
严重支持!!!!改TC1000的GVMAKER 方法很好!!!!
发表于 2005-9-24 18:10:00 | 显示全部楼层
能不能把你给TC1000改好的GVMAKER传上来?
发表于 2005-10-1 15:33:00 | 显示全部楼层


对呀!大家很需要TC1K的复制出来的GVMAKER,发上来,[em05][em02]支持汇编版,好久没新文章了,加油呀。
 楼主| 发表于 2005-10-7 19:33:00 | 显示全部楼层
都有TC1000为什么自己不去做啊?

我的TC1000已经丢了,怎么传呀?!

我都说的很清楚了:

把$085E改成$70是写文件

$085F,$0860改成$EF和$FF是操作RWX属性的文件

$085B,$085C改成$00和$40是写文件的长度$4000

$E0,$E1改成$00和$80是要读GVmaker存放的地址

$0822改字符是不要把AsmFum覆盖了,注意要留扩展名".bin".

然后写001505是INT $0515打开文件,写001805是INT $0518写文件,写001705是INT $0517关闭文件

实在连发送程序的代码都不想写那就直接把$085B,$085C改成$00,$80.$E0和$E1改成$00和$40.执行上面的代码后直接把文件开头08的位置,就是那个$4C后面,改成$B8和$80,就是GVmaker的开始位置$80B8.

之后应用程序里就多了个文件,改文件的方法看原来写的,改完的文件就是RWX的GVM.
发表于 2005-11-6 17:59:00 | 显示全部楼层
TC1000的文件头怎么做呀?

我直接编译 LDA #$FF

          STA $0489

          并不能运行

是否须文件头?  
 楼主| 发表于 2005-11-7 00:25:00 | 显示全部楼层
当然!下面这样就行:

.db 0,0,0,0,0,0,0

jmp MAIN

.db 0,0,0,0,0,0

MAIN


发表于 2005-11-10 13:29:00 | 显示全部楼层
哈!哈!發個源碼上來,你便是世界上最好的!
发表于 2005-11-11 17:33:00 | 显示全部楼层
都能用的吗?都支持吗?
 楼主| 发表于 2005-11-30 21:53:00 | 显示全部楼层
回16楼:

我会在重编完(完全解决问题)后直接放上来代码,想用就自己编译,但是需要时间(不会很长)。
发表于 2005-12-3 12:47:00 | 显示全部楼层
lee停止了对TC1000-GVMAKER的升级,准确地说:他已开始,就不打算更新GVMAKER。不过好在还有“星迷”。

6131_22508_2461.rar

7 KB, 下载次数: 172

发表于 2005-12-14 19:25:00 | 显示全部楼层
255个标号太少了。。。。

根本写不了大的程序!!
 楼主| 发表于 2005-12-19 12:21:00 | 显示全部楼层
对于现在的情况,个人感觉这也只是帮助学习了,是不是星星平台也不很重要了,说实话,我因为TC1000已经丢了很长时间了,早就不再研究汇编了,而且现在在星星上也只能出于学习才去研究了,这个编译程序也是因为是用C语言编的,比较有意思,所以我才想把它弄完。

回楼上:也许楼上的还没用星星编过复杂的东西,在星星上编大东西太艰苦。还有,大于255个标号的话就分部分编译,到时候用BITMAP加进来就OK。

本来我的汇编水平就比较菜,所以将要发上来的编译汇编的C程序也会很菜,反正快要改完了。
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-24 19:59 , Processed in 0.011924 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表