I´m attempting to create a code in ASM, which adds +1 to the written value, each time the instruction is executed and stop if r19 decreases ONCE!
I don´t know how, can someone help? :-[
It should look like this:
0001XXXX 0002XXXX 0003XXXX and so on!
[spoiler] CR:42222488 XER:20000000 CTR:804B621C DSIS:00400000
DAR:900E06F8 SRR0:801F66F8 SRR1:0000B032 LR:801F66F4
r0:801F66F4 r1:807AFB80 r2:8079FF60 r3:807AFB90
r4:FFFFFFFF r5:80749160 r6:80749160 r7:80749164
r8:00000000 r9:00000000 r10:00000000 r11:807AFB10
r12:8079631C r13:8079B2E0 r14:FFFFFFFF r15:901480B4
r16:90148090 r17:807AFC28 r18:00000001 r19:900E06F0
r20:00000000 r21:00000000 r22:00000001 r23:8D6568FF
r24:00000000 r25:00000000 r26:00000026 r27:00000000
r28:00000000 r29:00000000 r30:805B9120 r31:90148418
f0:00000000 f1:B727C61A f2:00000000 f3:00000000
f4:00000000 f5:B727C61A f6:00000000 f7:BF800000
f8:00000000 f9:40000000 f10:3F800000 f11:BB088889
f12:3ACCCCCD 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[/spoiler]
[spoiler]801F61CC: 9421FF60 stwu r1,-160(r1)
801F61D0: 7C0802A6 mflr r0
801F61D4: 900100A4 stw r0,164(r1)
801F61D8: 396100A0 addi r11,r1,160
801F61DC: 48261279 bl 0x80457454
801F61E0: 7C6F1B78 mr r15,r3
801F61E4: 7C902378 mr r16,r4
801F61E8: 7CB12B78 mr r17,r5
801F61EC: 98C10008 stb r6,8(r1)
801F61F0: B0E1000A sth r7,10(r1)
801F61F4: 7D134378 mr r19,r8
801F61F8: 9121000C stw r9,12(r1)
801F61FC: 3AC00001 li r22,1
801F6200: 3A800000 li r20,0
801F6204: 3800FFFF li r0,-1
801F6208: B0010046 sth r0,70(r1)
801F620C: 39C0FFFF li r14,-1
801F6210: 38000000 li r0,0
801F6214: B0010044 sth r0,68(r1)
801F6218: 38000001 li r0,1
801F621C: 98010041 stb r0,65(r1)
801F6220: 38000001 li r0,1
801F6224: 98010040 stb r0,64(r1)
801F6228: 3A400001 li r18,1
801F622C: 3C60805C lis r3,-32676
801F6230: 386390C4 subi r3,r3,28476
801F6234: 7E248B78 mr r4,r17
801F6238: 480EA771 bl 0x802e09a8
801F623C: 88010008 lbz r0,8(r1)
801F6240: 5400063E rlwinm r0,r0,0,24,31
801F6244: 2C000005 cmpwi r0,5
801F6248: 40820064 bne- 0x801f62ac
801F624C: 3B00FFFF li r24,-1
801F6250: A801000A lha r0,10(r1)
801F6254: 7C040734 extsh r4,r0
801F6258: 2C04FFFF cmpwi r4,-1
801F625C: 41820028 beq- 0x801f6284
801F6260: 3C6051EC lis r3,20972
801F6264: 3803851F subi r0,r3,31457
801F6268: 7C002096 mulhw r0,r0,r4
801F626C: 7C002E70 srawi r0,r0,5
801F6270: 54030FFE rlwinm r3,r0,1,31,31
801F6274: 7C001A14 add r0,r0,r3
801F6278: 5400063E rlwinm r0,r0,0,24,31
801F627C: 98010049 stb r0,73(r1)
801F6280: 4800000C b 0x801f628c
801F6284: 38000000 li r0,0
801F6288: 98010049 stb r0,73(r1)
801F628C: 806DBA60 lwz r3,-17824(r13)
801F6290: 4BE54C45 bl 0x8004aed4
801F6294: 7C630734 extsh r3,r3
801F6298: 38800064 li r4,100
801F629C: 480B2CDD bl 0x802a8f78
801F62A0: 5460063E rlwinm r0,r3,0,24,31
801F62A4: 98010048 stb r0,72(r1)
801F62A8: 48000028 b 0x801f62d0
801F62AC: 7DE37B78 mr r3,r15
801F62B0: 4BFF6F15 bl 0x801ed1c4
801F62B4: 7C781B78 mr r24,r3
801F62B8: A80F000E lha r0,14(r15)
801F62BC: B001004A sth r0,74(r1)
801F62C0: 880F0002 lbz r0,2(r15)
801F62C4: 98010049 stb r0,73(r1)
801F62C8: 880F0003 lbz r0,3(r15)
801F62CC: 98010048 stb r0,72(r1)
801F62D0: 3EA0805C lis r21,-32676
801F62D4: A0759120 lhz r3,-28384(r21)
801F62D8: 38810018 addi r4,r1,24
801F62DC: 480EA2D9 bl 0x802e05b4
801F62E0: 7C771B78 mr r23,r3
801F62E4: 38759120 subi r3,r21,28384
801F62E8: A0630010 lhz r3,16(r3)
801F62EC: 38800000 li r4,0
801F62F0: 480EA2C5 bl 0x802e05b4
801F62F4: 7C641B78 mr r4,r3
801F62F8: 3861001C addi r3,r1,28
801F62FC: 4BFF05B9 bl 0x801e68b4
801F6300: 3861001C addi r3,r1,28
801F6304: 7EE4BB78 mr r4,r23
801F6308: 4BE5C455 bl 0x8005275c
801F630C: 82E10038 lwz r23,56(r1)
801F6310: 2C0F0000 cmpwi r15,0
801F6314: 41820030 beq- 0x801f6344
801F6318: 880F001C lbz r0,28(r15)
801F631C: 2C000000 cmpwi r0,0
801F6320: 41820024 beq- 0x801f6344
801F6324: 38000001 li r0,1
801F6328: 98010042 stb r0,66(r1)
801F632C: 38000000 li r0,0
801F6330: 98010040 stb r0,64(r1)
801F6334: 38000000 li r0,0
801F6338: 98010049 stb r0,73(r1)
801F633C: 3B600000 li r27,0
801F6340: 48000018 b 0x801f6358
801F6344: 38000000 li r0,0
801F6348: 98010042 stb r0,66(r1)
801F634C: 88010049 lbz r0,73(r1)
801F6350: 1C000064 mulli r0,r0,100
801F6354: 7C1B0734 extsh r27,r0
801F6358: 38000000 li r0,0
801F635C: B001004C sth r0,76(r1)
801F6360: 3C60805C lis r3,-32676
801F6364: 38039108 subi r0,r3,28408
801F6368: 90010050 stw r0,80(r1)
801F636C: 577D103A rlwinm r29,r27,2,0,29
801F6370: 7FF3EA14 add r31,r19,r29
801F6374: 80610050 lwz r3,80(r1)
801F6378: A0630000 lhz r3,0(r3)
801F637C: 38810014 addi r4,r1,20
801F6380: 480EA235 bl 0x802e05b4
801F6384: 3B800000 li r28,0
801F6388: 3C60805C lis r3,-32676
801F638C: 3BC39120 subi r30,r3,28384
801F6390: 88010042 lbz r0,66(r1)
801F6394: 2C000000 cmpwi r0,0
801F6398: 41820010 beq- 0x801f63a8
801F639C: 7FF3FB78 mr r19,r31
801F63A0: 3B40FFFF li r26,-1
801F63A4: 480002C0 b 0x801f6664
801F63A8: 808DBA60 lwz r4,-17824(r13)
801F63AC: 7C64EA14 add r3,r4,r29
801F63B0: 3A630180 addi r19,r3,384
801F63B4: 88010008 lbz r0,8(r1)
801F63B8: 5400063E rlwinm r0,r0,0,24,31
801F63BC: 2C000001 cmpwi r0,1
801F63C0: 41820028 beq- 0x801f63e8
801F63C4: 2C000004 cmpwi r0,4
801F63C8: 418200B0 beq- 0x801f6478
801F63CC: 2C000002 cmpwi r0,2
801F63D0: 4182010C beq- 0x801f64dc
801F63D4: 2C000003 cmpwi r0,3
801F63D8: 418201CC beq- 0x801f65a4
801F63DC: 2C000005 cmpwi r0,5
801F63E0: 4182023C beq- 0x801f661c
801F63E4: 4800025C b 0x801f6640
801F63E8: 7F630734 extsh r3,r27
801F63EC: 4BFF765D bl 0x801eda48
801F63F0: 7C0300D0 neg r0,r3
801F63F4: 7C001878 andc r0,r0,r3
801F63F8: 54160FFE rlwinm r22,r0,1,31,31
801F63FC: 7F630734 extsh r3,r27
801F6400: 7F000734 extsh r0,r24
801F6404: 7C030000 cmpw r3,r0
801F6408: 40820238 bne- 0x801f6640
801F640C: 7F79DB78 mr r25,r27
801F6410: A0930000 lhz r4,0(r19)
801F6414: 2C040000 cmpwi r4,0
801F6418: 41820228 beq- 0x801f6640
801F641C: 2C160000 cmpwi r22,0
801F6420: 40820040 bne- 0x801f6460
801F6424: 806DBA60 lwz r3,-17824(r13)
801F6428: 4BE54B5D bl 0x8004af84
801F642C: 7C6E1B78 mr r14,r3
801F6430: 806DBA60 lwz r3,-17824(r13)
801F6434: 4BE54BA9 bl 0x8004afdc
801F6438: 7C641B78 mr r4,r3
801F643C: A0730000 lhz r3,0(r19)
801F6440: 7DC57378 mr r5,r14
801F6444: 4BE55621 bl 0x8004ba64
801F6448: 2C030000 cmpwi r3,0
801F644C: 4180000C blt- 0x801f6458
801F6450: 39C000CB li r14,203
801F6454: 480001EC b 0x801f6640
801F6458: 39C000C6 li r14,198
801F645C: 480001E4 b 0x801f6640
801F6460: 8061000C lwz r3,12(r1)
801F6464: 4807EA01 bl 0x80274e64
801F6468: 2C030000 cmpwi r3,0
801F646C: 408201D4 bne- 0x801f6640
801F6470: 39C000D0 li r14,208
801F6474: 480001CC b 0x801f6640
801F6478: 880F0000 lbz r0,0(r15)
801F647C: 2C000000 cmpwi r0,0
801F6480: 40820034 bne- 0x801f64b4
801F6484: 7F630734 extsh r3,r27
801F6488: 7F000734 extsh r0,r24
801F648C: 7C030000 cmpw r3,r0
801F6490: 40820008 bne- 0x801f6498
801F6494: 7F79DB78 mr r25,r27
801F6498: A0130000 lhz r0,0(r19)
801F649C: 2C000000 cmpwi r0,0
801F64A0: 4082000C bne- 0x801f64ac
801F64A4: 3AC00000 li r22,0
801F64A8: 48000198 b 0x801f6640
801F64AC: 3AC00001 li r22,1
801F64B0: 48000190 b 0x801f6640
801F64B4: 3A400000 li r18,0
801F64B8: 7F630734 extsh r3,r27
801F64BC: 7F000734 extsh r0,r24
801F64C0: 7C030000 cmpw r3,r0
801F64C4: 40820010 bne- 0x801f64d4
801F64C8: 3AC00001 li r22,1
801F64CC: 7F79DB78 mr r25,r27
801F64D0: 48000170 b 0x801f6640
801F64D4: 3AC00000 li r22,0
801F64D8: 48000168 b 0x801f6640
801F64DC: 7F630734 extsh r3,r27
801F64E0: 7F000734 extsh r0,r24
801F64E4: 7C030000 cmpw r3,r0
801F64E8: 40820008 bne- 0x801f64f0
801F64EC: 7F79DB78 mr r25,r27
801F64F0: 886F0000 lbz r3,0(r15)
801F64F4: 3803FFFE subi r0,r3,2
801F64F8: 28000002 cmplwi r0,2
801F64FC: 40810070 ble- 0x801f656c
801F6500: 2C030001 cmpwi r3,1
801F6504: 41820024 beq- 0x801f6528
801F6508: A0730000 lhz r3,0(r19)
801F650C: 4BFF8459 bl 0x801ee964
801F6510: 3803FFFF subi r0,r3,1
801F6514: 7C000034 cntlzw r0,r0
801F6518: 5400D97E rlwinm r0,r0,27,5,31
801F651C: 5416063E rlwinm r22,r0,0,24,31
801F6520: 3A800000 li r20,0
801F6524: 4800011C b 0x801f6640
801F6528: A0700004 lhz r3,4(r16)
801F652C: A0930000 lhz r4,0(r19)
801F6530: 4BFF8475 bl 0x801ee9a4
801F6534: 3803FFFF subi r0,r3,1
801F6538: 7C000034 cntlzw r0,r0
801F653C: 5400D97E rlwinm r0,r0,27,5,31
801F6540: 5416063E rlwinm r22,r0,0,24,31
801F6544: A0730000 lhz r3,0(r19)
801F6548: 2C030000 cmpwi r3,0
801F654C: 41820018 beq- 0x801f6564
801F6550: A0100004 lhz r0,4(r16)
801F6554: 7C030040 cmplw r3,r0
801F6558: 4082000C bne- 0x801f6564
801F655C: 3A800001 li r20,1
801F6560: 480000E0 b 0x801f6640
801F6564: 3A800000 li r20,0
801F6568: 480000D8 b 0x801f6640
801F656C: 3A400000 li r18,0
801F6570: A0730000 lhz r3,0(r19)
801F6574: A0100004 lhz r0,4(r16)
801F6578: 7C030040 cmplw r3,r0
801F657C: 41820010 beq- 0x801f658c
801F6580: A0100006 lhz r0,6(r16)
801F6584: 7C030040 cmplw r3,r0
801F6588: 40820010 bne- 0x801f6598
801F658C: 3A800001 li r20,1
801F6590: 3AC00001 li r22,1
801F6594: 480000AC b 0x801f6640
801F6598: 3AC00000 li r22,0
801F659C: 3A800000 li r20,0
801F65A0: 480000A0 b 0x801f6640
801F65A4: 7F630734 extsh r3,r27
801F65A8: 7F000734 extsh r0,r24
801F65AC: 7C030000 cmpw r3,r0
801F65B0: 40820008 bne- 0x801f65b8
801F65B4: 7F79DB78 mr r25,r27
801F65B8: 880F0000 lbz r0,0(r15)
801F65BC: 2C000001 cmpwi r0,1
801F65C0: 4182000C beq- 0x801f65cc
801F65C4: 3A800000 li r20,0
801F65C8: 48000078 b 0x801f6640
801F65CC: A8AF001A lha r5,26(r15)
801F65D0: 54A0103A rlwinm r0,r5,2,0,29
801F65D4: 7C640214 add r3,r4,r0
801F65D8: A0030180 lhz r0,384(r3)
801F65DC: 2C000000 cmpwi r0,0
801F65E0: 40820018 bne- 0x801f65f8
801F65E4: A0130000 lhz r0,0(r19)
801F65E8: 2C000000 cmpwi r0,0
801F65EC: 4082000C bne- 0x801f65f8
801F65F0: 3AC00000 li r22,0
801F65F4: 48000008 b 0x801f65fc
801F65F8: 3AC00001 li r22,1
801F65FC: 7F600734 extsh r0,r27
801F6600: 7C002800 cmpw r0,r5
801F6604: 40820010 bne- 0x801f6614
801F6608: 3A800001 li r20,1
801F660C: 3AC00001 li r22,1
801F6610: 48000030 b 0x801f6640
801F6614: 3A800000 li r20,0
801F6618: 48000028 b 0x801f6640
801F661C: 7F630734 extsh r3,r27
801F6620: A801000A lha r0,10(r1)
801F6624: 7C000734 extsh r0,r0
801F6628: 7C030000 cmpw r3,r0
801F662C: 40820010 bne- 0x801f663c
801F6630: 3AC00001 li r22,1
801F6634: 7F79DB78 mr r25,r27
801F6638: 48000008 b 0x801f6640
801F663C: 3AC00000 li r22,0
801F6640: 2C120000 cmpwi r18,0
801F6644: 4182001C beq- 0x801f6660
801F6648: 7F630734 extsh r3,r27
801F664C: 7F000734 extsh r0,r24
801F6650: 7C030000 cmpw r3,r0
801F6654: 4082000C bne- 0x801f6660
801F6658: AB41004A lha r26,74(r1)
801F665C: 48000008 b 0x801f6664
801F6660: 3B40FFFF li r26,-1
801F6664: 56C0063E rlwinm r0,r22,0,24,31
801F6668: 2C000000 cmpwi r0,0
801F666C: 40820020 bne- 0x801f668c
801F6670: 3AA00003 li r21,3
801F6674: 7EE3BB78 mr r3,r23
801F6678: 3C803232 lis r4,12850
801F667C: 388432FF addi r4,r4,13055
801F6680: 480EC221 bl 0x802e28a0
801F6684: 90610038 stw r3,56(r1)
801F6688: 4800001C b 0x801f66a4
801F668C: 3AA00000 li r21,0
801F6690: 7EE3BB78 mr r3,r23
801F6694: 3C808889 lis r4,-30583
801F6698: 388488FF subi r4,r4,30465
801F669C: 480EC205 bl 0x802e28a0
801F66A0: 90610038 stw r3,56(r1)
801F66A4: A07E0000 lhz r3,0(r30)[/spoiler]
the function was too long for one post (more than 20.000 characters ...)
[spoiler]
801F66A8: 38810018 addi r4,r1,24
801F66AC: 480E9F09 bl 0x802e05b4
801F66B0: A8810014 lha r4,20(r1)
801F66B4: A8110000 lha r0,0(r17)
801F66B8: A8610018 lha r3,24(r1)
801F66BC: 7C040214 add r0,r4,r0
801F66C0: 7C030214 add r0,r3,r0
801F66C4: 7C000734 extsh r0,r0
801F66C8: B0010010 sth r0,16(r1)
801F66CC: A8810016 lha r4,22(r1)
801F66D0: A8110002 lha r0,2(r17)
801F66D4: A861001A lha r3,26(r1)
801F66D8: 7C040214 add r0,r4,r0
801F66DC: 7C030214 add r0,r3,r0
801F66E0: 7C000734 extsh r0,r0
801F66E4: B0010012 sth r0,18(r1)
801F66E8: 3861001C addi r3,r1,28
801F66EC: 38810010 addi r4,r1,16
801F66F0: 480EA0B5 bl 0x802e07a4
801F66F4: 38610010 addi r3,r1,16
801F66F8: A0930000 lhz r4,0(r19) #Hook
801F66FC: 7F450734 extsh r5,r26
801F6700: 7E86A378 mr r6,r20
801F6704: 7EA7AB78 mr r7,r21
801F6708: 4BFFFA31 bl 0x801f6138
801F670C: 3BDE0002 addi r30,r30,2
801F6710: 3B9C0001 addi r28,r28,1
801F6714: 3BFF0004 addi r31,r31,4
801F6718: 3BBD0004 addi r29,r29,4
801F671C: 3B7B0001 addi r27,r27,1
801F6720: 2C1C000A cmpwi r28,10
801F6724: 4180FC6C blt+ 0x801f6390
801F6728: 80610050 lwz r3,80(r1)
801F672C: 38630002 addi r3,r3,2
801F6730: 90610050 stw r3,80(r1)
801F6734: A861004C lha r3,76(r1)
801F6738: 38630001 addi r3,r3,1
801F673C: B061004C sth r3,76(r1)
801F6740: 7C600734 extsh r0,r3
801F6744: 2C00000A cmpwi r0,10
801F6748: 4180FC2C blt+ 0x801f6374
801F674C: 88010042 lbz r0,66(r1)
801F6750: 2C000000 cmpwi r0,0
801F6754: 40820080 bne- 0x801f67d4
801F6758: 88010008 lbz r0,8(r1)
801F675C: 5404063E rlwinm r4,r0,0,24,31
801F6760: 3804FFFF subi r0,r4,1
801F6764: 28000004 cmplwi r0,4
801F6768: 4181006C bgt- 0x801f67d4
801F676C: 806DBA60 lwz r3,-17824(r13)
801F6770: 7F200734 extsh r0,r25
801F6774: 5400103A rlwinm r0,r0,2,0,29
801F6778: 7C630214 add r3,r3,r0
801F677C: 3A630180 addi r19,r3,384
801F6780: 28040002 cmplwi r4,2
801F6784: 41820018 beq- 0x801f679c
801F6788: 28040005 cmplwi r4,5
801F678C: 41820010 beq- 0x801f679c
801F6790: 38601B30 li r3,6960
801F6794: 7E649B78 mr r4,r19
801F6798: 480B1245 bl 0x802a79dc
801F679C: 38601AE0 li r3,6880
801F67A0: 38810010 addi r4,r1,16
801F67A4: 480E9E11 bl 0x802e05b4
801F67A8: A0730000 lhz r3,0(r19)
801F67AC: A8930002 lha r4,2(r19)
801F67B0: 38A00063 li r5,99
801F67B4: 88010008 lbz r0,8(r1)
801F67B8: 5406063E rlwinm r6,r0,0,24,31
801F67BC: 3806FFFC subi r0,r6,4
801F67C0: 7C000034 cntlzw r0,r0
801F67C4: 5400D97E rlwinm r0,r0,27,5,31
801F67C8: 5406063E rlwinm r6,r0,0,24,31
801F67CC: 38E10010 addi r7,r1,16
801F67D0: 48020B71 bl 0x80217340
801F67D4: 3C60805C lis r3,-32676
801F67D8: 386390E8 subi r3,r3,28440
801F67DC: 7E248B78 mr r4,r17
801F67E0: 480EA1C9 bl 0x802e09a8
801F67E4: 386D8E90 subi r3,r13,29040
801F67E8: 38800000 li r4,0
801F67EC: 7E258B78 mr r5,r17
801F67F0: 480EA681 bl 0x802e0e70
801F67F4: 386D8E98 subi r3,r13,29032
801F67F8: 38800000 li r4,0
801F67FC: 7E258B78 mr r5,r17
801F6800: 480EA671 bl 0x802e0e70
801F6804: 88010008 lbz r0,8(r1)
801F6808: 5400063E rlwinm r0,r0,0,24,31
801F680C: 2C000004 cmpwi r0,4
801F6810: 41820018 beq- 0x801f6828
801F6814: 2C000003 cmpwi r0,3
801F6818: 41820030 beq- 0x801f6848
801F681C: 2C000002 cmpwi r0,2
801F6820: 41820040 beq- 0x801f6860
801F6824: 4800006C b 0x801f6890
801F6828: 880F0000 lbz r0,0(r15)
801F682C: 2C000000 cmpwi r0,0
801F6830: 41820060 beq- 0x801f6890
801F6834: 38000000 li r0,0
801F6838: 98010040 stb r0,64(r1)
801F683C: 38000000 li r0,0
801F6840: 98010041 stb r0,65(r1)
801F6844: 4800004C b 0x801f6890
801F6848: 880F0000 lbz r0,0(r15)
801F684C: 2C000001 cmpwi r0,1
801F6850: 40820040 bne- 0x801f6890
801F6854: 38000000 li r0,0
801F6858: 98010041 stb r0,65(r1)
801F685C: 48000034 b 0x801f6890
801F6860: 880F0000 lbz r0,0(r15)
801F6864: 2C000000 cmpwi r0,0
801F6868: 41820028 beq- 0x801f6890
801F686C: 2C000001 cmpwi r0,1
801F6870: 40820010 bne- 0x801f6880
801F6874: 38000000 li r0,0
801F6878: 98010041 stb r0,65(r1)
801F687C: 48000014 b 0x801f6890
801F6880: 38000000 li r0,0
801F6884: 98010040 stb r0,64(r1)
801F6888: 38000000 li r0,0
801F688C: 98010041 stb r0,65(r1)
801F6890: 2C0F0000 cmpwi r15,0
801F6894: 41820058 beq- 0x801f68ec
801F6898: 88010040 lbz r0,64(r1)
801F689C: 2C000000 cmpwi r0,0
801F68A0: 4182004C beq- 0x801f68ec
801F68A4: A06F0008 lhz r3,8(r15)
801F68A8: 546005EE rlwinm r0,r3,0,23,23
801F68AC: 2C000000 cmpwi r0,0
801F68B0: 41820010 beq- 0x801f68c0
801F68B4: A0010044 lhz r0,68(r1)
801F68B8: 60000001 ori r0,r0,1
801F68BC: B0010044 sth r0,68(r1)
801F68C0: 546005AC rlwinm r0,r3,0,22,22
801F68C4: 2C000000 cmpwi r0,0
801F68C8: 41820014 beq- 0x801f68dc
801F68CC: A0010044 lhz r0,68(r1)
801F68D0: 60000002 ori r0,r0,2
801F68D4: 5400043E rlwinm r0,r0,0,16,31
801F68D8: B0010044 sth r0,68(r1)
801F68DC: A90F0010 lha r8,16(r15)
801F68E0: A92F0012 lha r9,18(r15)
801F68E4: A94F0014 lha r10,20(r15)
801F68E8: 48000024 b 0x801f690c
801F68EC: A0010044 lhz r0,68(r1)
801F68F0: 60000008 ori r0,r0,8
801F68F4: B0010044 sth r0,68(r1)
801F68F8: 3900FFFF li r8,-1
801F68FC: 3920FFFF li r9,-1
801F6900: 3940FFFF li r10,-1
801F6904: 38000000 li r0,0
801F6908: 98010041 stb r0,65(r1)
801F690C: 7E238B78 mr r3,r17
801F6910: 88810049 lbz r4,73(r1)
801F6914: 38040001 addi r0,r4,1
801F6918: 5404063E rlwinm r4,r0,0,24,31
801F691C: 88A10048 lbz r5,72(r1)
801F6920: A0010044 lhz r0,68(r1)
801F6924: 5406043E rlwinm r6,r0,0,16,31
801F6928: 38E00000 li r7,0
801F692C: 4BFFF525 bl 0x801f5e50
801F6930: 38601B2F li r3,6959
801F6934: 480E8E15 bl 0x802df748
801F6938: 4BE660D1 bl 0x8005ca08
801F693C: 88010042 lbz r0,66(r1)
801F6940: 28000001 cmplwi r0,1
801F6944: 4082001C bne- 0x801f6960
801F6948: 380000BC li r0,188
801F694C: B0010046 sth r0,70(r1)
801F6950: 38601893 li r3,6291
801F6954: 808F0004 lwz r4,4(r15)
801F6958: 4801E87D bl 0x802151d4
801F695C: 48000120 b 0x801f6a7c
801F6960: 2C0F0000 cmpwi r15,0
801F6964: 41820118 beq- 0x801f6a7c
801F6968: 88010008 lbz r0,8(r1)
801F696C: 5400063E rlwinm r0,r0,0,24,31
801F6970: 2C000002 cmpwi r0,2
801F6974: 41820018 beq- 0x801f698c
801F6978: 2C000003 cmpwi r0,3
801F697C: 41820040 beq- 0x801f69bc
801F6980: 2C000004 cmpwi r0,4
801F6984: 41820068 beq- 0x801f69ec
801F6988: 480000F4 b 0x801f6a7c
801F698C: 880F0000 lbz r0,0(r15)
801F6990: 2C000000 cmpwi r0,0
801F6994: 41820010 beq- 0x801f69a4
801F6998: 2C000001 cmpwi r0,1
801F699C: 41820014 beq- 0x801f69b0
801F69A0: 480000DC b 0x801f6a7c
801F69A4: 380000BD li r0,189
801F69A8: B0010046 sth r0,70(r1)
801F69AC: 480000D0 b 0x801f6a7c
801F69B0: 380000BE li r0,190
801F69B4: B0010046 sth r0,70(r1)
801F69B8: 480000C4 b 0x801f6a7c
801F69BC: 880F0000 lbz r0,0(r15)
801F69C0: 2C000000 cmpwi r0,0
801F69C4: 41820010 beq- 0x801f69d4
801F69C8: 2C000001 cmpwi r0,1
801F69CC: 41820014 beq- 0x801f69e0
801F69D0: 480000AC b 0x801f6a7c
801F69D4: 380000C1 li r0,193
801F69D8: B0010046 sth r0,70(r1)
801F69DC: 480000A0 b 0x801f6a7c
801F69E0: 380000C2 li r0,194
801F69E4: B0010046 sth r0,70(r1)
801F69E8: 48000094 b 0x801f6a7c
801F69EC: 880F0000 lbz r0,0(r15)
801F69F0: 2C000000 cmpwi r0,0
801F69F4: 41820018 beq- 0x801f6a0c
801F69F8: 2C000001 cmpwi r0,1
801F69FC: 4182001C beq- 0x801f6a18
801F6A00: 2C000002 cmpwi r0,2
801F6A04: 41820048 beq- 0x801f6a4c
801F6A08: 48000074 b 0x801f6a7c
801F6A0C: 380000C3 li r0,195
801F6A10: B0010046 sth r0,70(r1)
801F6A14: 48000068 b 0x801f6a7c
801F6A18: 380000C4 li r0,196
801F6A1C: B0010046 sth r0,70(r1)
801F6A20: A0730000 lhz r3,0(r19)
801F6A24: 4816260D bl 0x80359030
801F6A28: 7C671B78 mr r7,r3
801F6A2C: 38601ADE li r3,6878
801F6A30: 38801ADF li r4,6879
801F6A34: A8AF0018 lha r5,24(r15)
801F6A38: A8CF0016 lha r6,22(r15)
801F6A3C: 39000000 li r8,0
801F6A40: A12F0008 lhz r9,8(r15)
801F6A44: 4801E321 bl 0x80214d64
801F6A48: 48000034 b 0x801f6a7c
801F6A4C: 38601893 li r3,6291
801F6A50: 808F0004 lwz r4,4(r15)
801F6A54: 4801E781 bl 0x802151d4
801F6A58: A0730000 lhz r3,0(r19)
801F6A5C: 2C030000 cmpwi r3,0
801F6A60: 4182001C beq- 0x801f6a7c
801F6A64: 481625CD bl 0x80359030
801F6A68: A80F0018 lha r0,24(r15)
801F6A6C: 7CA019D6 mullw r5,r0,r3
801F6A70: 38601878 li r3,6264
801F6A74: 38800036 li r4,54
801F6A78: 4801E5A5 bl 0x8021501c
801F6A7C: 88010041 lbz r0,65(r1)
801F6A80: 2C000000 cmpwi r0,0
801F6A84: 41820034 beq- 0x801f6ab8
801F6A88: 38600007 li r3,7
801F6A8C: 481C8249 bl 0x803becd4
801F6A90: 5460063E rlwinm r0,r3,0,24,31
801F6A94: 2C000000 cmpwi r0,0
801F6A98: 40820014 bne- 0x801f6aac
801F6A9C: 38601B32 li r3,6962
801F6AA0: 38800004 li r4,4
801F6AA4: 480E8D19 bl 0x802df7bc
801F6AA8: 48000010 b 0x801f6ab8
801F6AAC: 38601B32 li r3,6962
801F6AB0: 3880000C li r4,12
801F6AB4: 480E8D09 bl 0x802df7bc
801F6AB8: A8010046 lha r0,70(r1)
801F6ABC: 2C00FFFF cmpwi r0,-1
801F6AC0: 41820010 beq- 0x801f6ad0
801F6AC4: 38601878 li r3,6264
801F6AC8: 7C040378 mr r4,r0
801F6ACC: 4801E489 bl 0x80214f54
801F6AD0: 2C0EFFFF cmpwi r14,-1
801F6AD4: 41820014 beq- 0x801f6ae8
801F6AD8: 38601878 li r3,6264
801F6ADC: 7DC47378 mr r4,r14
801F6AE0: 38A00002 li r5,2
801F6AE4: 4801E5DD bl 0x802150c0
801F6AE8: 396100A0 addi r11,r1,160
801F6AEC: 482609B5 bl 0x804574a0
801F6AF0: 800100A4 lwz r0,164(r1)
801F6AF4: 7C0803A6 mtlr r0
801F6AF8: 382100A0 addi r1,r1,160
801F6AFC: 4E800020 blr [/spoiler]
where's r19 coming from. What calls it? Load call post the second address (1 below the bp please)
r19 came from r8
801F61F4: 7D134378 mr r19,r8
r8 came from the caller
however, but we don´t need to find this out, right?
I figure if we find what r19 loads from, we can figure when to cmpwi and skip the code.
so cmpwi r8 with r12 which has r19 injected to and if r8 < r19 then stop the code.