2007-01-01 00:30:58 +00:00
|
|
|
|
2007-01-13 10:27:17 +00:00
|
|
|
#include "../../misc.h"
|
2007-01-01 00:30:58 +00:00
|
|
|
|
|
|
|
|
2007-10-19 23:05:02 +00:00
|
|
|
/* example how setup a opcode, this opcode is 16bit long (taken from M68K)
|
|
|
|
* 0 and 1 mean normal bit, 2 mean mask bit the bit that are determent diffent
|
|
|
|
* thing in the opcode, example which reg so on, it can be etither 0 or 1 in
|
|
|
|
* the opcode. but a opcode have also normal bit that is always been set to
|
2007-01-01 00:30:58 +00:00
|
|
|
* same. thuse bit are always 0 or 1
|
|
|
|
*/
|
2007-01-17 15:31:47 +00:00
|
|
|
|
2007-01-18 19:33:48 +00:00
|
|
|
/* FIXME RA should be 0 in stwu */
|
2007-01-28 19:52:02 +00:00
|
|
|
CPU_BYTE cpuPPCInit_Blr[32] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 0,1,0,0,1,1, 1,0};
|
|
|
|
/* addi */
|
|
|
|
CPU_BYTE cpuPPCInit_Li[32] = {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0, 0,0,1,1,1,0, 2,2};
|
|
|
|
CPU_BYTE cpuPPCInit_stw[32] = {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 1,0,0,1,0,0, 2,2};
|
|
|
|
CPU_BYTE cpuPPCInit_stwu[32] = {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 1,0,0,1,0,1, 2,2};
|
|
|
|
CPU_BYTE cpuPPCInit_mr[32] = {0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,1,2,2,2,2,2,2,2,2, 0,1,1,1,1,1, 2,2};
|
|
|
|
CPU_BYTE cpuPPCInit_lwz[32] = {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 1,0,0,0,0,0, 2,2};
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-01-13 17:27:14 +00:00
|
|
|
/* mask */
|
2007-01-18 15:40:37 +00:00
|
|
|
/*
|
2007-10-19 23:05:02 +00:00
|
|
|
* no mask we implement function getting the reg right
|
2007-01-18 15:40:37 +00:00
|
|
|
*/
|
2007-01-13 17:27:14 +00:00
|
|
|
|
|
|
|
/* bit index
|
|
|
|
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
|
|
|
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
|
|
|
|
*/
|
|
|
|
|