hi leute
gibt es irgendwo eine liste mit den abkürzungen für asm?
Li = ?
STW= ?
habe zwar eine abkürzungen in einem post gefunden, aber da gibt es ja noch mehr, wie ich gesehen habe.
würde mich freuen, wenn jemand einen link hat, oder sich einer die mühe machen könnte eine zu schreiben danke.
------------------------------------------------------------------------------------------------------------
hi people
is there somewhere a list with the abbreviations for asm?
Li =?
STW =?
Although an abbreviation in a post I found, but there's still more, as I've seen.
I would be delighted if someone has a link, or to make an effortless one could write to thank you.
You're asking what some of the ASM instructions mean? Out of their abbreviated forms?
Li = load immediate
Stw = store word (or half-word, or byte, depending on the last character)
http://class.ee.iastate.edu/cpre211/labs/quickrefPPC.html
That link has alot of the non-abbreviated names, among other things to do with ASM.
google 6xx_pem.pdf or 7xx_um.pdf
6xx is easier to read overall, but 7xx is the chip that the wii has
don't cheap out and get a quick ref. the full docs are where it's at
danke für die schnelle und kompetente hilfe.
ps. danke an alle hier die ihr großes und fundiertes wissen mit uns teilen. ;D
----------------------------------------------------------------------
thanks for the quick and competent help.
ps. thanks to everyone here who know their great sound and share it with us. ;D
It also helps to know some terminology.
An immediate is a value embedded into the instruction itself. It does not come from a register. Compare:
add r3, r4, r5 # adds r4 to r5 and stores the result in r3
addi r3, r4, 5 # adds the immediate 5 to r4 and stores the result in r3
A word is a 32-bit value (in general, a word is the width of a processor's registers; for the PPC, this is 32 bits). So:
stw r3, 0(r4) # stores 32-bits from r3 to the address [r4 + 0]
A half-word is a 16-bit value.
sth r3, 0(r4) # stores 16-bits from r3 to [r4+0]
hi
also gesucht wird nach einem sternen code wie bei mario.
--------------------------------------------------------
hi
code is so sought after stars like Mario.
81175134: code address
Disassemble:80040628: 901F01E8 stw r0,488(r31)
[spoiler] CR:48200484 XER:20000000 CTR:80150EB0 DSIS:02400000
DAR:81175134 SRR0:80040628 SRR1:0000B032 LR:800404F0
r0:0000016A r1:802CE338 r2:802C3C40 r3:0000016B
r4:0000016B r5:00000000 r6:00000000 r7:00000030
r8:00000002 r9:00000040 r10:00000022 r11:802CE328
r12:80150EB0 r13:802C2100 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:00000000 r26:93574D20 r27:91C42880
r28:00000000 r29:91C42DA0 r30:8020636C r31:81174F4C
f0:FFC00000 f1:59800004 f2:B9400000 f3:B7800000
f4:C281FFFE f5:42480000 f6:00000000 f7:3F800000
f8:59800004 f9:3FAEEDCB f10:BB394FFE f11:39D1B717
f12:C22BDC0A f13:00000000 f14:00000000 f15:00000000
f16:00000000 f17:00000000 f18:00000000 f19:00000000
f20:00000000 f21:00000000 f22:00000000 f23:00000000
f24:00000000 f25:00000000 f26:00000000 f27:00000000
f28:00000000 f29:00000000 f30:3E425D8D f31:3E425D8D[/spoiler]
[spoiler]
80040600: C00284B0 lfs f0,-31568(r2)
80040604: C8210080 lfd f1,128(r1)
80040608: EC211028 fsubs f1,f1,f2
8004060C: EC000072 fmuls f0,f0,f1
80040610: FC00001E fctiwz f0,f0
80040614: D8010088 stfd f0,136(r1)
80040618: 8001008C lwz r0,140(r1)
8004061C: 901F01E8 stw r0,488(r31)
80040620: 807F01E8 lwz r3,488(r31)
80040624: 3403FFFF subic. r0,r3,1
80040628: 901F01E8 stw r0,488(r31)
8004062C: 41810078 bgt- 0x800406a4
80040630: 38000000 li r0,0
80040634: 901F01E8 stw r0,488(r31)
80040638: 387F0108 addi r3,r31,264
8004063C: 4BFCC741 bl 0x8000cd7c
80040640: 801F0200 lwz r0,512(r31)
80040644: 3C608020 lis r3,-32736
80040648: 3863636C addi r3,r3,25452
8004064C: 54000776 rlwinm r0,r0,0,29,27
80040650: 5400066E rlwinm r0,r0,0,25,23
80040654: 901F0200 stw r0,512(r31)
80040658: 80030414 lwz r0,1044(r3)
8004065C: 2C000002 cmpwi r0,2
80040660: 40820020 bne- 0x80040680
80040664: 4800D591 bl 0x8004dbf4
80040668: 4800D5C5 bl 0x8004dc2c
8004066C: 2C030000 cmpwi r3,0
80040670: 41810018 bgt- 0x80040688
80040674: C0228478 lfs f1,-31624(r2)
80040678: 4BFFE1D9 bl 0x8003e850
8004067C: 4800000C b 0x80040688
80040680: C0228478 lfs f1,-31624(r2)
80040684: 4BFFE1CD bl 0x8003e850
80040688: 881F0212 lbz r0,530(r31)
8004068C: 28000002 cmplwi r0,2
80040690: 41820014 beq- 0x800406a4
80040694: 807F01BC lwz r3,444(r31)
80040698: 38A00000 li r5,0
8004069C: 809F01A8 lwz r4,424(r31)
800406A0: 4BFCF149 bl 0x8000f7e8
800406A4: 809F0200 lwz r4,512(r31)
800406A8: 54800673 rlwinm. r0,r4,0,25,25
800406AC: 41820058 beq- 0x80040704
800406B0: 807F01EC lwz r3,492(r31)
800406B4: 3403FFFF subic. r0,r3,1
800406B8: 901F01EC stw r0,492(r31)
800406BC: 41810048 bgt- 0x80040704
800406C0: 801F01E8 lwz r0,488(r31)
800406C4: 548306B0 rlwinm r3,r4,0,26,24
800406C8: 546304E2 rlwinm r3,r3,0,19,17
800406CC: 38800000 li r4,0
800406D0: 2C000000 cmpwi r0,0
800406D4: 909F01EC stw r4,492(r31)
800406D8: 907F0200 stw r3,512(r31)
800406DC: 4181000C bgt- 0x800406e8
800406E0: 5460066E rlwinm r0,r3,0,25,23
800406E4: 901F0200 stw r0,512(r31)
800406E8: 7FE3FB78 mr r3,r31
800406EC: 38800000 li r4,0[/spoiler]
1 woher weiß ich das das die richtige adresse ist?
2 wie müste ich den code schreiben so vieleicht?
1 how I know this is the right address?
2 as I write the code Müster maybe so?
Li r0,16b(r3)
stw r0,488(r31)
nop
80040624: 3403FFFF subic. r0,r3,1 # li r0, 9999
Infinite Starpower
04040624 3800270F
hi
nein es geht nicht um sternteile, sondern um einen unbesiegbar stern,sorry das ich mich falsch ausgedrückt habe
-------------------------------------------------------------------------------------------------------------
hi
no it's not about star-parts, but an invincible star, sorry that I have expressed myself wrong
Quote from: sniper82 on January 25, 2012, 07:18:04 PM
hi
nein es geht nicht um sternteile, sondern um einen unbesiegbar stern,sorry das ich mich falsch ausgedrückt habe
-------------------------------------------------------------------------------------------------------------
hi
no it's not about star-parts, but an invincible star, sorry that I have expressed myself wrong
der code sollte trotzdem gehen :P
the code may work anyways :P
nein der code geht leider nicht. das spiel startet nicht mal mit den code.
aber wie kommst du eigentlich auf diese adresse?
-------------------------------------------------
no, the code does not exist. The game does not start even with the code.
But how do you actually address this?
bei stw r0,488(r31) brauchst du nur mit li ersetzen.
Also li r0, 100
80040624 ist dann die Adresse die du nimmst weil da stw ist.
04040624 38000064
Da wo der Breakpoint anhält, den Instruction nimmst du.
Ich wusste auch immer nicht was ich da schreiben soll aber Bully@Wiiplaza hat das bei uns im Forum verständlich erklärt und seitdem kann ich ASM Codes ^^ Also wenn man das verstanden hat, flutscht das nur noch.
Also
du siehst im Breakpoint am ANFANG das.
80040628: 901F01E8 stw r0,488(r31)
so, die Adresse 80040628 benutzt du um dein neuen ASM an dieser stelle zu schreiben wo stw steht. Wenn du als beispiel ein stern bekommst, geht die CPU an diesen Punkt und führt dein ASM Code aus wo normalerweise stw stand aber li r0, 100 steht und dann ausgeführt wird. Die CPU liest den neuen Instruction und führt es dann aus und gibt dir 100 sterne oder leben oder sonstwas.
Die Value 901F01E8 musst du nicht soooo drauf achten. ist nur eine Hexadezimale darstellung von stw r0,488(r31)
Der grund wieso ASM nicht sofort funktionieren liegt daran, das der neue ASM Code quasi erst dann aktiv wird, wenn die CPU an dieser stelle erst geht. Solange an der stelle nicht vom CPU gelesen wird, passiert in der zeit auch nichts.
Beispiel, ein ASM Moon Jump würde erst gehen, wenn man springen tut. Springt man nicht im Spiel, bleibt der ASM quasi unberührt.
Wichtig ist aber auch der zeitpunkt vom Breakpoint. Wenn du im Lade Bildschirm Breakst, und dein Instruction reinschreiben tust, KANN es passieren das dieser Instruction im Spiel nicht mehr benötigt wird und somit bleibt der ASM Code unberührt. Denn wie gesagt, der ASM kann nur logischerweise an den Zeitpunkt aktiviert werden wenn zu diesen zeitpunkt auch vom CPU zugegriffen wird.
Demnächst werde ich ein Basic Guide veröffentlichen in Zusammenarbeit mit Bully das verständlich und in Deutsch erklärt wird wie man einfache ASM Codes erstellt weil -zur Hölle- kaum Deutsche Beschreibungen gibt das hier mal verständlich und auf Deutsch erklärt wird wie man das macht. Die Leute hier sind mir eh komisch da hier eigentlich viele Deutsche gibt könnten die mal Deutsche Unterforen eröffnen. Das hatte ich damals hier vorgeschlagen aber hier sind nur sture Köpfe und ignoranten.
hi
also so weit habe ich das verstanden was du mir sagen wolltest.
das mit den tut finde ich ne gute sache habe sowas auch in der art für anfänger gemacht zumindest das was ich bisher weis und gelernt habe, ist zwar nicht perfeckt, aber für die ersten schritte geeignet.
http://wiird.l0nk.org/forum/index.php/topic,9187.0.html
beim asm war es bisher er zufall wen ein code doch mal richtig funktioniert hat.
zum thema deutsch, ja da haste recht, aber wehre halt besser wenn man es auf deutsch und englisch posted, so mache ich es dan hat jeder was von. den es giebt hier wirklich fiele die deutsch reden da lohnt es sich.
danke für die erklärung. :D
------------------------------------------------------------------------
hi
So as far as I've understood what you wanted to tell me.
does so with that I find ne good thing I never done well in the art for beginners, at least from what I've learned-looking and is not perfeckt, but suitable for the first steps.
http://wiird.l0nk.org/forum/index.php/topic,9187.0.html
asm when it had been he who has one random code works but sometimes true.
subject to German, so there're right, but just defend better if you do it in German and English posted, so I dan what any of it. the fall, there are really the German talk because it's worth it.
Thanks for the explanation. :D
Quote from: megazig on January 25, 2012, 12:26:33 PM
google 6xx_pem.pdf or 7xx_um.pdf
6xx is easier to read overall, but 7xx is the chip that the wii has
don't cheap out and get a quick ref. the full docs are where it's at
I guess I could use a 500 page read or two. >.>
Well I probably could. I've been using these, though:
http://www.pds.twi.tudelft.nl/vakken/in101/labcourse/instruction-set/
http://wiird.l0nk.org/forum/index.php/topic,8768.0.html
I learned a nice amount during that thread's life. But you guys talk about stuff that you can't just pickup from a quick ref. I guess I'll do some reading during my free time. It's a lot more than the PRG ;_;
Schreibbefehle :
li = 8/16 bit = wie 00/02 codetype
lis = 16 bit = wie 02 codetype
lis and ori = 32 bit = wie 04 codetype
Speicher-Ladebefehle:
stb = speichert 8 bit value
sth = speichert 16 bit value
stw = speichert 32 bit value
lbz = ladet 8 bit value
lhz = ladet 16 bit value
lwz = ladet 21 bit value
Ein Beispiel wie man mit diesn Befehlen schon einen einfachen ASM code machen kann:
Wir nehmen an du möchtest z.B. unendlich leben haben. Deine Leben Adresse lautet 806E83C4.
Nun machst du einen Rechtsklick auf diese Adresse, klickst auf Breakpoint, stellst WRITE ein, klickst auf SET BREAKPOINT und verlierst noch ein leben bis das spiel freezt.
So nun erscheinen viele Adressen etc. Wir nehmen an dass das hier erscheint:
CR:88000088 XER:00000000 CTR:807A9AFC DSIS:00000000
DAR:00000000 SRR0:805858D0 SRR1:0000B032 LR:805858C0
r0:00000004 r1:80398FF8 r2:8038EFA0 r3:81123604
r4:000000FF r5:808B0000 r6:809C3844 r7:81123B98
r8:811206C4 r9:8111F694 r10:00000018 r11:80399018
r12:807A9AFC r13:8038CC00 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:802A4080 r22:00000000 r23:00000000
r24:00000001 r25:809C3614 r26:0000021C r27:81123604
r28:00000000 r29:80890000 r30:00000000 r31:806E83C4
f0:43110000 f1:00000000 f2:BD11A74D f3:40400000
f4:3FFFFA8F f5:4686C5F7 f6:468892D3 f7:C55D57A1
f8:C566446D f9:4689B06D f10:BE207C1F f11:B05F8DC3
f12:40400000 f13:00000000 f14:00000000 f15:00000000
f16:00000000 f17:00000000 f18:00000000 f19:00000000
f20:00000000 f21:00000000 f22:00000000 f23:00000000
f24:00000000 f25:00000000 f26:00000000 f27:00000000
f28:00000000 f29:00000000 f30:00000000 f31:BD21E55A
80040628: 901F0000 stw r0, 0 (r31) # Die erste Adresse ist immer unsere Hauptadresse!
8004062C: 41810078 bgt- 0x800406a4
80040630: 38000000 li r0,0
80040634: 901F01E8 stw r0,488(r31)
80040638: 387F0108 addi r3,r31,264
8004063C: 4BFCC741 bl 0x8000cd7c
80040640: 801F0200 lwz r0,512(r31)
80040644: 3C608020 lis r3,-32736
Wenn wir uns einmal die Adresse genauer angucken:
stw r0, 0 (r31) = r0 hat unsere lebens Value. r0:00000004
(r31) ist unsere Adresse die im RAM die lebens Value hat. r31:806E83C4
Der Befehl macht jetzt folgendes: Speichere die Value von r0 in r31.
Nun wie können wir unsere eigene Value schreiben? Wie gesagt, es gibt ja Schreibbefehle die wir nutzen können.
Da wir einen stw befehl haben (32 bit), müssen wir zum schreiben der value ebenfalls einen 32 bit Schreibbefehl verwenden.
lis r0,0x0000 # schreibe zu r0 : 0000XXXX
ori r0,r0,0x0063 # schreibe zu r0 : 000000064
stw r0, 0 (r31) # speichere die r0 value in r31 ( unsere lebens Adrsse)
Wenn wir unseren code mit dem "ASM helper tool" conventieren, dann kommt diese code raus:
C2040628 00000002
3C000000 60000063
901F0000 00000000
Einfach einmal den code aktivieren, ein leben verlieren und sehen was passiert^^ Das praktische daran ist, das man dafür nie mehr pointers nutzen muss.
Write Instructions:
li = 8/16 bit = like 00/02 codetype
lis = 16 bit = like 02 codetype
lis and ori = 32 bit = like 04 codetype
Store/Load instructions:
stb = store 8 bit value
sth = store 16 bit value
stw = store 32 bit value
lbz = load 8 bit value
lhz = load 16 bit value
lwz = load 21 bit value
hi leute
erstmal danke für die seiten und für die bomben erklärung.
bisher habe ich es auch so gemacht blos das meine codes so aufgebaut waren
lis rx,x
stw rx,x (rx)
nop
die codes laufen auch, aber schätze mal die andere art ist besser.
werde es morgen gleich mal bei kerby ausprobieren.
ps. die game config datei für kerby bringt das spiel zum absturz auch wenn kein code an ist.
bei kerby stürzt es immer dann ab wenn der lebens balken von der story verändert wird,
da widersprechen sich dann woll die angaben, da das spiel den lebens wert aus einer anderen adresse versucht zu schreiben,
kann man das proplem nicht mit einen on/off code lösen?
------------------------------------------------------------------------
hi people
thank you for the first part of the bomb and explanation.
so far I've only done so well that my codes were designed
lis rx, x
stw rx, x (rx)
nop
The codes run well, I guess, but other times the art is better.
'll try it tomorrow at the same time Kerby.
ps. the game config file for Kerby brings the game to crash even if no code is on.
at Kerby then it keeps crashing when the beam is changed by the life story,
since then wanted to contradict the disclosures, because the game tries to write the life value from another address,
you can not solve the proplem with an on / off code?
Quote from: -Ozelot- on January 30, 2012, 01:41:05 AM
bei stw r0,488(r31) brauchst du nur mit li ersetzen.
Also li r0, 100
Kleiner Einspruch!
Wenn du einen Breakpoint Write hast, musst du den "Store" Befehl beibehalten, weil die Value sonst nicht in den RAM geschrieben wird.
Bei einem Read Breakpoint ist es anders, da darf man den "Lade" Befehl mit einem li etc. ersetzen, da man ja etwas in das Register lädt, womit dann der CPU weiterarbeitet (also mit eurem Hack Wert).
Also müsstest du einen C2 Code schreiben, der so aussieht, wenn du die Value 100 schreiben willst...
Adresse: 80040628
li r0, 0x100
stw r0,488(r31)
ODERdu ersetzt irgendeinen der Befehle davor (subic) mit dem li, um auch einen
Einzeiler zu haben.
Das ist aber eher gefährlich und nicht immer offensichtlich, da man wissen muss, welcher Befehl z.B. den Wert abändert.
Sonst freezt es schneller als ihr gucken könnt^^
Laut dcx2 ist li und stw ein alignment fail. Kann schon sein das es funktioniert aber man sollte sich schon eher an die Instruction halten. Wie bei den Codetypes. Wenn man 00 nutzen dann schreibt man ja auch keine 32 bit Value.
Also bei stw sollte eher lis und ori verwendet werden, wie dcx2 schonmal gesagt hat.
aslo hier bleibt dar breakpointer stehen
32 bit suche in 80 memory range gesucht wurde leben gefundende adresse 81175114
[spoiler]CR:88200484 XER:00000000 CTR:00000001 DSIS:02400000
DAR:81175114 SRR0:80041BAC SRR1:0000B032 LR:8005F640
r0:8005F618 r1:802CE448 r2:802C3C40 r3:81174F4C
r4:00000015 r5:00000006 r6:00000008 r7:00000030
r8:91C40870 r9:00000040 r10:00000022 r11:00000007
r12:8005FDFC r13:802C2100 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:00000000 r26:93574D20 r27:00000000
r28:00000000 r29:00000000 r30:81173D0C r31:81173CF4
f0:3F800000 f1:41F00000 f2:41F80000 f3:00000000
f4:00000000 f5:00000000 f6:BE130C82 f7:BE9A7C6C
f8:3D81672B f9:3E13C2D3 f10:BF729621 f11:00000000
f12:511502F9 f13:00000000 f14:00000000 f15:00000000
f16:00000000 f17:00000000 f18:00000000 f19:00000000
f20:00000000 f21:00000000 f22:00000000 f23:00000000
f24:00000000 f25:00000000 f26:00000000 f27:00000000
f28:00000000 f29:00000000 f30:00000000 f31:00000000
-------------------------------------------------------------------
80041B84: 48000010 b 0x80041b94
80041B88: 80030200 lwz r0,512(r3)
80041B8C: 540007B8 rlwinm r0,r0,0,30,28
80041B90: 90030200 stw r0,512(r3)
80041B94: 80010014 lwz r0,20(r1)
80041B98: 83E1000C lwz r31,12(r1)
80041B9C: 7C0803A6 mtlr r0
80041BA0: 38210010 addi r1,r1,16
80041BA4: 4E800020 blr
80041BA8: 28040063 cmplwi r4,99
80041BAC: 908301C8 stw r4,456(r3)
80041BB0: 4C810020 blelr-
80041BB4: 38000063 li r0,99
80041BB8: 900301C8 stw r0,456(r3)
80041BBC: 4E800020 blr
80041BC0: 38000001 li r0,1
80041BC4: 80A30200 lwz r5,512(r3)
80041BC8: 7C002030 slw r0,r0,r4
80041BCC: 7CA00378 or r0,r5,r0
80041BD0: 90030200 stw r0,512(r3)
80041BD4: 4E800020 blr
80041BD8: 38000001 li r0,1
80041BDC: 80630200 lwz r3,512(r3)
80041BE0: 7C002030 slw r0,r0,r4
80041BE4: 7C630038 and r3,r3,r0
80041BE8: 7C0300D0 neg r0,r3
80041BEC: 7C001B78 or r0,r0,r3
80041BF0: 54030FFE rlwinm r3,r0,1,31,31
80041BF4: 4E800020 blr
80041BF8: 38000001 li r0,1
80041BFC: 80A30200 lwz r5,512(r3)
80041C00: 7C002030 slw r0,r0,r4
80041C04: 7CA00078 andc r0,r5,r0
80041C08: 90030200 stw r0,512(r3)
80041C0C: 4E800020 blr
80041C10: 80E301C4 lwz r7,452(r3)
80041C14: 3CA00099 lis r5,153
80041C18: 3805967F subi r0,r5,27009
80041C1C: 80C301D4 lwz r6,468(r3)
80041C20: 7CA72214 add r5,r7,r4
80041C24: 90A301C4 stw r5,452(r3)
80041C28: 7C050040 cmplw r5,r0
80041C2C: 7C862214 add r4,r6,r4
80041C30: 908301D4 stw r4,468(r3)
80041C34: 40810008 ble- 0x80041c3c
80041C38: 900301C4 stw r0,452(r3)
80041C3C: 80030200 lwz r0,512(r3)
80041C40: 60004000 ori r0,r0,16384
80041C44: 90030200 stw r0,512(r3)
80041C48: 4E800020 blr
80041C4C: 808301C8 lwz r4,456(r3)
80041C50: 800301CC lwz r0,460(r3)
80041C54: 90830204 stw r4,516(r3)
80041C58: 90030208 stw r0,520(r3)
80041C5C: 4E800020 blr
80041C60: 80830204 lwz r4,516(r3)
80041C64: 80030208 lwz r0,520(r3)
80041C68: 908301C8 stw r4,456(r3)
80041C6C: 900301CC stw r0,460(r3)
80041C70: 4E800020 blr [/spoiler]
----------------------------------------------------------------------------------
habe den code dann so geschrieben
lis r4,0x0000
ori r4,r4,0x0063
stw r4,0 (r3) (spiel friert ein)
lis r4,0x0000
ori r4,r4,0x0063
stw r4,456 (r3) (spiel friert ein)
alte art
lis r4,63
stw r4,456 (r3)
nop (spiel friert ein)
so nun weis ich nicht weiter kann sein das es an dem 81 liegt :confused:
so habe ich den zeit code für das spiel geschrieben und der geht
adresse 8004ECEC
lis r0,300
stw r5,164(r31)
nop
Quote from: Deathwolf on January 30, 2012, 10:43:16 PM
Laut dcx2 ist li und stw ein alignment fail. Kann schon sein das es funktioniert aber man sollte sich schon eher an die Instruction halten. Wie bei den Codetypes. Wenn man 00 nutzen dann schreibt man ja auch keine 32 bit Value.
Also bei stw sollte eher lis und ori verwendet werden, wie dcx2 schonmal gesagt hat.
nee.. li ist 16bit und stw ist 32bit.
li -> 0000XXXX
wenn ich dann stw mache, schreibe ich diese value in den RAM -> 0000XXXX.
Ich weiß nicht, was daran falsch sein soll. So habe ich es schon 100 mal gemacht und funzt.
FALLS ich aber nicht die ersten 16bit mit nullen überschreiben will, nehme ich halt ori her.
das mit li und stw meinte ich ja mit Read. Ist mir auch schon aufgefallen das wenn ich write benutze, stw beibehalten muss und ein C2 schreiben muss.
Nur wenn ich ein 8Bit oder 16Bit Value habe und nutze read und der Breakpoint hält bei lwz an, dann kann ich doch laut bully einfach nur mit li ersetzen. Wenn es funktioniert, wieso soll man sich ganz genau an die instructions halten wenn es funktioniert?
Ist genauso wenn ich float schreibe.
lis r12, 0x3F99 (3F99999A)
ori r12, r12, 0x999A (3F99999A)
stw r12, 24(r29) <- Füge die 2x16Bit zusammen = 32Bit (3F99999A)
lfs f1, 24(r29) <- Schreibe als Float
So verstehe ich das mit li, lis, ori, oris und stw.
Mit Read hatte ich bis jetzt keine probleme gehabt, Ich nutze aber auch Write.
Und wo findet man hier in diesen gott verdammten Forum oder web mal Deutsche Anleitungen?
Man ist FASST selbst gezwungen sich Hilfe von ürgend jemand zu holen wenn die Leute hier zumteil gleich angepisst sind ^^ Der einzige person den ich frage war bisher Bully. Ok, Death bisschen.
PS: Wo steht die Regel das stw mit li fail ist? WENN das so wäre, dürfte man garnicht in gecko.NET stw mit li ersetzen wenn es die Instruction nicht zulassen würde. Da man es aber machen KANN, verstößt nicht die Regel. ABER man sollte natürlich nicht gerade da schreiben wo im 32Bit wichtige Valuen sind die man nicht überschreiben sollte, also nur li, das könnte EVENTUELL in die hose gehen. Das wäre ein grund stw nicht mit li zu ersetzen. WENN aber im RAM nur 8 und 16Bit geschrieben wird, sehe ich kein grund stw nicht mit li zu ersetzen (Ist das gleiche wenn ich dann mit Codetype 00 und 02 an der stelle benutzen würde). Das gleiche mit lwz. Da lässt die Instruction auch zu das ich es mit li ersetzen kann. Wenn es nach den Regeln gehen würde, dürfte man auch das nicht machen.
Also Death, wenn ürgendwas ist, werde ich in zukunft auch an dir wenden ^^
Deathwolf, wenn es dir erlaubt ist, werde ich dein Beispiel den du geschrieben hast mir das Notieren DENN ich beschäftige gerade erst 1 Woche intensiv mit ASM. Also auch ich kann mich irren aber wie ich das oben beschrieben habe mit dem float beispiel, so sehe ich das ganze und so hatte mir Bully auch so erklärt.
Also müsst ihr das auch ambesten wissen und es auch so vermitteln was richtig ist und nicht das ich mir jedesmal anhören muss wie; NEIIIIIIIN, IST FAILLLL bla bla , dcx2 SAGTE SOOOOO, NEIN SO NICHT und so weiter...
ich liebe dieses Forum xD Es wird behauptet aber ansatzweise eine vernüftige beschreibung findet man hier weit und breit nicht. TOP!
Also Death, nicht wegen dir oder so ^^
Quote from: sniper82 on January 31, 2012, 06:32:16 AM
aslo hier bleibt dar breakpointer stehen
32 bit suche in 80 memory range gesucht wurde leben gefundende adresse 81175114
[spoiler]CR:88200484 XER:00000000 CTR:00000001 DSIS:02400000
DAR:81175114 SRR0:80041BAC SRR1:0000B032 LR:8005F640
r0:8005F618 r1:802CE448 r2:802C3C40 r3:81174F4C
r4:00000015 r5:00000006 r6:00000008 r7:00000030
r8:91C40870 r9:00000040 r10:00000022 r11:00000007
r12:8005FDFC r13:802C2100 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:00000000 r26:93574D20 r27:00000000
r28:00000000 r29:00000000 r30:81173D0C r31:81173CF4
f0:3F800000 f1:41F00000 f2:41F80000 f3:00000000
f4:00000000 f5:00000000 f6:BE130C82 f7:BE9A7C6C
f8:3D81672B f9:3E13C2D3 f10:BF729621 f11:00000000
f12:511502F9 f13:00000000 f14:00000000 f15:00000000
f16:00000000 f17:00000000 f18:00000000 f19:00000000
f20:00000000 f21:00000000 f22:00000000 f23:00000000
f24:00000000 f25:00000000 f26:00000000 f27:00000000
f28:00000000 f29:00000000 f30:00000000 f31:00000000
-------------------------------------------------------------------
80041B84: 48000010 b 0x80041b94
80041B88: 80030200 lwz r0,512(r3)
80041B8C: 540007B8 rlwinm r0,r0,0,30,28
80041B90: 90030200 stw r0,512(r3)
80041B94: 80010014 lwz r0,20(r1)
80041B98: 83E1000C lwz r31,12(r1)
80041B9C: 7C0803A6 mtlr r0
80041BA0: 38210010 addi r1,r1,16
80041BA4: 4E800020 blr
80041BA8: 28040063 cmplwi r4,99
80041BAC: 908301C8 stw r4,456(r3)
80041BB0: 4C810020 blelr-
80041BB4: 38000063 li r0,99
80041BB8: 900301C8 stw r0,456(r3)
80041BBC: 4E800020 blr
80041BC0: 38000001 li r0,1
80041BC4: 80A30200 lwz r5,512(r3)
80041BC8: 7C002030 slw r0,r0,r4
80041BCC: 7CA00378 or r0,r5,r0
80041BD0: 90030200 stw r0,512(r3)
80041BD4: 4E800020 blr
80041BD8: 38000001 li r0,1
80041BDC: 80630200 lwz r3,512(r3)
80041BE0: 7C002030 slw r0,r0,r4
80041BE4: 7C630038 and r3,r3,r0
80041BE8: 7C0300D0 neg r0,r3
80041BEC: 7C001B78 or r0,r0,r3
80041BF0: 54030FFE rlwinm r3,r0,1,31,31
80041BF4: 4E800020 blr
80041BF8: 38000001 li r0,1
80041BFC: 80A30200 lwz r5,512(r3)
80041C00: 7C002030 slw r0,r0,r4
80041C04: 7CA00078 andc r0,r5,r0
80041C08: 90030200 stw r0,512(r3)
80041C0C: 4E800020 blr
80041C10: 80E301C4 lwz r7,452(r3)
80041C14: 3CA00099 lis r5,153
80041C18: 3805967F subi r0,r5,27009
80041C1C: 80C301D4 lwz r6,468(r3)
80041C20: 7CA72214 add r5,r7,r4
80041C24: 90A301C4 stw r5,452(r3)
80041C28: 7C050040 cmplw r5,r0
80041C2C: 7C862214 add r4,r6,r4
80041C30: 908301D4 stw r4,468(r3)
80041C34: 40810008 ble- 0x80041c3c
80041C38: 900301C4 stw r0,452(r3)
80041C3C: 80030200 lwz r0,512(r3)
80041C40: 60004000 ori r0,r0,16384
80041C44: 90030200 stw r0,512(r3)
80041C48: 4E800020 blr
80041C4C: 808301C8 lwz r4,456(r3)
80041C50: 800301CC lwz r0,460(r3)
80041C54: 90830204 stw r4,516(r3)
80041C58: 90030208 stw r0,520(r3)
80041C5C: 4E800020 blr
80041C60: 80830204 lwz r4,516(r3)
80041C64: 80030208 lwz r0,520(r3)
80041C68: 908301C8 stw r4,456(r3)
80041C6C: 900301CC stw r0,460(r3)
80041C70: 4E800020 blr [/spoiler]
----------------------------------------------------------------------------------
habe den code dann so geschrieben
lis r4,0x0000
ori r4,r4,0x0063
stw r4,0 (r3) (spiel friert ein)
lis r4,0x0000
ori r4,r4,0x0063
stw r4,456 (r3) (spiel friert ein)
alte art
lis r4,63
stw r4,456 (r3)
nop (spiel friert ein)
so nun weis ich nicht weiter kann sein das es an dem 81 liegt :confused:
so habe ich den zeit code für das spiel geschrieben und der geht
adresse 8004ECEC
lis r0,300
stw r5,164(r31)
nop
Ich kann dir auch sagen warum das Spiel freezt... Du hast etwas sehr wichtiges bei der stw instruction vergesssen!
Schau dir nochmal deine originale instruction an.
80041BAC: 908301C8 stw r4,456(r3)
Deine verwendeten instruction sind richtig!
lis r4,0x0000
ori r4,r4,0x0063
stw r4,456 (r3)
Das heißt so viel wie, addiere die 456 (1C8 in hex) zu r3 (81174F4C + 1C8 = 81175114) und es ergibt sich genau die Adresse die du beschrieben hast.
Du darfst nicht die Zahl dazwischen ( also 456) einfach mit einem 0 ersetzen. Ebenso darfst du auch nicht die 0x bei lis und ori vergessen, denn sonst schreibst du nicht 99 sondern was anderes.
Bei meinem Beispiel haben wir nur angenommen das die Zahl dazwischen 0 ist. Aber das ist immer verschieden also nicht die originale Zahl vergessen!!
Hier ist nun dein Assembleter code:
C2041BAC 00000002
3C800000 60840063
908301C8 00000000
@ Ozelot, ja jetzt ist das Forum schon eher brauchbar. Schön zu sehen das dcx2 und andere Mods nicht mehr so aktiv sind und nicht wieder mal mit Drohungen kommen. Außerdem finde ich es toll das ein deutschsprachiger Hacker zu ASM übergeht^^ Wir wissen beide das dcx2 bisschen nen Schaden hat wenn ich das mal so sagen darf xD
Du kannst das Beispiel gerne verwenden :)
Quote from: -Ozelot- on January 31, 2012, 07:08:45 AM
lis r12, 0x3F99 (3F99999A)
ori r12, r12, 0x999A (3F99999A)
stw r12, 24(r29) <- Füge die 2x16Bit zusammen = 32Bit (3F99999A)
lfs f1, 24(r29) <- Schreibe als Float Lade Wert in Float Register (original Befehl)
Quote from: -Ozelot- on January 31, 2012, 07:08:45 AM
ich liebe dieses Forum xD Es wird behauptet aber ansatzweise eine vernüftige beschreibung findet man hier weit und breit nicht. TOP!
Joa, gescheite tuts zu dem zeug findet man nicht und in deutsch erst Recht nicht.
Nur bruchstückhaft eben in Englisch wenn man sich rund 100 Themen reinzieht^^
Ich würde sogar behaupten, dass wir auf wiiplaza sinnvollere deutsche ASM Tuts haben als hier auf WiiRd in Englisch (!).
Quote from: -Ozelot- on January 31, 2012, 07:08:45 AM
PS: Wo steht die Regel das stw mit li fail ist? WENN das so wäre, dürfte man garnicht in gecko.NET stw mit li ersetzen wenn es die Instruction nicht zulassen würde. Da man es aber machen KANN, verstößt nicht die Regel. ABER man sollte natürlich nicht gerade da schreiben wo im 32Bit wichtige Valuen sind die man nicht überschreiben sollte, also nur li, das könnte EVENTUELL in die hose gehen. Das wäre ein grund stw nicht mit li zu ersetzen. WENN aber im RAM nur 8 und 16Bit geschrieben wird, sehe ich kein grund stw nicht mit li zu ersetzen (Ist das gleiche wenn ich dann mit Codetype 00 und 02 an der stelle benutzen würde). Das gleiche mit lwz. Da lässt die Instruction auch zu das ich es mit li ersetzen kann. Wenn es nach den Regeln gehen würde, dürfte man auch das nicht machen.
Und dass man li und stw nicht kombinieren soll ist völliger Schwachsinn, wirklich!
Es kommt immer drauf an, was man erreichen will. Hat man einen 8 oder 16bit Wert ist es völlig OK, nur wenn man z.B. ne float schreiben will, ist es natürlich quatsch li zu benutzen. Ist ja genauso mit allen anderen Befehlen, der CPU denkt sich nicht den Code aus, sondern der Hacker! Also müsst ihr die passenden Befehle nutzen. ich spreche zudem aus Erfahrung :eek:
Quote
@ Ozelot, ja jetzt ist das Forum schon eher brauchbar. Schön zu sehen das dcx2 und andere Mods nicht mehr so aktiv sind und nicht wieder mal mit Drohungen kommen. Außerdem finde ich es toll das ein deutschsprachiger Hacker zu ASM übergeht^^ Wir wissen beide das dcx2 bisschen nen Schaden hat wenn ich das mal so sagen darf xD
Du kannst das Beispiel gerne verwende
Echt? er ist kaum noch aktiv? wtf. und James? Habe mein Password vom Database verloren. naja egal.
Von dir hört man auch kaum nochwas ^^
Quote
Und dass man li und stw nicht kombinieren soll ist völliger Schwachsinn, wirklich!
Es kommt immer drauf an, was man erreichen will. Hat man einen 8 oder 16bit Wert ist es völlig OK, nur wenn man z.B. ne float schreiben will, ist es natürlich quatsch li zu benutzen. Ist ja genauso mit allen anderen Befehlen, der CPU denkt sich nicht den Code aus, sondern der Hacker! Also müsst ihr die passenden Befehle nutzen. ich spreche zudem aus Erfahrung shocked
Ja Bully, darauf wollte ich hinaus mit mein Text! Das meine ich ^^
Naja sind beide nicht mehr sooo aktiv.
Aber ja doch, steige demnächst in Mario Kart Wii hacking ein :p
hi zusammen
also habe den code ausprobiert den Deathwolf mir geschrieben hat. spiel stürzt ab leider :'(
gecko net zeigt mir dan den breakpoint
[spoiler] CR:48200484 XER:00000000 CTR:00000000 DSIS:06000000
DAR:000001C8 SRR0:800028D0 SRR1:0000B032 LR:8004ECD8
r0:00000001 r1:802CE3F8 r2:802C3C40 r3:00000000
r4:00000063 r5:802CE310 r6:802CE31C r7:802CE328
r8:00000002 r9:00000040 r10:0000000A r11:802CE368
r12:8004363C r13:802C2100 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:00000000 r26:93574D20 r27:91C42880
r28:00000004 r29:91C42E10 r30:8020636C r31:91C42E00
f0:00000000 f1:00000000 f2:00000000 f3:00000000
f4:00000000 f5:00000000 f6:00000000 f7:00000000
f8:59800004 f9:00000000 f10:3B3CBE61 f11:39D1B717
f12:C1D81840 f13:00000000 f14:00000000 f15:00000000
f16:00000000 f17:00000000 f18:00000000 f19:00000000
f20:00000000 f21:00000000 f22:00000000 f23:00000000
f24:00000000 f25:00000000 f26:00000000 f27:00000000
f28:00000000 f29:00000000 f30:00000000 f31:00000000
800028A8: 00000000 .word 0x00000000
800028AC: 00000000 .word 0x00000000
800028B0: 00000000 .word 0x00000000
800028B4: 00000000 .word 0x00000000
800028B8: 00D0C0DE .word 0x00d0c0de
800028BC: 00D0C0DE .word 0x00d0c0de
800028C0: C2041BAC lfs f16,7084(r4)
800028C4: 00000002 .word 0x00000002
800028C8: 3C800000 lis r4,0
800028CC: 60840063 ori r4,r4,99
800028D0: 908301C8 stw r4,456(r3)
800028D4: 4803F2DC b 0x80041bb0
800028D8: 00003181 .word 0x00003181
800028DC: 00000000 .word 0x00000000
800028E0: FFFFFFFF fnmadd. f31,f31,f31,f31
800028E4: FFFFFFFF fnmadd. f31,f31,f31,f31
800028E8: 00000000 .word 0x00000000
800028EC: 00000000 .word 0x00000000
800028F0: 00000000 .word 0x00000000
800028F4: 00000000 .word 0x00000000
800028F8: 00000000 .word 0x00000000
800028FC: 00000000 .word 0x00000000
80002900: 00000000 .word 0x00000000
80002904: 00000000 .word 0x00000000
80002908: 00000000 .word 0x00000000
8000290C: 00000000 .word 0x00000000
80002910: 00000000 .word 0x00000000
80002914: 00000000 .word 0x00000000
80002918: 00000000 .word 0x00000000
8000291C: 00000000 .word 0x00000000
80002920: 00000000 .word 0x00000000
80002924: 00000000 .word 0x00000000
80002928: 00000000 .word 0x00000000
8000292C: 00000000 .word 0x00000000
80002930: 00000000 .word 0x00000000
80002934: 00000000 .word 0x00000000
80002938: 00000000 .word 0x00000000
8000293C: 00000000 .word 0x00000000
80002940: 00000000 .word 0x00000000
80002944: 00000000 .word 0x00000000
80002948: 00000000 .word 0x00000000
8000294C: 00000000 .word 0x00000000
80002950: 00000000 .word 0x00000000
80002954: 00000000 .word 0x00000000
80002958: 00000000 .word 0x00000000
8000295C: 00000000 .word 0x00000000
80002960: 00000000 .word 0x00000000
80002964: 00000000 .word 0x00000000
80002968: 00000000 .word 0x00000000
8000296C: 00000000 .word 0x00000000
80002970: 00000000 .word 0x00000000
80002974: 00000000 .word 0x00000000
80002978: 00000000 .word 0x00000000
8000297C: 00000000 .word 0x00000000
80002980: 00000000 .word 0x00000000
80002984: 00000000 .word 0x00000000
80002988: 00000000 .word 0x00000000
8000298C: 00000000 .word 0x00000000
80002990: 00000000 .word 0x00000000
80002994: 00000000 .word 0x00000000[/spoiler]
die werte wurden geschrieben aber für das spiel macht es woll keinen sin.
Wo ist die Adresse von r3 hin??
weis ich nicht wie gesagt habe den code von dir eingetragen dann ist das spiel gefrest gecko zeigte mir ein fenster mit ja oder nein habe ja gedrückt resultat sihst du ja
Was hast du überhaupt genommen? Read, Write oder Read/Write?
Was mir auffällt
800028C0: C2041BAC lfs f16,7084(r4)
800028C4: 00000002 .word 0x00000002
800028C8: 3C800000 lis r4,0
800028CC: 60840063 ori r4,r4,99
800028D0: 908301C8 stw r4,456(r3)
---------------------------------------------------------
C2041BAC 00000002
3C800000 60840063
908301C8 00000000
Was ist dir genau aufgefallt Ozelot?
Wundert mich wieso der cpu nicht mit dem C2 code zurecht kommt....
Probiere mal diesen code aus:
C6041BAC 800001C0
060001C0 00000010
3C800000 60840063
908301C8 480419E4
yes sir!
@Deathwolf, works too?
lis r12,0x0000
ori r12,r12,0x0063
stw r12,456 (r3)
r0:8005F618 r1:802CE448 r2:802C3C40 r3:81174F4C
r4:00000015 r5:00000006 r6:00000008 r7:00000030
r8:91C40870 r9:00000040 r10:00000022 r11:00000007
r12:8005FDFC r13:802C2100 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:00000000 r26:93574D20 r27:00000000
r28:00000000 r29:00000000 r30:81173D0C r31:81173CF4
Or
lis r12,0x0000
ori r12,r12,0x0063
stw r12,456 (r4)
C2041BAC 00000002
3D800000 618C0063
918401C8 00000000
r0:8005F618 r1:802CE448 r2:802C3C40 r3:81174F4C
r4:00000015 r5:00000006 r6:00000008 r7:00000030
r8:91C40870 r9:00000040 r10:00000022 r11:00000007
r12:8005FDFC r13:802C2100 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:00000000 r26:93574D20 r27:00000000
r28:00000000 r29:00000000 r30:81173D0C r31:81173CF4
i think the first variants is bad. The second variants is for me plausible but i'm not sure it works
Sniper82, what is it for a Game?
Sorry but in German: Hast du mal geprüft ob es überhaupt nötig ist 32Bit zu schreiben? Gecko.NET stellt alles in 32Bit dar jedoch sind manche Valuen in 8 oder 16Bit. Und was ist das überhaupt für ein Spiel? Damit wir das selber probieren können wo das problem liegt weil manche Spiele haben ein paar macken.
A job for Anonymous xD
hi zusammen
also erstmal klar schreiben wir auch in englisch aber halt auch in deutsch.
so zur frage 1 habe mit Write gearbeitet
zur frage 2 es handelt sich hier um das spiel Ivy The Kiwi?http://geckocodes.org/?c=RIVP99
zu den code von Deathwolf, er läuft und das spiel friert auch nicht ein.
könntest du versuchen mir zu erklären wie du den code gemacht hast den es ist ja kein asm oder, den der code generator konnte mir nichts sagen.
ps wehre nett wenn du ihn noch in die code datenbank eintragen würdest.
an den moderator leider gibt es hier kein deutsches forum sektion, was auch sehr schade ist den für anfänger wie mich die die enlische sprache nur mit programmen übersetzen können ist es manschmal sehr schwer überhaupt mit zubekommen was gemeint ist. wir werden deinen wunsch naturlich nachkommen. werde wider in deutsch und englisch posten, den wir wollen ja keinen aus schlissen sondern nur verständlicher wissen vermitteln.
---------------------------------------------
hi together
So first we write clearly in English but it is possible in German.
thus to question 1 was working with Write
2 to ask is it here to play Ivy The Kiwi?http://geckocodes.org/?c=RIVP99
To the code of Deathwolf, he runs and the game does not freeze.
you could try to explain to me how you did the code which it is not a asm or the code generator could not tell me anything.
ps nice if you defend him, nor would enter into the database code.
specifies the moderator, unfortunately, there is no German forum section, which is also very unfortunate for the beginner like me can translate the language Enlisch programs only bad habit is very difficult. ever get shut with what is meant. We will fulfill your wishes of course. 'll resist posting in German and English, we do not even want to know is understandable but from CLOSE convey.
C6 is a "Create branch" Codetype
interessant aber was heißt das genau für den aufbau des codes.
ba = basisadresse
po = pointeradresse
und wie heisen die anderen abkürzungen ?
------------------------------------------
interesting but exactly what that means for the building codes.
ba = base address
po = pointer address
and how heisen other abbreviations?
Das ist String ASM! Das einzige was der C2 codetype macht ist die "Branches" schreiben... Aber das kann man auch selber machen!
Hier ist unser C2 code:
C2041BAC 00000002
3D800000 618C0063
918401C8 00000000
Nun brauchen wir im RAM viele 00000000 stellen die frei sind.
Für diesen code hab ich die Adresse 800001C0 ausgewählt.
Als nächstes brauchst du einen C6 codetype. Dieser erlaubt es, einen branch sowie der C2 code zuschreiben.
C6041BAC 800001C0 # branch from 80041BAC zu 800001C0
Nun brauchen wir einen 06 code welcher unsere ASM instructions einbindet
060001C0 0000000C # 800001C0 ist unsere Adresse mit den 0 Stellen, die 0C steht für 0C bytes. Eine ganze line (XXXXXXXX XXXXXXXX) hat 8 bytes, 2 lines haben 10 bytes. Natürlich alles in hex. Wir nutzen hier 0C bytes weil wir die letzte 00000000 zeile weglassen müssen.
3C800000 60840063 # ASM instruction # 800001C0 - 800001C4
908301C8 00000000 # ASm instruction # 800001C8 - C6 code [800001CC]
C60001CC 80041BB0 # Zum schluss noch einen C6 branch code welcher den Code entgültig einbindet! Wichtig ist, das man immer die letzte adresse vom code für den C6 am schluss nutzt. Nun setzt man nochmal die Break adresse ein (80041BAC) und zählt IMMER und wirklich immer 4 bytes zu dieser adresse dazu damit der code wirklich eingebunden wird... also 80041BAC + 4 =80041BB0
C6041BAC 800001C0
060001C0 0000000C
3C800000 60840063
908301C8 00000000
C60001CC 80041BB0
C2041BAC 00000002
3D800000 618C0063
918401C8 00000000
C6041BAC 800001C0
060001C0 0000000C
3C800000 60840063 #6084 ist das ein standart wert oder wo kommt der her
908301C8 00000000
C60001CC 80041BB0 +4
Wert mit vielen 00000000
so habe ich es verstanden
Das sieht schon fast richtig aus!
Nur solltest du Folgendes beachten:
C6041BAC 800001C0
060001C0 0000000C
3C800000 60840063 # dieser wert ist "ori r4,r4,0x63" von unserem C2 code.
908301C8 00000000
C60001CC 80041BB0 # hier musst du nicht mehr + 4 bytes dazu rechnen denn das habe ich schon für dich gemacht. (80041BAC + 4 = 80041BB0 ) sonst ist alles richtig was du gemacht hast :)
Mit den wert mit vielen 00000000 habe ich nur gemeint das du eine adresse brauchst die keine werte hat. So wie 800001C0 hat ganz viele 00000000 und dort können wir unsere C2 instructions schreiben.
hi zusammen
also das mit den ori r4,r4,063 verstehe ich noch nicht ganz. das der wert 63 die anzahl der leben ist verstehe ich ja,
aber wen ich mir den C2 code anschaue finde ich nirgens den wert 6084 sondern nur den wert 618C wie komme ich zu 618C.
und warum verändere ich den wert 3D in 3C muss ich immer 1 runter rechnen?
ps danke für die geduld.
----------------------------------------------------------------------
hi together
ie the ori with the r4, r4, 063 I do not understand completely. live the value of the number 63 is yes, I understand,
but whom I look at the code C2 I find the value nirgens 6084 but only worth the 618C as I come to 618C.
and why do I change the value in 3C 3D I always have a count down?
ps thanks for the patience.