19 lines
723 B
ArmAsm
19 lines
723 B
ArmAsm
%default {}
|
|
/*:
|
|
* Generic 32-bit floating-point operation.
|
|
*
|
|
* For: add-float, sub-float, mul-float, div-float
|
|
* form: <op> s0, s0, s1
|
|
*/
|
|
/* floatop vAA, vBB, vCC */
|
|
FETCH w0, 1 // r0<- CCBB
|
|
lsr w1, w0, #8 // r2<- CC
|
|
and w0, w0, #255 // r1<- BB
|
|
GET_VREG s1, w1
|
|
GET_VREG s0, w0
|
|
$instr // s0<- op
|
|
lsr w1, wINST, #8 // r1<- AA
|
|
FETCH_ADVANCE_INST 2 // advance rPC, load rINST
|
|
GET_INST_OPCODE ip // extract opcode from rINST
|
|
SET_VREG s0, w1
|
|
GOTO_OPCODE ip // jump to next instruction
|