mirror of
https://github.com/Ed94/pikuma_ps1.git
synced 2026-06-01 18:41:13 -07:00
definition prep (still exploring..)
This commit is contained in:
+27
-27
@@ -3,94 +3,94 @@
|
||||
# Instructions
|
||||
# Load
|
||||
.macro load_addr p1, p2
|
||||
la \p1, \p2
|
||||
la \p1, \p2
|
||||
.endm
|
||||
.macro load_imm p1, p2
|
||||
li \p1, \p2
|
||||
li \p1, \p2
|
||||
.endm
|
||||
.macro load_uimm p1, p2
|
||||
lui \p1, \p2
|
||||
lui \p1, \p2
|
||||
.endm
|
||||
.macro load_word p1, p2
|
||||
lw \p1, \p2
|
||||
lw \p1, \p2
|
||||
.endm
|
||||
# Store
|
||||
.macro store_word p1, p2
|
||||
sw \p1, \p2
|
||||
sw \p1, \p2
|
||||
.endm
|
||||
# Shift
|
||||
.macro shift_ll p1, p2, p3
|
||||
sll \p1, \p2, \p3
|
||||
sll \p1, \p2, \p3
|
||||
.endm
|
||||
.macro shift_rl p1, p2, p3
|
||||
srl \p1, \p2, \p3
|
||||
srl \p1, \p2, \p3
|
||||
.endm
|
||||
.macro shift_ra p1, p2, p3
|
||||
sra \p1, \p2, \p3
|
||||
sra \p1, \p2, \p3
|
||||
.endm
|
||||
# Addition
|
||||
.macro add_s p1, p2, p3
|
||||
add \p1, \p2, \p3
|
||||
add \p1, \p2, \p3
|
||||
.endm
|
||||
.macro add_u p1, p2, p3
|
||||
add \p1, \p2, \p3
|
||||
add \p1, \p2, \p3
|
||||
.endm
|
||||
.macro add_si p1, p2, p3
|
||||
addi \p1, \p2, \p3
|
||||
addi \p1, \p2, \p3
|
||||
.endm
|
||||
.macro add_ui p1, p2, p3
|
||||
addiu \p1, \p2, \p3
|
||||
addiu \p1, \p2, \p3
|
||||
.endm
|
||||
# Subtraction
|
||||
.macro sub_s p1, p2, p3
|
||||
sub \p1, \p2, \p3
|
||||
sub \p1, \p2, \p3
|
||||
.endm
|
||||
.macro sub_u p1, p2, p3
|
||||
subu \p1, \p2, \p3
|
||||
subu \p1, \p2, \p3
|
||||
.endm
|
||||
# Multiplication
|
||||
|
||||
# Division
|
||||
.macro div_s p1, p2
|
||||
div \p1, \p2
|
||||
div \p1, \p2
|
||||
.endm
|
||||
.macro div_u p1, p2
|
||||
divu \p1, \p2
|
||||
divu \p1, \p2
|
||||
.endm
|
||||
.macro mov_from_high p1
|
||||
mfhi \p1
|
||||
mfhi \p1
|
||||
.endm
|
||||
.macro mov_from_low p1
|
||||
mflo \p1
|
||||
mflo \p1
|
||||
.endm
|
||||
# Branch
|
||||
.macro branch_ne_zero p1, p2
|
||||
bnez \p1, \p2
|
||||
bnez \p1, \p2
|
||||
.endm
|
||||
.macro branch_equal p1, p2, p3
|
||||
beq \p1, \p2, \p3
|
||||
beq \p1, \p2, \p3
|
||||
.endm
|
||||
.macro branch_gt_equal p1, p2, p3
|
||||
bge \p1, \p2, \p3
|
||||
bge \p1, \p2, \p3
|
||||
.endm
|
||||
.macro branch_gt p1, p2, p3
|
||||
bgt \p1, \p2, \p3
|
||||
bgt \p1, \p2, \p3
|
||||
.endm
|
||||
.macro branch_lt p1, p2, p3
|
||||
blt \p1, \p2, \p3
|
||||
blt \p1, \p2, \p3
|
||||
.endm
|
||||
# Jump
|
||||
.macro jump p1
|
||||
j \p1
|
||||
j \p1
|
||||
.endm
|
||||
.macro jump_nlink p1
|
||||
jal \p1
|
||||
jal \p1
|
||||
.endm
|
||||
.macro jump_reg p1
|
||||
jr \p1
|
||||
jr \p1
|
||||
.endm
|
||||
.macro jump_nreg p1
|
||||
jalr \p1
|
||||
jalr \p1
|
||||
.endm
|
||||
|
||||
# Registers
|
||||
|
||||
@@ -176,6 +176,11 @@
|
||||
.equiv gp_b10_Y, 10
|
||||
.equiv gp_b16_X, 0
|
||||
.equiv gp_b16_Y, 16
|
||||
|
||||
.equiv RGB8_r, 0
|
||||
.equiv RGB8_g, 1
|
||||
.equiv RGB8_b, 2
|
||||
.equiv sizeof_RGB8, 3
|
||||
|
||||
.equiv gp_pixel16, (2 * byte)
|
||||
.equiv gp_pixel24, (3 * byte)
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# Extent_2S16 { S16 width; S16 height; }
|
||||
.equ Extent_2S16_width, 0
|
||||
.equ Extent_2S16_height, 2
|
||||
.equ sizeof_Extent_2S16, 4
|
||||
# Extent_2S32 { S32 width; S32 height; }
|
||||
.equ Extent_2S32_width, 0
|
||||
.equ Extent_2S32_height, 4
|
||||
.equ sizeof_Extent_2S32, 8
|
||||
# Vec_2S16 { S16 x; S16 y; }
|
||||
.equ Vec_2S16_x, 0
|
||||
.equ Vec_2S16_y, 2
|
||||
.equ sizeof_Vec_2S16, 4
|
||||
# Vec_2S32 { S32 x; S32 y; }
|
||||
.equ Vec_2S32_x, 0
|
||||
.equ Vec_2S32_y, 4
|
||||
.equ sizeof_Vec_2S32, 8
|
||||
# Range_2S16 { Vec_2S16 p0; Vec_2S16 p1; }
|
||||
.equ Range_2S16_p0, 0
|
||||
.equ Range_2S16_p0_x, 0
|
||||
.equ Range_2S16_p0_y, 2
|
||||
.equ Range_2S16_p1, 4
|
||||
.equ Range_2S16_p1_x, 4
|
||||
.equ Range_2S16_p1_y, 6
|
||||
.equ sizeof_Range_2S16, 8
|
||||
# Range_2S32 { Vec_2S32 p0; Vec_2S32 p1; }
|
||||
.equ Range_2S32_p0, 0
|
||||
.equ Range_2S32_p0_x, 0
|
||||
.equ Range_2S32_p0_y, 4
|
||||
.equ Range_2S32_p1, 8
|
||||
.equ Range_2S32_p1_x, 8
|
||||
.equ Range_2S32_p1_y, 12
|
||||
.equ sizeof_Range_2S32, 16
|
||||
# Rect_S16 { S16 x; S16 y; S16 width; S16 height; }
|
||||
.equ Rect_S16_x, 0
|
||||
.equ Rect_S16_y, 2
|
||||
.equ Rect_S16_width, 4
|
||||
.equ Rect_S16_height, 6
|
||||
.equ sizeof_Rect_S16, 8
|
||||
# Rect_S32 { S32 x; S32 y; S32 width; S32 height; }
|
||||
.equ Rect_S32_x, 0
|
||||
.equ Rect_S32_y, 4
|
||||
.equ Rect_S32_width, 8
|
||||
.equ Rect_S32_height, 12
|
||||
.equ sizeof_Rect_S32, 16
|
||||
Reference in New Issue
Block a user