123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- ## Copyright (C) 2016 Jeremiah Orians
- ## This file is part of stage0.
- ##
- ## stage0 is free software: you can redistribute it and/or modify
- ## it under the terms of the GNU General Public License as published by
- ## the Free Software Foundation, either version 3 of the License, or
- ## (at your option) any later version.
- ##
- ## stage0 is distributed in the hope that it will be useful,
- ## but WITHOUT ANY WARRANTY; without even the implied warranty of
- ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ## GNU General Public License for more details.
- ##
- ## You should have received a copy of the GNU General Public License
- ## along with stage0. If not, see <http:
- #Registers
- DEFINE R0 0
- DEFINE R1 1
- DEFINE R2 2
- DEFINE R3 3
- DEFINE R4 4
- DEFINE R5 5
- DEFINE R6 6
- DEFINE R7 7
- DEFINE R8 8
- DEFINE R9 9
- DEFINE R10 A
- DEFINE R11 B
- DEFINE R12 C
- DEFINE R13 D
- DEFINE R14 E
- DEFINE R15 F
- # 4OP Integer Group
- DEFINE ADD.CI 0100
- DEFINE ADD.CO 0101
- DEFINE ADD.CIO 0102
- DEFINE ADDU.CI 0103
- DEFINE ADDU.CO 0104
- DEFINE ADDU.CIO 0105
- DEFINE SUB.BI 0106
- DEFINE SUB.BO 0107
- DEFINE SUB.BIO 0108
- DEFINE SUBU.BI 0109
- DEFINE SUBU.BO 010A
- DEFINE SUBU.BIO 010B
- DEFINE MULTIPLY 010C
- DEFINE MULTIPLYU 010D
- DEFINE DIVIDE 010E
- DEFINE DIVIDEU 010F
- DEFINE MUX 0110
- DEFINE NMUX 0111
- DEFINE SORT 0112
- DEFINE SORTU 0113
- # 3OP Integer Group
- DEFINE ADD 05000
- DEFINE ADDU 05001
- DEFINE SUB 05002
- DEFINE SUBU 05003
- DEFINE CMP 05004
- DEFINE CMPU 05005
- DEFINE MUL 05006
- DEFINE MULH 05007
- DEFINE MULU 05008
- DEFINE MULUH 05009
- DEFINE DIV 0500A
- DEFINE MOD 0500B
- DEFINE DIVU 0500C
- DEFINE MODU 0500D
- DEFINE MAX 05010
- DEFINE MAXU 05011
- DEFINE MIN 05012
- DEFINE MINU 05013
- DEFINE AND 05020
- DEFINE OR 05021
- DEFINE XOR 05022
- DEFINE NAND 05023
- DEFINE NOR 05024
- DEFINE XNOR 05025
- DEFINE MPQ 05026
- DEFINE LPQ 05027
- DEFINE CPQ 05028
- DEFINE BPQ 05029
- DEFINE SAL 05030
- DEFINE SAR 05031
- DEFINE SL0 05032
- DEFINE SR0 05033
- DEFINE SL1 05034
- DEFINE SR1 05035
- DEFINE ROL 05036
- DEFINE ROR 05037
- DEFINE LOADX 05038
- DEFINE LOADX8 05039
- DEFINE LOADXU8 0503A
- DEFINE LOADX16 0503B
- DEFINE LOADXU16 0503C
- DEFINE LOADX32 0503D
- DEFINE LOADXU32 0503E
- DEFINE STOREX 05048
- DEFINE STOREX8 05049
- DEFINE STOREX16 0504A
- DEFINE STOREX32 0504B
- DEFINE CMPJUMP.G 05050
- DEFINE CMPJUMP.GE 05051
- DEFINE CMPJUMP.E 05052
- DEFINE CMPJUMP.NE 05053
- DEFINE CMPJUMP.LE 05054
- DEFINE CMPJUMP.L 05055
- DEFINE CMPJUMPU.G 05060
- DEFINE CMPJUMPU.GE 05061
- DEFINE CMPJUMPU.LE 05064
- DEFINE CMPJUMPU.L 05065
- # 2OP Integer Group
- DEFINE NEG 090000
- DEFINE ABS 090001
- DEFINE NABS 090002
- DEFINE SWAP 090003
- DEFINE COPY 090004
- DEFINE MOVE 090005
- DEFINE NOT 090006
- DEFINE BRANCH 090100
- DEFINE CALL 090101
- DEFINE PUSHR 090200
- DEFINE PUSH8 090201
- DEFINE PUSH16 090202
- DEFINE PUSH32 090203
- DEFINE POPR 090280
- DEFINE POP8 090281
- DEFINE POPU8 090282
- DEFINE POP16 090283
- DEFINE POPU16 090284
- DEFINE POP32 090285
- DEFINE POPU32 090286
- DEFINE CMPSKIP.G 090300
- DEFINE CMPSKIP.GE 090301
- DEFINE CMPSKIP.E 090302
- DEFINE CMPSKIP.NE 090303
- DEFINE CMPSKIP.LE 090304
- DEFINE CMPSKIP.L 090305
- DEFINE CMPSKIPU.G 090380
- DEFINE CMPSKIPU.GE 090381
- DEFINE CMPSKIPU.LE 090384
- DEFINE CMPSKIPU.L 090385
- # 1OP Group
- DEFINE READPC 0D00000
- DEFINE READSCID 0D00001
- DEFINE FALSE 0D00002
- DEFINE TRUE 0D00003
- DEFINE JSR_COROUTINE 0D01000
- DEFINE RET 0D01001
- DEFINE PUSHPC 0D02000
- DEFINE POPPC 0D02001
- # 2OPI Group
- DEFINE SET.G
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- # 1OPI
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- # 0OPI
- DEFINE
- # HALCODE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- DEFINE
- # 0OP
- DEFINE
- DEFINE
- # M2-Planet
- DEFINE
|