- 积分
- 213
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|

楼主 |
发表于 2005-9-10 17:09:55
|
显示全部楼层
原代码:
#include 6688.inc
base 0a00000h
;#name EBIN. Entry-point for Binary file
#define strFN 0Fh:0800h
#define BFABuff 020h:0h
'Firmware : sl45v56
'Author : rizapn
'Created : March 2, 2005
''
'Executing binary file through entry point
'The needed BIN file should be *copied* into the
'file a:\zbin\zaX.bin ... (X = a..p)
'The entry-point are :
' zaa.bin -> 0E47310h, zab.bin -> 0E47314h, zac.bin -> 0E47318h,
' zad.bin -> 0E4731Ch, ... zap.bin -> 0E4734Ch
''
'We can also execute some other file, use mov r4, #YYXX
'then calls 0E47350h (filename = a:\zbin\zYX.bin). For example :
' zaq.bin -> E6F41000FAE45073 ; 1000 -> aq (10=16dec=q, 00=0=a)
' zba.bin -> E6F40001FAE45073 ; 0001 -> ba (00=a, 01=b)
org 0e47300h
db '** EBIN v1.0 ***'
mov r4, #0
jmpr cc_UC, ebin_main
mov r4, #1
jmpr cc_UC, ebin_main
mov r4, #2
jmpr cc_UC, ebin_main
mov r4, #3
jmpr cc_UC, ebin_main
mov r4, #4
jmpr cc_UC, ebin_main
mov r4, #5
jmpr cc_UC, ebin_main
mov r4, #6
jmpr cc_UC, ebin_main
mov r4, #7
jmpr cc_UC, ebin_main
mov r4, #8
jmpr cc_UC, ebin_main
mov r4, #9
jmpr cc_UC, ebin_main
mov r4, #10
jmpr cc_UC, ebin_main
mov r4, #11
jmpr cc_UC, ebin_main
mov r4, #12
jmpr cc_UC, ebin_main
mov r4, #13
jmpr cc_UC, ebin_main
mov r4, #14
jmpr cc_UC, ebin_main
mov r4, #15
jmpr cc_UC, ebin_main
ebin_main:
mov [-r0], r4
mov r12, #pof(ebin_fnend)-pof(ebin_fn)
mov [-r0], r12 ; copy filename template
mov r12, #pof(strFN) ; to the temporary buffer
mov r13, #pag(strFN)
mov r14, #pof(ebin_fn)
mov r15, #pag(ebin_fn)
calls memcpy
add r0, #2
mov r4, [r0+]
add r4, #6161h
mov r15, #pag(BFABuff) ; buffer for BIN file
mov r14, #pof(BFABuff)
mov r13, #pag(strFN) ; filename need to be opened
mov r12, #pof(strFN)
extp r13, #2
movb [r12+#9], rh4 ; modify 2 character of filename
movb [r12+#10], rl4
mov r5, #seg(BFABuff) ; function to be executed after FAM
mov r4, #ofs(BFABuff)
jmps fileopenFAM (就是这个不知哪个入口)
ebin_test:
rets
''
'Filename:
ebin_fn:
db 'a:\zbin\zaa.bin',0
ebin_fnend:
'' |
|