mirror of
https://github.com/Ed94/pikuma_ps1.git
synced 2026-06-01 18:41:13 -07:00
graphics_system -> graphics_hello
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
; Symbol Alias Table
|
||||
|
||||
; Instructions
|
||||
; Load
|
||||
load_addr equ la ;
|
||||
load_imm equ li ; dst_reg, immeidate value (signed)
|
||||
load_uimm equ lui ; dst_reg, immediate value (unsigned)
|
||||
load_word equ lw ; dst_reg, offset(src_reg0) (offset is immediate value)
|
||||
; Store
|
||||
store_word equ sw ; src_reg, dst_address
|
||||
; Shift
|
||||
shift_ll equ sll ;
|
||||
shift_rl equ srl ;
|
||||
shift_ra equ sra ;
|
||||
; Addition
|
||||
add_s equ add ; dst_reg, reg_a, reg_b (signed)
|
||||
add_u equ add ; dst_reg, reg_a, reg_b (unsigned)
|
||||
add_si equ addi ; dst_reg, src_reg, immediate value (signed)
|
||||
add_ui equ addiu ; dst_reg, src_reg, immediate value (unsigned)
|
||||
; Subtraction
|
||||
sub_s equ sub ;
|
||||
sub_u equ subu ;
|
||||
; Multiplication
|
||||
|
||||
; Division
|
||||
div_s equ div ;
|
||||
div_u equ divu ;
|
||||
mov_from_high equ mfhi ;
|
||||
mov_from_low equ mflo ;
|
||||
; Branch
|
||||
branch_ne_zero equ bnez ;
|
||||
branch_equal equ beq ; reg, value(reg, immediate), dst_label
|
||||
branch_gt_equal equ bge ; reg, value(reg, immediate), dst_label
|
||||
branch_gt equ bgt ; reg, value(reg, immediate), dst_label
|
||||
branch_lt equ blt ; reg, value(reg, immediate), dst_label
|
||||
; Jump
|
||||
jump equ j ; address: immediate
|
||||
jump_nlink equ jal ; subroutine: immeidate
|
||||
jump_reg equ jr ; address: register
|
||||
jump_nreg equ jrl ; subroutine: register
|
||||
|
||||
; Registers
|
||||
; Stack
|
||||
rstack_ptr equ $sp ; I have this but won't really use the alias..
|
||||
; Temporaries, may be changed by subroutines
|
||||
rtmp_0 equ $t0
|
||||
rtmp_1 equ $t1
|
||||
rtmp_2 equ $t2
|
||||
rtmp_3 equ $t3
|
||||
rtmp_4 equ $t4
|
||||
; Static Variables
|
||||
rstatic_0 equ $s0
|
||||
rstatic_1 equ $s1
|
||||
rstatic_2 equ $s2
|
||||
rstatic_3 equ $s3
|
||||
rstatic_4 equ $s4
|
||||
rstatic_5 equ $s5
|
||||
rstatic_6 equ $s6
|
||||
rstatic_7 equ $s7
|
||||
; Subroutine arguments
|
||||
rarg_0 equ $a0
|
||||
rarg_1 equ $a1
|
||||
rarg_2 equ $a2
|
||||
rarg_3 equ $a3
|
||||
; Subroutine return values
|
||||
rret_0 equ $v0
|
||||
rret_1 equ $v1
|
||||
; Subroutine return address when doing a sub
|
||||
rret_addr equ $ra
|
||||
|
||||
; Data Widths
|
||||
byte equ 1
|
||||
word equ 4
|
||||
|
||||
.macro stack_alloc, amount
|
||||
add_ui $sp, - amount
|
||||
.endmacro
|
||||
|
||||
.macro stack_release, amount
|
||||
add_ui $sp, amount
|
||||
.endmacro
|
||||
Reference in New Issue
Block a user