1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-03-26 12:30:21 +00:00
PLASMA/src/toolsrc/codeseq.plh
2018-01-04 20:25:00 -08:00

92 lines
2.1 KiB
Plaintext

//
// Constant code group
//
const CONST_GROUP = $00
const CONST_CODE = $2C
const CONSTR_GROUP = $01
const CONSTR_CODE = $2E
//
// Stack code group
//
const STACK_GROUP = $02
const INDEXB_CODE = $02
const ADD_CODE = $02
const SUB_CODE = $04
const MUL_CODE = $06
const DIV_CODE = $08
const MOD_CODE = $0A
const INC_CODE = $0C
const DEC_CODE = $0E
const NEG_CODE = $10
const COMP_CODE = $12
const AND_CODE = $14
const OR_CODE = $16
const EOR_CODE = $18
const SHL_CODE = $1A
const SHR_CODE = $1C
const INDEXW_CODE = $1E
const LOGIC_NOT_CODE = $20
const LOGIC_OR_CODE = $22
const LOGIC_AND_CODE = $24
const DROP_CODE = $30
const DUP_CODE = $32
const EQ_CODE = $40
const NE_CODE = $42
const GT_CODE = $44
const LT_CODE = $46
const GE_CODE = $48
const LE_CODE = $4A
const ICAL_CODE = $56
const RET_CODE = $5C
const LB_CODE = $60
const BPTR_CODE = $60
const LW_CODE = $62
const WPTR_CODE = $62
const SB_CODE = $70
const SW_CODE = $72
//
// Local address code group
//
const LOCAL_GROUP = $03
const LADDR_CODE = $28
const LLB_CODE = $64
const LLW_CODE = $66
const DLB_CODE = $6C
const DLW_CODE = $6E
const SLB_CODE = $74
const SLW_CODE = $76
//
// Global address code group
//
const GLOBAL_GROUP = $04
const GADDR_CODE = $26
const CALL_CODE = $54
const LAB_CODE = $68
const LAW_CODE = $6A
const SAB_CODE = $78
const SAW_CODE = $7A
const DAB_CODE = $7C
const DAW_CODE = $7E
//
// Relative address code group
//
const RELATIVE_GROUP = $05
const BRFALSE_CODE = $4C
const BRTRUE_CODE = $4E
const BRNCH_CODE = $50
//
// Code tag address group
//
const CODETAG_GROUP = $06
//
// Code sequence op
//
struc t_opseq
byte opcode
byte opgroup
word opval[]
word optag
word opoffset
word opnext
end