definition prep (still exploring..)

This commit is contained in:
2025-08-07 01:53:15 -04:00
parent 8b252c4e68
commit 046800b9d8
13 changed files with 247 additions and 69 deletions
+27 -27
View File
@@ -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
+5
View File
@@ -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)
+44
View File
@@ -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