macros: Added mul16 and div16 macros
authorLukas Krickl <lukas@krickl.dev>
Fri, 20 Jun 2025 19:26:22 +0000 (21:26 +0200)
committerLukas Krickl <lukas@krickl.dev>
Fri, 20 Jun 2025 19:26:22 +0000 (21:26 +0200)
src/macros.inc

index f06eed2465b88fdcecab8c643d54df0fba5abc25..fcc3fe35f7c28aabf5743dd0e9c3113713e7cbb5 100644 (file)
   srl $1 ; / 2
   srl $1 ; / 4
   srl $1 ; / 8
+#endmacro
+
+  ; divides a regiser by 16 
+  ; inputs:
+  ;   $1: the register 
+#macro div8 
+  srl $1 ; / 2
+  srl $1 ; / 4
+  srl $1 ; / 8
+  srl $1 ; / 16
 #endmacro 
 
   ; multiplies a regiser with 8 
   sla $1 ; * 8
 #endmacro
 
+  ; multiplies a regiser with 16 
+  ; inputs:
+  ;   $1: the register 
+#macro mul16
+  sla $1 ; * 2
+  sla $1 ; * 4
+  sla $1 ; * 8
+  sla $1 ; * 16
+#endmacro
+
   ; asserts. if $1 != $2 causes a ld b, b
   ; inputs:
   ;   $1: comparison (z, nz, c, nz)