mirror of
https://github.com/badvision/lawless-legends.git
synced 2024-08-23 13:29:01 +00:00
assembling...
This commit is contained in:
parent
680cdc557a
commit
e230d98e8c
@ -17,63 +17,18 @@ MACHID = $BF98
|
||||
KEYBD = $C000
|
||||
CLRKBD = $C010
|
||||
SPKR = $C030
|
||||
ROMIN = $C081
|
||||
LCBNK2 = $C083
|
||||
LCBNK1 = $C08B
|
||||
LCRDEN = $C080
|
||||
LCWTEN = $C081
|
||||
ROMEN = $C082
|
||||
LCRWEN = $C083
|
||||
LCBNK2 = $00
|
||||
LCBNK1 = $08
|
||||
ALTZPOFF= $C008
|
||||
ALTZPON = $C009
|
||||
ALTRDOFF= $C002
|
||||
ALTRDON = $C003
|
||||
ALTWROFF= $C004
|
||||
ALTWRON = $C005
|
||||
;*
|
||||
;* AUXMEM ACCESS MACROS
|
||||
;*
|
||||
.IF IS65C02
|
||||
.MACRO AUXZP_ACCESS_ON
|
||||
STA ALTZPON ; TURN ON ALT ZP AND LC
|
||||
.ENDMACRO
|
||||
.MACRO AUXZP_ACCESS_OFF
|
||||
STA ALTZPOFF ; TURN OFF ALT ZP AND LC
|
||||
.ENDMACRO
|
||||
.MACRO AUXMEM_RDON
|
||||
STA ALTRAMRDON
|
||||
.ENDMACRO
|
||||
.MACRO STA ALTRAMRDOFF
|
||||
STA ALTRAMRDOFF
|
||||
.ENDMACRO
|
||||
.MACRO AUXMEM_WRON
|
||||
STA ALTRAMWRON
|
||||
.ENDMACRO
|
||||
.MACRO AUXMEM_WROFF
|
||||
STA ALTRAMWROFF
|
||||
.ENDMACRO
|
||||
.ELSE
|
||||
.MACRO AUXZP_ACCESS_ON
|
||||
SEI ; TURN INTERRUPTS OFF
|
||||
STA ALTZPON ; TURN ON ALT ZP AND LC
|
||||
.ENDMACRO
|
||||
.MACRO AUXZP_ACCESS_OFF
|
||||
STA ALTZPOFF ; TURN OFF ALT ZP AND LC
|
||||
CLI ; TURN INTERRUPTS BACK ON
|
||||
.ENDMACRO
|
||||
.MACRO AUXMEM_RDON
|
||||
SEI
|
||||
STA ALTRAMRDON
|
||||
.ENDMACRO
|
||||
.MACRO STA ALTRAMRDOFF
|
||||
STA ALTRAMRDOFF
|
||||
CLI
|
||||
.ENDMACRO
|
||||
.MACRO AUXMEM_WRON
|
||||
SEI
|
||||
STA ALTRAMWRON
|
||||
.ENDMACRO
|
||||
.MACRO AUXMEM_WROFF
|
||||
STA ALTRAMWROFF
|
||||
CLI
|
||||
.ENDMACRO
|
||||
.ENDIF
|
||||
;**********************************************************
|
||||
;*
|
||||
;* VM ZERO PAGE LOCATIONS
|
||||
@ -98,57 +53,51 @@ TMPX = TMP+2
|
||||
NPARMS = TMPL
|
||||
FRMSZ = TMPH
|
||||
DVSIGN = TMPX
|
||||
;**********************************************************
|
||||
;*
|
||||
;* COMMAND LOADER CODE
|
||||
;* INTERPRETER INSTRUCTION POINTER INCREMENT MACRO
|
||||
;*
|
||||
CLD
|
||||
CLV
|
||||
BVC +
|
||||
JMP PLASMA
|
||||
|
||||
;**********************************************************
|
||||
!MACRO INC_IP {
|
||||
INY
|
||||
BNE * + 4
|
||||
INC IPH
|
||||
}
|
||||
;***********************************************
|
||||
;*
|
||||
;* INTERPRETER INITIALIZATION
|
||||
;*
|
||||
;***********************************************
|
||||
;*
|
||||
;* INIT AND ENTER INTO PLASMA BYTECODE INTERPRETER
|
||||
;* X Y A = ADDRESS OF INITAL ENTRYPOINT
|
||||
;*
|
||||
PLASMA STA PCL
|
||||
STY PCH
|
||||
STX TMP
|
||||
* = $2000
|
||||
CLD
|
||||
LDY #$20
|
||||
LDA PAGE3,Y
|
||||
BIT LCRWEN+LCBNK2
|
||||
BIT LCRWEN+LCBNK2
|
||||
LDY #$10
|
||||
- LDA PAGE3,Y
|
||||
STA $03D0,Y
|
||||
DEY
|
||||
BPL -
|
||||
LDX #ESTKSZ/2
|
||||
INY ; LDY #$00
|
||||
LDA TMP
|
||||
BEQ FETCHOP
|
||||
LDA MACHID
|
||||
AND #$30
|
||||
CMP #$30
|
||||
BEQ FETCHOPX
|
||||
|
||||
PAGE3 = *
|
||||
!PSEUDOPC $03D0 {
|
||||
|
||||
;*
|
||||
;* PAGE 3 VECTORS INTO INTERPRETER
|
||||
;*
|
||||
PAGE3 BIT $C080 ; $03D0 - INTERP ENTRY
|
||||
BIT LCRDEN+LCBNK2 ; $03D0 - INTERP ENTRY
|
||||
JMP INTERP
|
||||
CALL3 BIT ROMEN
|
||||
CALLADR JSR $0000
|
||||
BIT LCRDEN+LCBNK2
|
||||
RTS
|
||||
}
|
||||
|
||||
PLASMA = *
|
||||
!PSEUDOPC $D000 {
|
||||
;*
|
||||
;* OPCODE TABLE
|
||||
;*
|
||||
OPTBL !WORD ZERO,ADD,SUB,MUL,DIV,DIVMOD,INCR,DECR ; 00 02 04 06 08 0A 0C 0E
|
||||
OPTBL !WORD ZERO,ADD,SUB,MUL,DIV,MOD,INCR,DECR ; 00 02 04 06 08 0A 0C 0E
|
||||
!WORD NEG,COMP,BAND,IOR,XOR,SHL,SHR,IDXW ; 10 12 14 16 18 1A 1C 1E
|
||||
!WORD NOT,LOR,LAND,LA,LLA,CB,CW,SWAP ; 20 22 24 26 28 2A 2C 2E
|
||||
!WORD LNOT,LOR,LAND,LA,LLA,CB,CW,SWAP ; 20 22 24 26 28 2A 2C 2E
|
||||
!WORD DROP,DUP,PUSH,PULL,BRLT,BRGT,BREQ,BRNE ; 30 32 34 36 38 3A 3C 3E
|
||||
!WORD ISEQ,ISNE,ISGT,ISLT,ISGE,ISLE,BRFLS,BRTRU ; 40 42 44 46 48 4A 4C 4E
|
||||
!WORD BRNCH,IBRNCH,CALL,ICAL,ENTER,LEAVE,RET,NEXTOP ; 50 52 54 56 58 5A 5C 5E
|
||||
@ -176,36 +125,38 @@ INTERP PLA
|
||||
;*
|
||||
;* INTERP BYTECODE IN MAIN MEM
|
||||
;*
|
||||
NEXTOPH INC IPH
|
||||
BNE FETCHOP
|
||||
DROP INX
|
||||
NEXTOP INY
|
||||
BEQ NEXTOPH
|
||||
FETCHOP LDA (IP),Y
|
||||
STA *+5
|
||||
JMP (OPTBL)
|
||||
NEXTOP INY
|
||||
BNE FETCHOP
|
||||
INC IPH
|
||||
BNE FETCHOP
|
||||
;*
|
||||
;* INTERP BYTECODE IN AUX MEM
|
||||
;*
|
||||
FETCHOPX SEI
|
||||
STA ALTRAMRDON
|
||||
LDA (IP),Y
|
||||
STA *+5
|
||||
JMP (OPTBLX)
|
||||
NEXTOPHX INC IPH
|
||||
BNE FETCHOPX
|
||||
DROPX INX
|
||||
NEXTOPX CLI
|
||||
INY
|
||||
BNE FETCHOPX
|
||||
INC IPH
|
||||
BNE FETCHOPX
|
||||
BEQ NEXTOPHX
|
||||
FETCHOPX SEI
|
||||
STA ALTRDON
|
||||
LDA (IP),Y
|
||||
STA *+5
|
||||
JMP (OPXTBL)
|
||||
;*
|
||||
;* ALIGN TO NEXT PAGE
|
||||
;*
|
||||
!FILL 255
|
||||
!ALIGN 255, 0
|
||||
;*
|
||||
;* OPXCODE TABLE
|
||||
;*
|
||||
OPXTBL !WORD ZEROX,ADDX,SUBX,MULX,DIVX,MODX,INCRX,DECRX ; 00 02 04 06 08 0A 0C 0E
|
||||
!WORD NEGX,COMPX,BANDX,IORX,XORX,SHLX,SHRX,IDXWX ; 10 12 14 16 18 1A 1C 1E
|
||||
!WORD NOTX,LORX,LANDX,LAX,LLAX,CBX,CWX,SWAPX ; 20 22 24 26 28 2A 2C 2E
|
||||
!WORD LNOTX,LORX,LANDX,LAX,LLAX,CBX,CWX,SWAPX ; 20 22 24 26 28 2A 2C 2E
|
||||
!WORD DROPX,DUPX,PUSHX,PULLX,BRLTX,BRGTX,BREQX,BRNEX ; 30 32 34 36 38 3A 3C 3E
|
||||
!WORD ISEQX,ISNEX,ISGTX,ISLTX,ISGEX,ISLEX,BRFLSX,BRTRUX; 40 42 44 46 48 4A 4C 4E
|
||||
!WORD BRNCHX,IBRNCHX,CALLX,ICALX,ENTERX,LEAVEX,RETX,NEXTOPX; 50 52 54 56 58 5A 5C 5E
|
||||
@ -533,7 +484,7 @@ XORX LDA ESTKL+1,X
|
||||
EOR ESTKH,X
|
||||
STA ESTKH+1,X
|
||||
INX
|
||||
NEXTOPX
|
||||
JMP NEXTOPX
|
||||
;*
|
||||
;* SHIFT TOS-1 LEFT BY TOS
|
||||
;*
|
||||
@ -554,7 +505,7 @@ SHL2 ASL ESTKL+1,X
|
||||
BNE SHL2
|
||||
SHL3 INX
|
||||
LDY IPY
|
||||
NEXTOP
|
||||
JMP NEXTOP
|
||||
;
|
||||
SHLX STY IPY
|
||||
LDA ESTKL,X
|
||||
@ -573,7 +524,7 @@ SHLX2 ASL ESTKL+1,X
|
||||
BNE SHLX2
|
||||
SHLX3 INX
|
||||
LDY IPY
|
||||
NEXTOPX
|
||||
JMP NEXTOPX
|
||||
;*
|
||||
;* SHIFT TOS-1 RIGHT BY TOS
|
||||
;*
|
||||
@ -631,20 +582,20 @@ SHRX4 INX
|
||||
;*
|
||||
;* LOGICAL NOT
|
||||
;*
|
||||
NOT LDA ESTKL,X
|
||||
LNOT LDA ESTKL,X
|
||||
ORA ESTKH,X
|
||||
BEQ NOT1
|
||||
BEQ LNOT1
|
||||
LDA #$FF
|
||||
NOT1 EOR #$FF
|
||||
LNOT1 EOR #$FF
|
||||
STA ESTKL,X
|
||||
STA ESTKH,X
|
||||
JMP NEXTOP
|
||||
;
|
||||
NOTX LDA ESTKL,X
|
||||
LNOTX LDA ESTKL,X
|
||||
ORA ESTKH,X
|
||||
BEQ NOTX1
|
||||
BEQ LNOTX1
|
||||
LDA #$FF
|
||||
NOTX1 EOR #$FF
|
||||
LNOTX1 EOR #$FF
|
||||
STA ESTKL,X
|
||||
STA ESTKH,X
|
||||
JMP NEXTOPX
|
||||
@ -675,7 +626,7 @@ LANDX1 STA ESTKL+1,X
|
||||
INX
|
||||
JMP NEXTOPX
|
||||
;*
|
||||
;* LOGICAL OR & DROP TOS
|
||||
;* LOGICAL OR
|
||||
;*
|
||||
LOR LDA ESTKL,X
|
||||
ORA ESTKH,X
|
||||
@ -685,7 +636,7 @@ LOR LDA ESTKL,X
|
||||
LDA #$FF
|
||||
LOR1 STA ESTKL+1,X
|
||||
STA ESTKH+1,X
|
||||
DROP INX
|
||||
INX
|
||||
JMP NEXTOP
|
||||
;
|
||||
LORX LDA ESTKL,X
|
||||
@ -696,7 +647,7 @@ LORX LDA ESTKL,X
|
||||
LDA #$FF
|
||||
LORX1 STA ESTKL+1,X
|
||||
STA ESTKH+1,X
|
||||
DROPX INX
|
||||
INX
|
||||
JMP NEXTOPX
|
||||
;*
|
||||
;* SWAP TOS WITH TOS-1
|
||||
@ -782,7 +733,7 @@ ZERO DEX
|
||||
STA ESTKH,X
|
||||
JMP NEXTOP
|
||||
CB DEX
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA ESTKL,X
|
||||
LDA #$00
|
||||
@ -795,7 +746,7 @@ ZEROX DEX
|
||||
STA ESTKH,X
|
||||
JMP NEXTOPX
|
||||
CBX DEX
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA ESTKL,X
|
||||
LDA #$00
|
||||
@ -804,22 +755,22 @@ CBX DEX
|
||||
;*
|
||||
;* LOAD ADDRESS & LOAD CONSTANT WORD (SAME THING, WITH OR WITHOUT FIXUP)
|
||||
;*
|
||||
LA
|
||||
LA = *
|
||||
CW DEX
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA ESTKL,X
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA ESTKH,X
|
||||
JMP NEXTOP
|
||||
;
|
||||
LAX
|
||||
LAX = *
|
||||
CWX DEX
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA ESTKL,X
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA ESTKH,X
|
||||
JMP NEXTOPX
|
||||
@ -851,7 +802,7 @@ LW LDA ESTKL,X
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
LBX STA ALTRAMRDOFF
|
||||
LBX STA ALTRDOFF
|
||||
LDA ESTKL,X
|
||||
STA TMPL
|
||||
LDA ESTKH,X
|
||||
@ -863,7 +814,7 @@ LBX STA ALTRAMRDOFF
|
||||
STY ESTKH,X
|
||||
LDY IPY
|
||||
JMP NEXTOPX
|
||||
LWX STA ALTRAMRDOFF
|
||||
LWX STA ALTRDOFF
|
||||
LDA ESTKL,X
|
||||
STA TMPL
|
||||
LDA ESTKH,X
|
||||
@ -880,7 +831,7 @@ LWX STA ALTRAMRDOFF
|
||||
;*
|
||||
;* LOAD ADDRESS OF LOCAL FRAME OFFSET
|
||||
;*
|
||||
LLA INC_IP
|
||||
LLA +INC_IP
|
||||
LDA (IP),Y
|
||||
DEX
|
||||
CLC
|
||||
@ -891,7 +842,7 @@ LLA INC_IP
|
||||
STA ESTKH,X
|
||||
JMP NEXTOP
|
||||
;
|
||||
LLAX INC_IP
|
||||
LLAX +INC_IP
|
||||
LDA (IP),Y
|
||||
DEX
|
||||
CLC
|
||||
@ -904,7 +855,7 @@ LLAX INC_IP
|
||||
;*
|
||||
;* LOAD VALUE FROM LOCAL FRAME OFFSET
|
||||
;*
|
||||
LLB INC_IP
|
||||
LLB +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
@ -915,7 +866,7 @@ LLB INC_IP
|
||||
STA ESTKH,X
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
LLW INC_IP
|
||||
LLW +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
@ -928,24 +879,24 @@ LLW INC_IP
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
LLBX INC_IP
|
||||
LLBX +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
DEX
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDA (IFP),Y
|
||||
STA ESTKL,X
|
||||
LDA #$00
|
||||
STA ESTKH,X
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
LLWX INC_IP
|
||||
LLWX +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
DEX
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDA (IFP),Y
|
||||
STA ESTKL,X
|
||||
INY
|
||||
@ -956,10 +907,10 @@ LLWX INC_IP
|
||||
;*
|
||||
;* LOAD VALUE FROM ABSOLUTE ADDRESS
|
||||
;*
|
||||
LAB INC_IP
|
||||
LAB +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
@ -970,10 +921,10 @@ LAB INC_IP
|
||||
STY ESTKH,X
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
LAW INC_IP
|
||||
LAW +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
@ -987,14 +938,14 @@ LAW INC_IP
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
LABX INC_IP
|
||||
LABX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
LDA (TMP),Y
|
||||
DEX
|
||||
@ -1002,14 +953,14 @@ LABX INC_IP
|
||||
STY ESTKH,X
|
||||
LDY IPY
|
||||
JMP NEXTOPX
|
||||
LAWX INC_IP
|
||||
LAWX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
LDA (TMP),Y
|
||||
DEX
|
||||
@ -1056,7 +1007,7 @@ SBX LDA ESTKL+1,X
|
||||
STA TMPH
|
||||
LDA ESTKL,X
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
STA (TMP),Y
|
||||
INX
|
||||
@ -1068,7 +1019,7 @@ SWX LDA ESTKL+1,X
|
||||
LDA ESTKH+1,X
|
||||
STA TMPH
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
LDA ESTKL,X
|
||||
STA (TMP),Y
|
||||
@ -1082,7 +1033,7 @@ SWX LDA ESTKL+1,X
|
||||
;*
|
||||
;* STORE VALUE TO LOCAL FRAME OFFSET
|
||||
;*
|
||||
SLB INC_IP
|
||||
SLB +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
@ -1091,46 +1042,46 @@ SLB INC_IP
|
||||
INX
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
SLW INC_IP
|
||||
SLW +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
LDA ESTKL,X
|
||||
STA (FRMP),Y
|
||||
STA (IFP),Y
|
||||
INY
|
||||
LDA ESTKH,X
|
||||
STA (FRMP),Y
|
||||
STA (IFP),Y
|
||||
INX
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
SLBX INC_IP
|
||||
SLBX +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
TAY
|
||||
LDA ESTKL,X
|
||||
STA (IFP),Y
|
||||
INX
|
||||
LDY IPY
|
||||
JMP NEXTOPX
|
||||
SLWX INC_IP
|
||||
SLWX +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
TAY
|
||||
LDA ESTKL,X
|
||||
STA (FRMP),Y
|
||||
STA (IFP),Y
|
||||
INY
|
||||
LDA ESTKH,X
|
||||
STA (FRMP),Y
|
||||
STA (IFP),Y
|
||||
INX
|
||||
LDY IPY
|
||||
JMP NEXTOPX
|
||||
;*
|
||||
;* STORE VALUE TO LOCAL FRAME OFFSET WITHOUT POPPING STACK
|
||||
;*
|
||||
DLB INC_IP
|
||||
DLB +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
@ -1138,7 +1089,7 @@ DLB INC_IP
|
||||
STA (IFP),Y
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
DLW INC_IP
|
||||
DLW +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
TAY
|
||||
@ -1150,19 +1101,19 @@ DLW INC_IP
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
DLBX INC_IP
|
||||
DLBX +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
TAY
|
||||
LDA ESTKL,X
|
||||
STA (IFP),Y
|
||||
LDY IPY
|
||||
JMP NEXTOPX
|
||||
DLWX INC_IP
|
||||
DLWX +INC_IP
|
||||
LDA (IP),Y
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
TAY
|
||||
LDA ESTKL,X
|
||||
STA (IFP),Y
|
||||
@ -1174,10 +1125,10 @@ DLWX INC_IP
|
||||
;*
|
||||
;* STORE VALUE TO ABSOLUTE ADDRESS
|
||||
;*
|
||||
SAB INC_IP
|
||||
SAB +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
LDA ESTKL,X
|
||||
@ -1187,10 +1138,10 @@ SAB INC_IP
|
||||
INX
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
SAW INC_IP
|
||||
SAW +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
@ -1204,28 +1155,28 @@ SAW INC_IP
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
SABX INC_IP
|
||||
SABX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
LDA ESTKL,X
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
STA (TMP),Y
|
||||
INX
|
||||
LDY IPY
|
||||
JMP NEXTOPX
|
||||
SAWX INC_IP
|
||||
SAWX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
LDA ESTKL,X
|
||||
STA (TMP),Y
|
||||
@ -1238,10 +1189,10 @@ SAWX INC_IP
|
||||
;*
|
||||
;* STORE VALUE TO ABSOLUTE ADDRESS WITHOUT POPPING STACK
|
||||
;*
|
||||
DAB INC_IP
|
||||
DAB +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
@ -1250,10 +1201,10 @@ DAB INC_IP
|
||||
STA (TMP),Y
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
DAW INC_IP
|
||||
DAW +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
@ -1266,27 +1217,27 @@ DAW INC_IP
|
||||
LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
DABX INC_IP
|
||||
DABX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
LDA ESTKL,X
|
||||
STA (TMP),Y
|
||||
LDY IPY
|
||||
JMP NEXTOPX
|
||||
DAWX INC_IP
|
||||
DAWX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
LDA ESTKL,X
|
||||
STA (TMP),Y
|
||||
@ -1492,8 +1443,8 @@ BRTRU INX
|
||||
LDA ESTKH-1,X
|
||||
ORA ESTKL-1,X
|
||||
BNE BRNCH
|
||||
NOBRNCH INC_IP
|
||||
INC_IP
|
||||
NOBRNCH +INC_IP
|
||||
+INC_IP
|
||||
JMP NEXTOP
|
||||
BRFLS INX
|
||||
LDA ESTKH-1,X
|
||||
@ -1503,12 +1454,12 @@ BRNCH STY IPY
|
||||
LDA IPH
|
||||
STA TMPH
|
||||
LDA IPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
CLC
|
||||
ADC (IP),Y
|
||||
STA TMPL
|
||||
LDA TMPH
|
||||
INC_IP
|
||||
+INC_IP
|
||||
ADC (IP),Y
|
||||
STA IPH
|
||||
LDA TMPL
|
||||
@ -1559,8 +1510,8 @@ BRTRUX INX
|
||||
LDA ESTKH-1,X
|
||||
ORA ESTKL-1,X
|
||||
BNE BRNCHX
|
||||
NOBRNCHX INC_IP
|
||||
INC_IP
|
||||
NOBRNCHX +INC_IP
|
||||
+INC_IP
|
||||
JMP NEXTOPX
|
||||
BRFLSX INX
|
||||
LDA ESTKH-1,X
|
||||
@ -1570,12 +1521,12 @@ BRNCHX STY IPY
|
||||
LDA IPH
|
||||
STA TMPH
|
||||
LDA IPL
|
||||
INC_IP
|
||||
+INC_IP
|
||||
CLC
|
||||
ADC (IP),Y
|
||||
STA TMPL
|
||||
LDA TMPH
|
||||
INC_IP
|
||||
+INC_IP
|
||||
ADC (IP),Y
|
||||
STA IPH
|
||||
LDA TMPL
|
||||
@ -1624,19 +1575,19 @@ IBRNCHX LDA IPL
|
||||
;*
|
||||
;* CALL INTO ABSOLUTE ADDRESS (NATIVE CODE)
|
||||
;*
|
||||
CALL INC_IP
|
||||
CALL +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
STA CALLADR+1
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STA CALLADR+2
|
||||
LDA IPH
|
||||
PHA
|
||||
LDA IPL
|
||||
PHA
|
||||
TYA
|
||||
PHA
|
||||
JSR TMPJMP
|
||||
JSR CALL3
|
||||
PLA
|
||||
TAY
|
||||
PLA
|
||||
@ -1645,21 +1596,23 @@ CALL INC_IP
|
||||
STA IPH
|
||||
JMP NEXTOP
|
||||
;
|
||||
CALLX INC_IP
|
||||
CALLX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPL
|
||||
INC_IP
|
||||
PHA
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA TMPH
|
||||
STA ALTRDOFF
|
||||
STA CALLADR+2
|
||||
PLA
|
||||
STA CALLADR+1
|
||||
LDA IPH
|
||||
PHA
|
||||
LDA IPL
|
||||
PHA
|
||||
TYA
|
||||
PHA
|
||||
STA ALTRAMRDOFF
|
||||
CLI
|
||||
JSR TMPJMP
|
||||
JSR CALL3
|
||||
PLA
|
||||
TAY
|
||||
PLA
|
||||
@ -1683,14 +1636,12 @@ ICAL LDA ESTKL,X
|
||||
PHA
|
||||
LDY #$00
|
||||
LDA (TMP),Y
|
||||
PHA
|
||||
STA CALLADR+1
|
||||
INY
|
||||
LDA (TMP),Y
|
||||
STA TMPH
|
||||
PLA
|
||||
STA TMPL
|
||||
STA CALLADR+2
|
||||
CLI
|
||||
JSR TMPJMP
|
||||
JSR CALL3
|
||||
PLA
|
||||
TAY
|
||||
PLA
|
||||
@ -1710,17 +1661,15 @@ ICALX LDA ESTKL,X
|
||||
PHA
|
||||
TYA
|
||||
PHA
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDY #$00
|
||||
LDA (TMP),Y
|
||||
PHA
|
||||
STA CALLADR+1
|
||||
INY
|
||||
LDA (TMP),Y
|
||||
STA TMPH
|
||||
PLA
|
||||
STA TMPL
|
||||
STA CALLADR+2
|
||||
CLI
|
||||
JSR TMPJMP
|
||||
JSR CALL3
|
||||
PLA
|
||||
TAY
|
||||
PLA
|
||||
@ -1731,10 +1680,10 @@ ICALX LDA ESTKL,X
|
||||
;*
|
||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||
;*
|
||||
ENTER INC_IP
|
||||
ENTER +INC_IP
|
||||
LDA (IP),Y
|
||||
STA FRMSZ
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA NPARMS
|
||||
STY IPY
|
||||
@ -1770,14 +1719,14 @@ ENTER4 LDA ESTKH,X
|
||||
ENTER5 LDY IPY
|
||||
JMP NEXTOP
|
||||
;
|
||||
ENTERX INC_IP
|
||||
ENTERX +INC_IP
|
||||
LDA (IP),Y
|
||||
STA FRMSZ
|
||||
INC_IP
|
||||
+INC_IP
|
||||
LDA (IP),Y
|
||||
STA NPARMS
|
||||
STY IPY
|
||||
STA ALTRAMRDOFF
|
||||
STA ALTRDOFF
|
||||
LDA IFPL
|
||||
PHA
|
||||
SEC
|
||||
@ -1822,7 +1771,7 @@ LEAVE LDY #$01
|
||||
STA IFPH
|
||||
RET RTS
|
||||
;
|
||||
LEAVEX STA ALTRAMRDOFF
|
||||
LEAVEX STA ALTRDOFF
|
||||
LDY #$01
|
||||
LDA (IFP),Y
|
||||
DEY
|
||||
@ -1833,7 +1782,7 @@ LEAVEX STA ALTRAMRDOFF
|
||||
STA IFPH
|
||||
CLI
|
||||
RTS
|
||||
RETX STA ALTRAMRDOFF
|
||||
RETX STA ALTRDOFF
|
||||
CLI
|
||||
RTS
|
||||
}
|
Loading…
Reference in New Issue
Block a user