Pages vues depuis 25/07/2007 : 25 666 083
Index du forum »» OS4 toutes plateformes confondues »» Appel système en assembleur PPC sous OS4
#?Helloworld.p
.set?mainstack,2240
.set?mainstack2,2244
.set?reg_d0,0
.set?reg_d1,4
.set?reg_d2,8
.set?reg_a1,36
.set?reg_a6,56
.set?EmulCallDirectOS,100
.set?_LVOCloseLibrary,-552
.set?_LVOOpenLibrary,-552
.set?_LVOVPrintf,-954
.text
__start:
mflr?r0
stwu?r1,-mainstack(r1)
stw??r0,mainstack2(r1)
stw??r31,8(r1)
stw??r30,12(r1)
stw??r29,16(r1)
stw??r28,20(r1)
stw??r27,24(r1)
stw??r26,28(r1)
stw??r25,32(r1)
stw??r24,36(r1)
stw??r23,40(r1)
stw??r22,44(r1)
stw??r21,48(r1)
stw??r20,52(r1)
stw??r19,56(r1)
stw??r18,60(r1)
stw??r17,64(r1)
stw??r16,68(r1)
stw??r15,72(r1)
stw??r14,76(r1)
stw??r13,80(r1)
li???r11,4
lwz??r14,0(r11)?#?execbase?dans?r14
li???r13,0
#DEBUT?ouverture?des?bibliothèques
lis??r9,dosName@ha
stw??r13,reg_d0(r2)
addi?r9,r9,dosName@l
stw??r14,reg_a6(r2)
stw??r9,reg_a1(r2)
lwz??r0,EmulCallDirectOS(r2)
li???r3,_LVOOpenLibrary????????#?OpenLibeaey(libName,version)?(a1,d0)
mtlr?r0
blrl???????????????????????????#?call?function
mr?r15,r3
#MAIN
lis??r8,string1@ha
addi?r8,r8,string1@l
stw??r8,reg_d1(r2)???#?string
stw??r13,reg_d2(r2)??#?NULL
stw??r15,reg_a6(r2)??#?r15=DosBase
lwz??r0,EmulCallDirectOS(r2)
li???r3,_LVOVPrintf
mtlr?r0
blrl
#Fin?de?MAIN
CloseLibraries:
stw??r15,reg_a1(r2)?#?r15=DosBase
stw??r14,reg_a6(r2)
lwz??r0,EmulCallDirectOS(r2)
li???r3,_LVOCloseLibrary??#?CloseLibrary(library)?(a1)
mtlr?r0
blrl
exit:
li???r3,0??#?return?code?=?0
lwz??r14,76(r1)
lwz??r15,72(r1)
lwz??r16,68(r1)
lwz??r17,64(r1)
lwz??r18,60(r1)
lwz??r19,56(r1)
lwz??r20,52(r1)
lwz??r21,48(r1)
lwz??r22,44(r1)
lwz??r23,40(r1)
lwz??r24,36(r1)
lwz??r25,32(r1)
lwz??r26,28(r1)
lwz??r27,24(r1)
lwz??r28,20(r1)
lwz??r29,16(r1)
lwz??r30,12(r1)
lwz??r31,8(r1)
lwz??r0,mainstack2(r1)
addi?r1,r1,mainstack
mtlr?r0
blr
.type?__start,@function
.size?__start,$-__start
#DATA
dosName:
.string?"dos.library"
string1:
.string?"Hello?World!"
.sdata
.global?__amigappc__