Removed pad, added callX8

This commit is contained in:
Olof Astrand
2020-06-16 22:22:32 +02:00
parent 201ffbb26b
commit a3e8b8b2dd
3 changed files with 20 additions and 12 deletions

View File

@@ -122,13 +122,13 @@ define token narrowinsn(16)
; ;
define token opbyte (8) #define token opbyte (8)
op0_8 = (0,7) # op0_8 = (0,7)
; #;
define token opword (16) #define token opword (16)
op0_16 = (0,15) # op0_16 = (0,15)
; #;
attach variables [ ar as at n_ar n_as n_at ] [ attach variables [ ar as at n_ar n_as n_at ] [
a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15

View File

@@ -1307,10 +1307,12 @@ macro extract_bit(val, bit, result) {
#at = tmp; #at = tmp;
} }
:pad is op0_16=0x0 { # PAD, dummy
} #:pad is op0_16=0x0 {
#}
:pad is op0_8=0x0 { # PAD, dummy
} #:pad is op0_8=0x0 {
#}

View File

@@ -35,8 +35,8 @@
# ENTRY - Subroutine Entry, pg. 340. # ENTRY - Subroutine Entry, pg. 340.
:entry as, u15_12.23_sb3 is u15_12.23_sb3 & as & u2_6.7 = 0b00 & u2_4.5 = 0b11 & op0 = 0b0110 { :entry as, u15_12.23_sb3 is u15_12.23_sb3 & as & u2_6.7 = 0b00 & u2_4.5 = 0b11 & op0 = 0b0110 {
local amn = sext(u15_12.23_sb3); #local amn = sext(u15_12.23_sb3);
as = as - amn; #as = as + amn;
} }
# if (u15_12.23_sb3 ==4) # if (u15_12.23_sb3 ==4)
@@ -94,6 +94,12 @@
# CALLX8 - Call Register, Rotate Window by 8, pg. 307. # CALLX8 - Call Register, Rotate Window by 8, pg. 307.
:callx8 as is op2 = 0 & op1 = 0 & ar = 0 & as & u2_6.7 = 0b11 & u2_4.5 = 0b10 & op0 = 0 { :callx8 as is op2 = 0 & op1 = 0 & ar = 0 & as & u2_6.7 = 0b11 & u2_4.5 = 0b10 & op0 = 0 {
local dst = as; local dst = as;
a2=a10;
a3=a11;
a4=a12;
a5=a13;
a6=a14;
a7=a15;
a0 = inst_start + 3; a0 = inst_start + 3;
call [dst]; call [dst];
} }