flat assembler
Message board for the users of flat assembler.
Index
> Main > moving from memory pointers |
Author |
|
LocoDelAssembly 18 Mar 2007, 18:51
Because you are using an inexistent addressing mode. You can't use CH*4 but you can use ECX*4 if you want adjusting ECX to proper value first or use
Code: movzx eax, ch mov eax, [_256bmem+eax*4] Tomasz, really, that error message is very bad to see the real problem. |
|||
18 Mar 2007, 18:51 |
|
cubeoid 18 Mar 2007, 19:30
thanks
but that messes up the regs i set up for a ppc interpreter now EDIT: got code going Code: _ppcgekkointaddx: mov ecx,opcode mov edx,ecx ; faster than from opcode again shr ch,01H and ch,01H ;ch now has Oe and cl,01H ;cl now has Rc xor ch,cl ;[xor] or [or] doesnt matter here shr ecx,08H ;cl now has Oe and Rc and ch,01FH ;ch now has rA shr edx,0BH shr dh,02H and dl,01FH ;dl now has rB and dh,01FH ;dh now has rD movzx ebp,ch add eax, dword [_ppcggprptr+ebp*4] ;gpr[rA] now in eax movzx ebp,dl add ebx, dword [_ppcggprptr+ebp*4] ;gpr[rB] now in ebx add eax,ebx ;added together movzx ebp,dh mov dword [_ppcggprptr+ebp*4],eax ;moved into gpr[rD] movzx ebp,cl jmp dword [_ppcgOeRccheck+ebp*4] ret Last edited by cubeoid on 18 Mar 2007, 19:40; edited 1 time in total |
|||
18 Mar 2007, 19:30 |
|
cubeoid 18 Mar 2007, 19:41
important data already in eax
ill use ebp instead thanks again it doent really matter because im using this to help get ideas for recompiler |
|||
18 Mar 2007, 19:41 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.