mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-03-26 12:30:21 +00:00
92 lines
2.1 KiB
Plaintext
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
|