forked from yath/ghidra-xtensa
Removed pad, added callX8
This commit is contained in:
@@ -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
|
||||||
|
@@ -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 {
|
||||||
|
#}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user