diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 09656c81..357f9149 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Tools/ASM.T.xlsm b/.Tools/ASM.T.xlsm index 46282781..b8e20576 100644 Binary files a/.Tools/ASM.T.xlsm and b/.Tools/ASM.T.xlsm differ diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 6a99dcdc..08acc4de 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -2,570 +2,573 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -DIR.Reset lda #$80 - ldy #ASM.LI.ON - sta (pData),y +DIR.Reset lda #$80 + ldy #ASM.LI.ON + sta (pData),y - lda #0 - ldy #ASM.LI.CON - sta (pData),y - ldy #ASM.LI.MON - sta (pData),y - ldy #ASM.LI.XON - sta (pData),y - rts + lda #0 + ldy #ASM.LI.CON + sta (pData),y + ldy #ASM.LI.MON + sta (pData),y + ldy #ASM.LI.XON + sta (pData),y + rts *--------------------------------------- -DIR.AC clc - rts +DIR.AC clc + rts *--------------------------------------- -DIR.AT sec - .HS 90 BCC +DIR.AT sec + .HS 90 BCC *--------------------------------------- -DIR.AS clc - lda #0 - ror - sta DIR.Byte Save b7 of last char in string - - jsr SRC.GetNextChar - bcs .9 - cmp #'-' - bne .1 - - lda #$40 save b7 status of ALL chars - tsb DIR.Byte - - jsr SRC.GetNextChar - bcs .9 - -.1 sta DIR.Word Save delimiter.... - sta DIR.Word+1 Save also in prev char.. - -.2 jsr SRC.GetNextChar - bcs .8 - - cmp DIR.Word delimiter ? - beq .8 - - ldx DIR.Word+1 Get prev char - sta DIR.Word+1 replace it with new - txa - cmp DIR.Word is it the starting delimiter - beq .2 yes, skip - - bit DIR.Byte - bvc .3 - - ora #$80 - -.3 jsr OUT.EmitByte no, emit prev char - bcc .2 - -.9 lda #ERR.SYNTAX.ERROR - sec - rts +DIR.AS clc + lda #0 + ror + sta DIR.Byte Save b7 of last char in string + + jsr SRC.GetNextChar + bcs .9 + cmp #'-' + bne .1 + + lda #$40 save b7 status of ALL chars + tsb DIR.Byte + + jsr SRC.GetNextChar + bcs .9 + +.1 sta DIR.Word Save delimiter.... + sta DIR.Word+1 Save also in prev char.. + +.2 jsr SRC.GetNextChar + bcs .8 + + cmp DIR.Word delimiter ? + beq .8 + + ldx DIR.Word+1 Get prev char + sta DIR.Word+1 replace it with new + txa + cmp DIR.Word is it the starting delimiter + beq .2 yes, skip + + bit DIR.Byte + bvc .3 + + ora #$80 + +.3 jsr OUT.EmitByte no, emit prev char + bcc .2 + +.9 lda #ERR.SYNTAX.ERROR + sec + rts -.8 lda DIR.Word+1 Get prev char - cmp DIR.Word someone typed .AS "" ? - beq .88 - - bit DIR.Byte - bpl .81 - eor #$80 +.8 lda DIR.Word+1 Get prev char + cmp DIR.Word someone typed .AS "" ? + beq .88 + + bit DIR.Byte + bpl .81 + eor #$80 -.81 jmp OUT.EmitByte +.81 jmp OUT.EmitByte -.88 clc - rts +.88 clc + rts *--------------------------------------- -DIR.AZ jsr DIR.AS - bcs .9 - - lda #0 - jmp OUT.EmitByte -.9 rts +DIR.AZ jsr DIR.AS + bcs .9 + + lda #0 + jmp OUT.EmitByte +.9 rts *--------------------------------------- -DIR.BS jsr SRC.GetNextCharNB - bcs .98 +DIR.BS jsr SRC.GetNextCharNB + bcs .98 - jsr EXP.Eval - bcs .9 - - lda SRC.ACC+3 - ora SRC.ACC+2 - bne .99 - lda SRC.ACC - eor #$ff - sta DIR.Word - lda SRC.ACC+1 - eor #$ff - sta DIR.Word+1 - - stz DIR.Byte - - jsr SRC.GetNextChar - bcs .1 - cmp #' ' - beq .1 - - cmp #',' - bne .98 - jsr EXP.Eval - bcs .9 - - lda SRC.ACC+3 - ora SRC.ACC+2 - ora SRC.ACC+1 - bne .99 - lda SRC.ACC - sta DIR.Byte - -.1 inc DIR.Word - bne .2 - inc DIR.Word+1 - beq .8 - -.2 lda DIR.Byte - jsr OUT.EmitByte - bcc .1 - rts - -.8 clc -.9 rts - -.99 lda #ERR.RANGE - sec - rts - -.98 lda #ERR.SYNTAX.ERROR - sec - rts + jsr EXP.Eval + bcs .9 + + lda SRC.ACC+3 + ora SRC.ACC+2 + bne .99 + lda SRC.ACC + eor #$ff + sta DIR.Word + lda SRC.ACC+1 + eor #$ff + sta DIR.Word+1 + + stz DIR.Byte + + jsr SRC.GetNextChar + bcs .1 + cmp #' ' + beq .1 + + cmp #',' + bne .98 + jsr EXP.Eval + bcs .9 + + lda SRC.ACC+3 + ora SRC.ACC+2 + ora SRC.ACC+1 + bne .99 + lda SRC.ACC + sta DIR.Byte + +.1 inc DIR.Word + bne .2 + inc DIR.Word+1 + beq .8 + +.2 lda DIR.Byte + jsr OUT.EmitByte + bcc .1 + rts + +.8 clc +.9 rts + +.99 lda #ERR.RANGE + sec + rts + +.98 lda #ERR.SYNTAX.ERROR + sec + rts *--------------------------------------- -DIR.DA jsr SRC.GetNextCharNB - bcs .98 - -.1 jsr EXP.Eval - bcs .9 - - ldx SRC.ACC.SIZE - bne .10 +DIR.DA jsr SRC.GetNextCharNB + bcs .98 + +.1 jsr EXP.Eval + bcs .9 + + ldx SRC.ACC.SIZE + bne .10 - ldx #2 - -.10 ldy #0 + ldx #2 + +.10 ldy #0 -.2 lda SRC.ACC,y - jsr OUT.EmitByte - bcs .9 - - iny - dex - bne .2 - -.3 jsr SRC.GetNextChar - bcs .8 - cmp #' ' - beq .8 - - cmp #',' - bne .98 - jsr SRC.GetNextChar - bcc .1 - -.98 lda #ERR.SYNTAX.ERROR - clc -.9 rts - -.8 clc - rts +.2 lda SRC.ACC,y + jsr OUT.EmitByte + bcs .9 + + iny + dex + bne .2 + +.3 jsr SRC.GetNextChar + bcs .8 + cmp #' ' + beq .8 + + cmp #',' + bne .98 + jsr SRC.GetNextChar + bcc .1 + +.98 lda #ERR.SYNTAX.ERROR + clc +.9 rts + +.8 clc + rts *--------------------------------------- -DIR.DO >LDA.G ASM.DO.StackPtr - inc - cmp #SRC.DO.MAXDEPTH - bcs .98 - - jsr SRC.GetNextCharNB - bcs .99 - - jsr EXP.Eval - bcs .99 - - >INC.G ASM.DO.StackPtr -* clc ok from bcs .99 - adc #ASM.DO.Stack-1 - tay - - lda SRC.ACC - ora SRC.ACC+1 - ora SRC.ACC+2 - ora SRC.ACC+3 - beq .1 - - lda #$ff - +DIR.DO >LDA.G ASM.DO.StackPtr + inc + cmp #SRC.DO.MAXDEPTH + bcs .98 + + jsr SRC.GetNextCharNB + bcs .99 + + jsr EXP.Eval + bcs .99 + + >INC.G ASM.DO.StackPtr +* clc ok from bcs .99 + adc #ASM.DO.Stack-1 + tay + + lda SRC.ACC + ora SRC.ACC+1 + ora SRC.ACC+2 + ora SRC.ACC+3 + beq .1 + + lda #$ff + .1 sta (pData),y - lda #$FF - >STA.G ASM.DO.ON - clc - rts - -.98 lda #ERR.TOO.MANY.DO - sec -.99 rts + lda #$FF + >STA.G ASM.DO.ON + clc + rts + +.98 lda #ERR.TOO.MANY.DO + sec +.99 rts *--------------------------------------- -DIR.DU clc - rts +DIR.DU clc + rts *--------------------------------------- -DIR.ED clc - rts +DIR.ED clc + rts *--------------------------------------- -DIR.EL >LDA.G ASM.DO.StackPtr - beq .9 - - clc - adc #ASM.DO.Stack-1 - tay - lda (pData),y - eor #$ff - sta (pData),y - - clc - rts - - -.9 lda #ERR.ELSE.WITHOUT.DO - sec - rts +DIR.EL >LDA.G ASM.DO.StackPtr + beq .9 + + clc + adc #ASM.DO.Stack-1 + tay + lda (pData),y + eor #$ff + sta (pData),y + + clc + rts + + +.9 lda #ERR.ELSE.WITHOUT.DO + sec + rts *--------------------------------------- -DIR.EM lda #ERR.MACRO.INV.DEF - sec - rts +DIR.EM lda #ERR.MACRO.INV.DEF + sec + rts *--------------------------------------- -DIR.EN clc - rts +DIR.EN clc + rts *--------------------------------------- -DIR.EP ldy #ASM.PH.ON - lda (pData),y - bpl .9 - - lda #0 - sta (pData),y - - ldy #ASM.PC.PH+3 - ldx #3 - -.1 lda (pData),y - pha - dey - dex - bpl .1 - - ldy #ASM.PC - ldx #3 - -.2 pla - sta (pData),y - iny - dex - bpl .2 - clc - rts - -.9 lda #ERR.INV.DIR - sec - rts +DIR.EP ldy #ASM.PH.ON + lda (pData),y + bpl .9 + + lda #0 + sta (pData),y + + ldy #ASM.PC.PH+3 + ldx #3 + +.1 lda (pData),y + pha + dey + dex + bpl .1 + + ldy #ASM.PC + ldx #3 + +.2 pla + sta (pData),y + iny + dex + bpl .2 + clc + rts + +.9 lda #ERR.INV.DIR + sec + rts *--------------------------------------- -DIR.EQ >LDA.G SYM.bGlobal - beq .99 - - jsr SRC.GetNextCharNB - bcs .99 - - jsr EXP.Eval - bcs .9 - - jsr SYM.UpdateGlobalAcc - bcs .9 - - lda #1 - >STA.G OUT.bEquate - clc - rts - -.99 lda #ERR.SYNTAX.ERROR - sec -.9 rts +DIR.SE lda #SYMG.F.RW + sta SRC.ACC.F *--------------------------------------- -DIR.FI ldy #ASM.DO.StackPtr - lda (pData),y - beq .99 - dec - sta (pData),y - bne .1 - - lda #$0 - ldy #ASM.DO.ON - sta (pData),y - -.1 clc - rts - -.99 lda #ERR.INV.DIR - sec - rts -*--------------------------------------- -DIR.HS jsr SRC.GetNextCharNB - bcs .99 - - jsr SRC.IsDigit16 - bcs .99 - -.1 >STA.G DIR.Byte - - jsr SRC.GetNextChar - bcc .2 - - jmp OUT.EmitByte - -.2 jsr SRC.IsDigit16 - bcc .3 - - cmp #',' - beq .22 - - cmp #'.' - bne .99 +DIR.EQ lda (ZPGlobalBuf) + beq .99 + + >STA.G OUT.bEquate + + jsr SRC.GetNextCharNB + bcs .99 -.22 >LDA.G DIR.Byte - jsr OUT.EmitByte - bcc .5 - rts - -.3 pha - >LDA.G DIR.Byte - asl - asl - asl - asl - >STA.G DIR.Byte - - pla - >ORA.G DIR.Byte - - -.4 jsr OUT.EmitByte - bcs .9 - - jsr SRC.GetNextChar - bcs .8 - cmp #' ' - beq .8 - - jsr SRC.IsDigit16 - bcc .1 - - cmp #',' - beq .5 - - cmp #'.' - bne .99 - -.5 jsr SRC.GetNextChar - bcs .99 - jsr SRC.IsDigit16 - bcc .1 - -.99 lda #ERR.SYNTAX.ERROR - sec -.9 rts + jsr EXP.Eval + bcs .9 -.8 clc - rts -*--------------------------------------- -DIR.IN jsr SRC.GetNextCharNB - bcs .9 - - >LDYA ZPLinePtr - >SYSCALL RealPath.YA - - phx - - jsr FIO.OpenFile - plx - php - pha - - txa - >SYSCALL FreeMem.A - - pla - plp - rts - - -.9 lda #ERR.SYNTAX.ERROR - sec - rts -*--------------------------------------- -DIR.LI jsr SRC.GetNextChar - bcs .9 + jsr SYM.Acc2Global + bcs .9 + + jsr SYM.FlushGlobal + bcs .9 + lda #0 + sta (ZPGlobalBuf) + rts - >LDYA L.T.LI - jsr SRC.GetKeyword - bcs .9 +.99 lda #ERR.SYNTAX.ERROR + sec +.9 rts +*--------------------------------------- +DIR.FI ldy #ASM.DO.StackPtr + lda (pData),y + beq .99 + dec + sta (pData),y + bne .1 + + lda #$0 + ldy #ASM.DO.ON + sta (pData),y + +.1 clc + rts + +.99 lda #ERR.INV.DIR + sec + rts +*--------------------------------------- +DIR.HS jsr SRC.GetNextCharNB + bcs .99 + + jsr SRC.IsDigit16 + bcs .99 + +.1 >STA.G DIR.Byte + + jsr SRC.GetNextChar + bcc .2 - jsr .7 + jmp OUT.EmitByte + +.2 jsr SRC.IsDigit16 + bcc .3 + + cmp #',' + beq .22 - jsr SRC.GetChar - bcs .8 - - cmp #',' - beq DIR.LI - cmp #' ' - beq .8 - -.9 lda #ERR.SYNTAX.ERROR - sec - rts - -.7 jmp (J.LI,x) + cmp #'.' + bne .99 -.8 clc - rts - -DIR.LI.ON ldy #ASM.LI.ON - sec - bra DIR.LI.APPLY - -DIR.LI.OFF ldy #ASM.LI.ON - clc - bra DIR.LI.APPLY - -DIR.LI.CON ldy #ASM.LI.CON - sec - bra DIR.LI.APPLY - -DIR.LI.COFF ldy #ASM.LI.CON - clc - bra DIR.LI.APPLY +.22 >LDA.G DIR.Byte + jsr OUT.EmitByte + bcc .5 + rts + +.3 pha + >LDA.G DIR.Byte + asl + asl + asl + asl + >STA.G DIR.Byte + + pla + >ORA.G DIR.Byte + + +.4 jsr OUT.EmitByte + bcs .9 + + jsr SRC.GetNextChar + bcs .8 + cmp #' ' + beq .8 + + jsr SRC.IsDigit16 + bcc .1 + + cmp #',' + beq .5 -DIR.LI.MON ldy #ASM.LI.MON - sec - bra DIR.LI.APPLY - -DIR.LI.MOFF ldy #ASM.LI.MON - clc - bra DIR.LI.APPLY - -DIR.LI.XON ldy #ASM.LI.XON - sec - bra DIR.LI.APPLY - -DIR.LI.XOFF ldy #ASM.LI.XON - clc - -DIR.LI.APPLY lda #0 - ror + cmp #'.' + bne .99 + +.5 jsr SRC.GetNextChar + bcs .99 + jsr SRC.IsDigit16 + bcc .1 + +.99 lda #ERR.SYNTAX.ERROR + sec +.9 rts - sta (pData),y - rts +.8 clc + rts *--------------------------------------- -DIR.MA >LDA.G MAC.bAdd - bmi .9 +DIR.IN jsr SRC.GetNextCharNB + bcs .9 + + >LDYA ZPLinePtr + >SYSCALL RealPath.YA + + phx + + jsr FIO.OpenFile + plx + php + pha + + txa + >SYSCALL FreeMem.A + + pla + plp + rts + + +.9 lda #ERR.SYNTAX.ERROR + sec + rts +*--------------------------------------- +DIR.LI jsr SRC.GetNextChar + bcs .9 - >LDA.G ASM.PASS If Pass#2, ignore - bne .8 + >LDYA L.T.LI + jsr SRC.GetKeyword + bcs .9 + + jsr .7 - jsr SRC.GetNextCharNB - beq DIR.OP.SYNERR + jsr SRC.GetChar + bcs .8 + + cmp #',' + beq DIR.LI + cmp #' ' + beq .8 + +.9 lda #ERR.SYNTAX.ERROR + sec + rts - jsr MAC.New - -.8 lda #$ff - >STA.G MAC.bAdd - - clc - rts - -.9 lda #ERR.MACRO.INV.DEF - sec - rts -*--------------------------------------- -DIR.OP jsr SRC.GetNextCharNB - bcs DIR.OP.SYNERR - - >LDYA ZPLinePtr - jmp FIO.LOAD.ASM.T - -DIR.OP.SYNERR lda #ERR.SYNTAX.ERROR - sec - rts -*--------------------------------------- -DIR.OR jsr SRC.GetNextCharNB - bcs DIR.OP.SYNERR - - jsr EXP.Eval - bcs .9 - - ldy #ASM.PC - ldx #0 - -.1 lda SRC.ACC,x - sta (pData),y - inx - iny - cpx #4 - bne .1 - clc -.9 rts -*--------------------------------------- -DIR.PG clc - rts -*--------------------------------------- -DIR.PH ldy #ASM.PH.ON - lda (pData),y - bmi .9 - - lda #$80 - sta (pData),y - - ldy #ASM.PC+3 - ldx #3 - -.1 lda (pData),y - pha - dey - dex - bpl .1 - - ldy #ASM.PC.PH - ldx #3 - -.2 pla - sta (pData),y - iny - dex - bpl .2 +.7 jmp (J.LI,x) - jmp DIR.OR - -.9 lda #ERR.INV.DIR - sec - rts +.8 clc + rts + +DIR.LI.ON ldy #ASM.LI.ON + sec + bra DIR.LI.APPLY + +DIR.LI.OFF ldy #ASM.LI.ON + clc + bra DIR.LI.APPLY + +DIR.LI.CON ldy #ASM.LI.CON + sec + bra DIR.LI.APPLY + +DIR.LI.COFF ldy #ASM.LI.CON + clc + bra DIR.LI.APPLY + +DIR.LI.MON ldy #ASM.LI.MON + sec + bra DIR.LI.APPLY + +DIR.LI.MOFF ldy #ASM.LI.MON + clc + bra DIR.LI.APPLY + +DIR.LI.XON ldy #ASM.LI.XON + sec + bra DIR.LI.APPLY + +DIR.LI.XOFF ldy #ASM.LI.XON + clc + +DIR.LI.APPLY lda #0 + ror + + sta (pData),y + rts *--------------------------------------- -DIR.SE clc - rts +DIR.MA >LDA.G MAC.bAdd + bmi .9 + + >LDA.G ASM.PASS If Pass#2, ignore + bne .8 + + jsr SRC.GetNextCharNB + beq DIR.OP.SYNERR + + jsr MAC.New + +.8 lda #$ff + >STA.G MAC.bAdd + + clc + rts + +.9 lda #ERR.MACRO.INV.DEF + sec + rts *--------------------------------------- -DIR.TA clc - rts +DIR.OP jsr SRC.GetNextCharNB + bcs DIR.OP.SYNERR + + >LDYA ZPLinePtr + jmp FIO.LOAD.ASM.T + +DIR.OP.SYNERR lda #ERR.SYNTAX.ERROR + sec + rts *--------------------------------------- -DIR.TF clc - rts +DIR.OR jsr SRC.GetNextCharNB + bcs DIR.OP.SYNERR + + jsr EXP.Eval + bcs .9 + + ldy #ASM.PC + ldx #0 + +.1 lda SRC.ACC,x + sta (pData),y + inx + iny + cpx #4 + bne .1 + clc +.9 rts *--------------------------------------- -DIR.TI clc - rts +DIR.PG clc + rts *--------------------------------------- -DIR.US clc - rts +DIR.PH ldy #ASM.PH.ON + lda (pData),y + bmi .9 + + lda #$80 + sta (pData),y + + ldy #ASM.PC+3 + ldx #3 + +.1 lda (pData),y + pha + dey + dex + bpl .1 + + ldy #ASM.PC.PH + ldx #3 + +.2 pla + sta (pData),y + iny + dex + bpl .2 + + jmp DIR.OR + +.9 lda #ERR.INV.DIR + sec + rts +*--------------------------------------- +DIR.TA clc + rts +*--------------------------------------- +DIR.TF clc + rts +*--------------------------------------- +DIR.TI clc + rts +*--------------------------------------- +DIR.US clc + rts *--------------------------------------- MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.DIR diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index 23cde09e..0bf4b30f 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -15,364 +15,372 @@ AUTO 4,1 * & = octal * * = PC *--------------------------------------- -EXP.Eval.Missing lda #ERR.MISSING.EXP - sec - rts +EXP.Eval.Missing + lda #ERR.MISSING.EXP + sec + rts -EXP.Eval >STZ.G EXP.Modifier - >STZ.G EXP.Prefix - >STZ.G EXP.Operator - - jsr SRC.GetChar - bcs EXP.Eval.Missing - - jsr SRC.IsMODReserved - bcs EXP.Eval.Next - - txa - >STA.G EXP.Modifier - lda #'#' - >STA.G EXP.Prefix - -EXP.Eval.Next0 jsr SRC.GetNextChar - -EXP.Eval.Next lda #2 - sta SRC.ACC.SIZE Default To WORD (2 bytes) - - stz SRC.ACC - stz SRC.ACC+1 - stz SRC.ACC+2 - stz SRC.ACC+3 - - jsr SRC.GetChar - bcs EXP.Eval.Missing - - cmp #'.' Local Label? - bne .12 - - jsr EXP.GetLSymIDInAcc - bcs .14 - - jmp EXP.EvalOperator -.14 rts +EXP.Eval >STZ.G EXP.Modifier + >STZ.G EXP.Prefix + >STZ.G EXP.Operator -.12 cmp #'*' - bne .10 + jsr SRC.GetChar + bcs EXP.Eval.Missing + + jsr SRC.IsMODReserved + bcs EXP.Eval.Next + + txa + >STA.G EXP.Modifier + lda #'#' + >STA.G EXP.Prefix + +EXP.Eval.Next0 jsr SRC.GetNextChar + +EXP.Eval.Next lda #2 + sta SRC.ACC.SIZE Default To WORD (2 bytes) - ldy #ASM.PC+3 - ldx #3 - -.11 lda (pData),y - sta SRC.ACC,x - dey - dex - bpl .11 + stz SRC.ACC + stz SRC.ACC+1 + stz SRC.ACC+2 + stz SRC.ACC+3 + + jsr SRC.GetChar + bcs EXP.Eval.Missing + + cmp #'.' Local Label? + bne .12 - jsr SRC.GetNextChar - jmp EXP.EvalOperator - -.10 jsr SRC.IsDigit10 Decimal constant ? - bcs .1 - - jsr SRC.GetDecimal - - bcs EXP.EvalExitSYN - bra EXP.EvalOperator - -.1 cmp #'$' Hex? - bne .2 - - jsr SRC.GetHex - - bcs EXP.EvalExitSYN - bra EXP.EvalOperator - - -.2 cmp #'%' binary? - bne .3 + jsr EXP.GetLSymIDInAcc + bcs .14 + + jmp EXP.EvalOperator +.14 rts + +.12 cmp #'*' + bne .10 - jsr SRC.GetBinary - - bcs EXP.EvalExitSYN - bra EXP.EvalOperator - - -.3 cmp #'&' octal? - bne .4 - jsr SRC.GetOctal - - bcs EXP.EvalExitSYN - bra EXP.EvalOperator - -.4 cmp #''' - bne .43 - jsr SRC.GetNextChar - bcs EXP.EvalExitSYN - - jsr EXP.SetAccA - jsr SRC.GetNextChar - bcs EXP.EvalOperator - cmp #''' - bne EXP.EvalExitSYN - jsr SRC.GetNextChar - bra EXP.EvalOperator - -.43 cmp #'"' - bne .42 - jsr SRC.GetNextChar - bcs EXP.EvalExitSYN - ora #$80 - jsr EXP.SetAccA - jsr SRC.GetNextChar - bcs EXP.EvalOperator - cmp #'"' - bne EXP.EvalExitSYN - jsr SRC.GetNextChar - bra EXP.EvalOperator - -.42 jsr SRC.IsLetter Symbol ? - bcs EXP.EvalExitSYN + ldy #ASM.PC+3 + ldx #3 + +.11 lda (pData),y + sta SRC.ACC,x + dey + dex + bpl .11 - jsr EXP.GetGSymValueInAcc - bcs EXP.EvalExitUND - bra EXP.EvalOperator - -EXP.EvalExitOK >LDA.G EXP.Modifier - beq .8 - asl - tax - jmp (J.EXP.MOD-2,x) -.8 clc -EXP.EvalExitRTS rts - -EXP.EvalExitSYN lda #ERR.SYNTAX.ERROR - sec - rts + jsr SRC.GetNextChar + jmp EXP.EvalOperator + +.10 jsr SRC.IsDigit10 Decimal constant ? + bcs .1 + + jsr SRC.GetDecimal + + bcs EXP.EvalExitRTS + bra EXP.EvalOperator + +.1 cmp #'$' Hex? + bne .2 + + jsr SRC.GetHex + + bcs EXP.EvalExitRTS + bra EXP.EvalOperator + + +.2 cmp #'%' binary? + bne .3 -EXP.EvalExitUND lda #ERR.UNDEF.SYMBOL - sec - rts - -EXP.EvalOperator >LDA.G EXP.Operator - beq .7 - - jsr EXP.Compute - bcs EXP.EvalExitRTS - -.7 jsr SRC.GetChar - bcs EXP.EvalExitOK + jsr SRC.GetBinary + + bcs EXP.EvalExitRTS + bra EXP.EvalOperator + + +.3 cmp #'&' octal? + bne .4 + jsr SRC.GetOctal + + bcs EXP.EvalExitRTS + bra EXP.EvalOperator + +.4 cmp #''' + bne .43 + jsr SRC.GetNextChar + bcs EXP.EvalExitSYN + + jsr EXP.SetAccA + jsr SRC.GetNextChar + bcs EXP.EvalOperator + cmp #''' + bne EXP.EvalExitSYN + jsr SRC.GetNextChar + bra EXP.EvalOperator + +.43 cmp #'"' + bne .42 + jsr SRC.GetNextChar + bcs EXP.EvalExitSYN + ora #$80 + jsr EXP.SetAccA + jsr SRC.GetNextChar + bcs EXP.EvalOperator + cmp #'"' + bne EXP.EvalExitSYN + jsr SRC.GetNextChar + bra EXP.EvalOperator + +.42 jsr SRC.IsLetter Symbol ? + bcs EXP.EvalExitSYN - cmp #' ' - beq EXP.EvalExitOK + jsr EXP.GetSymG + bcs EXP.EvalExitUND + bra EXP.EvalOperator + +EXP.EvalExitOK >LDA.G EXP.Modifier + beq .8 + asl + tax + jmp (J.EXP.MOD-2,x) + +.8 clc +EXP.EvalExitRTS rts + +EXP.EvalExitSYN lda #ERR.SYNTAX.ERROR + sec + rts - jsr SRC.IsAMReserved - bcc EXP.EvalExitOK - - jsr SRC.IsEXPReserved - bcs EXP.EvalExitSYN - txa - >STA.G EXP.Operator - - ldx #4 - -.8 lda SRC.ACC.SIZE,x - sta SRC.ARG.SIZE,x - dex - bpl .8 - - jmp EXP.Eval.Next0 -*--------------------------------------- -EXP.GetLSymIDInAcc jsr SRC.GetNextChar - bcs .9 - - jsr SRC.GetDecimal - bcs EXP.EvalExitSYN - lda SRC.ACC+1 - ora SRC.ACC+2 - ora SRC.ACC+3 - bne EXP.EvalExitSYN Max .255 - lda SRC.ACC - beq EXP.EvalExitSYN .0 is not allowed - - jsr SYM.LookupLocal - bcs EXP.EvalExitUND - rts - -.9 lda #ERR.SYNTAX.ERROR - sec - rts +EXP.EvalExitUND lda #ERR.UNDEF.SYMBOL + sec + rts *--------------------------------------- -EXP.GetGSymValueInAcc - jsr SYM.LookupGlobal - bcs .2 - - ldy #SYM.Lookup+5 - ldx #3 - -.1 lda (pData),y - sta SRC.ACC,x - dey - dex - bpl .1 - - lda (pData),y - and #SYMG.F.SIZE - sta SRC.ACC.SIZE -* clc - rts - -.2 >LDA.G ASM.PASS pass#2? - bne .99 yes, undefined symbol - - lda #0 Mark ACC as pending - sta SRC.ACC.SIZE - -.3 jsr SRC.GetNextChar - bcs .8 - - jsr SRC.IsLetterOrDigit - bcc .3 - cmp #'.' - beq .3 - cmp #'_' - beq .3 - -.8 clc - rts +EXP.EvalOperator + >LDA.G EXP.Operator + beq .7 + + jsr EXP.Compute + bcs EXP.EvalExitRTS + +.7 jsr SRC.GetChar + bcs EXP.EvalExitOK -.99 lda #ERR.UNDEF.SYMBOL - sec -.9 rts -*--------------------------------------- -EXP.SetAccA sta SRC.ACC - stz SRC.ACC+1 - stz SRC.ACC+2 - stz SRC.ACC+3 - lda #1 - sta SRC.ACC.SIZE - rts -*--------------------------------------- -EXP.Compute asl - tax - jmp (J.EXP.OP-2,x) -*--------------------------------------- -EXP.MOD.8.3 lda SRC.ACC+2 - bra EXP.MOD.8 -EXP.MOD.8.2 lda SRC.ACC+1 -EXP.MOD.8 sta SRC.ACC -EXP.MOD.8.1 lda #1 - sta SRC.ACC.SIZE - clc - rts -EXP.MOD.24 lda #3 - sta SRC.ACC.SIZE - clc - rts -EXP.MOD.32 lda #4 - sta SRC.ACC.SIZE - clc - rts -*--------------------------------------- -EXP.OP.EOR ldx #3 + cmp #' ' + beq EXP.EvalExitOK -.1 lda SRC.ARG,x - eor SRC.ACC,x - sta SRC.ACC,x - dex - bpl .1 - rts -*--------------------------------------- -EXP.OP.ORA ldx #3 + jsr SRC.IsAMReserved + bcc EXP.EvalExitOK -.1 lda SRC.ARG,x - ora SRC.ACC,x - sta SRC.ACC,x - dex - bpl .1 - rts + jsr SRC.IsEXPReserved + bcs EXP.EvalExitSYN + txa + >STA.G EXP.Operator + + ldx #5 + +.8 lda SRC.ACC.F,x + sta SRC.ARG.F,x + dex + bpl .8 + + jmp EXP.Eval.Next0 *--------------------------------------- -EXP.OP.AND ldx #3 +EXP.GetLSymIDInAcc + jsr SRC.GetNextChar + bcs .9 + + jsr SRC.GetDecimal + bcs EXP.EvalExitSYN + lda SRC.ACC+1 + ora SRC.ACC+2 + ora SRC.ACC+3 + bne EXP.EvalExitSYN Max .255 + lda SRC.ACC + beq EXP.EvalExitSYN .0 is not allowed + + jsr SYM.LookupLocal + bcs EXP.EvalExitUND + rts + +.9 lda #ERR.SYNTAX.ERROR + sec + rts +*--------------------------------------- +EXP.GetSymG jsr SYM.LookupGlobal + bcs .2 + + jsr SYM.Lookup2Acc + + clc + rts + +.2 >LDA.G ASM.PASS pass#2? + bne .99 yes, undefined symbol + + lda #0 Mark ACC as pending + sta SRC.ACC.SIZE + +.3 jsr SRC.GetNextChar + bcs .8 + + jsr SRC.IsLetterOrDigit + bcc .3 + cmp #'.' + beq .3 + cmp #'_' + beq .3 + +.8 clc + rts -.1 lda SRC.ARG,x - and SRC.ACC,x - sta SRC.ACC,x - dex - bpl .1 - rts +.99 lda #ERR.UNDEF.SYMBOL + sec +.9 rts *--------------------------------------- -EXP.OP.LOW clc - rts +EXP.SetAccA sta SRC.ACC + stz SRC.ACC+1 + stz SRC.ACC+2 + stz SRC.ACC+3 + lda #1 + sta SRC.ACC.SIZE + rts *--------------------------------------- -EXP.OP.EQU ldx #0 ARG-ACC->ACC - ldy #4 - - clc il not Equals, return 0 - -.1 lda SRC.ARG,x - eor SRC.ACC,x - bne .2 - inx - dey - bne .1 +EXP.Compute lda SRC.ACC.F + and SRC.ARG.F + and #SYMG.F.RESOLVED + beq .1 + + asl + tax + jmp (J.EXP.OP-2,x) + +.1 >LDA.G ASM.PASS + beq .8 + + lda #ERR.UNDEF.SYMBOL + sec + rts + +.8 clc + rts +*--------------------------------------- +EXP.MOD.8.3 lda SRC.ACC+2 + bra EXP.MOD.8 +EXP.MOD.8.2 lda SRC.ACC+1 +EXP.MOD.8 sta SRC.ACC +EXP.MOD.8.1 lda #1 + sta SRC.ACC.SIZE + clc + rts +EXP.MOD.24 lda #3 + sta SRC.ACC.SIZE + clc + rts +EXP.MOD.32 lda #4 + sta SRC.ACC.SIZE + clc + rts +*--------------------------------------- +EXP.OP.EOR ldx #3 - sec equals, return 1 - -.2 lda #0 - rol - sta SRC.ACC +.1 lda SRC.ARG,x + eor SRC.ACC,x + sta SRC.ACC,x + dex + bpl .1 + rts +*--------------------------------------- +EXP.OP.ORA ldx #3 - lda #1 - sta SRC.ACC.SIZE - -.9 rts +.1 lda SRC.ARG,x + ora SRC.ACC,x + sta SRC.ACC,x + dex + bpl .1 + rts +*--------------------------------------- +EXP.OP.AND ldx #3 + +.1 lda SRC.ARG,x + and SRC.ACC,x + sta SRC.ACC,x + dex + bpl .1 + rts +*--------------------------------------- +EXP.OP.LOW clc + rts +*--------------------------------------- +EXP.OP.EQU ldx #0 ARG-ACC->ACC + ldy #4 + + clc il not Equals, return 0 + +.1 lda SRC.ARG,x + eor SRC.ACC,x + bne .2 + inx + dey + bne .1 + + sec equals, return 1 + +.2 lda #0 + rol + sta SRC.ACC + + lda #1 + sta SRC.ACC.SIZE + +.9 rts *--------------------------------------- EXP.OP.GRT - clc - rts + clc + rts *--------------------------------------- -EXP.OP.ADD ldx #0 ARG-ACC->ACC - ldy #4 - - clc - -.1 lda SRC.ARG,x - adc SRC.ACC,x - sta SRC.ACC,x - inx - dey - bne .1 - - bcc .8 - - lda #ERR.VAL.TOO.BIG -.8 rts +EXP.OP.ADD ldx #0 ARG-ACC->ACC + ldy #4 + + clc + +.1 lda SRC.ARG,x + adc SRC.ACC,x + sta SRC.ACC,x + inx + dey + bne .1 + + bcc .8 + + lda #ERR.VAL.TOO.BIG +.8 rts *--------------------------------------- -EXP.OP.SUB ldx #0 ARG-ACC->ACC - ldy #4 - - sec +EXP.OP.SUB ldx #0 ARG-ACC->ACC + ldy #4 + + sec -.1 lda SRC.ARG,x - sbc SRC.ACC,x - sta SRC.ACC,x - inx - dey - bne .1 - - bcs .8 - - lda #ERR.VAL.TOO.BIG - sec - rts - -.8 clc - rts +.1 lda SRC.ARG,x + sbc SRC.ACC,x + sta SRC.ACC,x + inx + dey + bne .1 + + bcs .8 + + lda #ERR.VAL.TOO.BIG + sec + rts + +.8 clc + rts *--------------------------------------- EXP.OP.MUL *--------------------------------------- EXP.OP.DIV - clc - rts + clc + rts *--------------------------------------- MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.EXP diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt index 86b98704..90e9b6e3 100644 --- a/BIN/ASM.S.FIO.txt +++ b/BIN/ASM.S.FIO.txt @@ -2,336 +2,337 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -FIO.Init >LDYA L.ASM.6502 -FIO.LOAD.ASM.T >STYA ZPPtr2 +FIO.Init >LDYA L.ASM.6502 +FIO.LOAD.ASM.T >STYA ZPPtr2 - ldy #S.PS.hARGS - lda (pPS),y - >SYSCALL GetMemPtr.A + ldy #S.PS.hARGS + lda (pPS),y + >SYSCALL GetMemPtr.A - >STYA ZPPtr1 - - ldy #$ff - ldx #$ff - + >STYA ZPPtr1 + + ldy #$ff + ldx #$ff + .1 iny - inx - lda (ZPPtr1),y - sta ASM.T.FILENAME,x - bne .1 - - lda #'.' - sta ASM.T.FILENAME,x + inx + lda (ZPPtr1),y + sta ASM.T.FILENAME,x + bne .1 + + lda #'.' + sta ASM.T.FILENAME,x - inx + inx - lda #'T' - sta ASM.T.FILENAME,x + lda #'T' + sta ASM.T.FILENAME,x - inx + inx - lda #'.' - sta ASM.T.FILENAME,x - - ldy #$ff + lda #'.' + sta ASM.T.FILENAME,x + + ldy #$ff -.2 iny - inx - lda (ZPPtr2),y - jsr SRC.IsLetterOrDigit - bcs .3 - sta ASM.T.FILENAME,x - bra .2 - -.3 stz ASM.T.FILENAME,x - ldy #ASM.T.hMem - lda (pData),y - beq .4 - - >SYSCALL FreeMem.A - ldy #ASM.T.hMem - lda #0 - sta (pData),y - -.4 >PUSHW L.ASM.T.FILENAME - >LDYA L.MSG.T.FILE - jsr OUT.Print - - >PUSHWI 0 Aux type - >PUSHBI 6 S.FI.T.BIN - >PUSHBI SYS.FOpen.R - >PUSHW L.ASM.T.FILENAME - >SYSCALL LoadFile - bcs .9 - - txa - ldy #ASM.T.hMem - sta (pData),y - - >SYSCALL GetMemPtr.A - >STYA ZPPtr1 +.2 iny + inx + lda (ZPPtr2),y + jsr SRC.IsLetterOrDigit + bcs .3 + sta ASM.T.FILENAME,x + bra .2 + +.3 stz ASM.T.FILENAME,x + ldy #ASM.T.hMem + lda (pData),y + beq .4 + + >SYSCALL FreeMem.A + ldy #ASM.T.hMem + lda #0 + sta (pData),y + +.4 >PUSHW L.ASM.T.FILENAME + >LDYA L.MSG.T.FILE + jsr OUT.Print + + >PUSHWI 0 Aux type + >PUSHBI 6 S.FI.T.BIN + >PUSHBI SYS.FOpen.R + >PUSHW L.ASM.T.FILENAME + >SYSCALL LoadFile + bcs .9 + + txa + ldy #ASM.T.hMem + sta (pData),y + + >SYSCALL GetMemPtr.A + >STYA ZPPtr1 - ldy #ASM.T.AM - lda (ZPPtr1),y - clc - adc ZPPtr1 - sta ZPAMPtr - iny - lda (ZPPtr1),y - adc ZPPtr1+1 - sta ZPAMPtr+1 - - iny - lda (ZPPtr1),y - clc - adc ZPPtr1 - sta ZPRPtr - iny - lda (ZPPtr1),y - adc ZPPtr1+1 - sta ZPRPtr+1 - - iny - lda (ZPPtr1),y - clc - adc ZPPtr1 - sta ZPOpsPtr - iny - lda (ZPPtr1),y - adc ZPPtr1+1 - sta ZPOpsPtr+1 - -.9 rts + ldy #ASM.T.AM + lda (ZPPtr1),y + clc + adc ZPPtr1 + sta ZPAMPtr + iny + lda (ZPPtr1),y + adc ZPPtr1+1 + sta ZPAMPtr+1 + + iny + lda (ZPPtr1),y + clc + adc ZPPtr1 + sta ZPRPtr + iny + lda (ZPPtr1),y + adc ZPPtr1+1 + sta ZPRPtr+1 + + iny + lda (ZPPtr1),y + clc + adc ZPPtr1 + sta ZPOpsPtr + iny + lda (ZPPtr1),y + adc ZPPtr1+1 + sta ZPOpsPtr+1 + +.9 rts *--------------------------------------- -FIO.OpenFile >STYA ZPPtr1 - - >PUSHW ZPPtr1 - >LDYA L.MSG.SRC.FILE - jsr OUT.Print - - ldy #SRC.COUNT - lda (pData),y - cmp #SRC.IN.MAXDEPTH - bne .1 - - lda #ERR.SRC.TOO.MANY.IN - sec - rts - -.1 >PUSHW L.FIO.Stat - >PUSHW ZPPtr1 - >SYSCALL Stat - bcs .99 - - lda FIO.Stat+S.STAT.P.TYPE - cmp #$04 TXT ? - bne .2 +FIO.OpenFile >STYA ZPPtr1 + + >PUSHW ZPPtr1 + >LDYA L.MSG.SRC.FILE + jsr OUT.Print + + ldy #SRC.COUNT + lda (pData),y + cmp #SRC.IN.MAXDEPTH + bne .1 + + lda #ERR.SRC.TOO.MANY.IN + sec + rts + +.1 >PUSHW L.FIO.Stat + >PUSHW ZPPtr1 + >SYSCALL Stat + bcs .99 + + lda FIO.Stat+S.STAT.P.TYPE + cmp #$04 TXT ? + bne .2 - >PUSHWI 0 - >PUSHBI 4 - >PUSHBI SYS.FOpen.R+SYS.FOpen.T - bra .3 - -.2 cmp #$FA S-C/BAS? - bne .98 - - >PUSHWI 0 - >PUSHBI $FA - >PUSHBI SYS.FOpen.R - -.3 >PUSHW ZPPtr1 - >SYSCALL FOpen - bcs .99 - - pha - ldy #SRC.COUNT - lda (pData),y - clc - adc #SRC.hFILES - tay - pla - sta (pData),y - - ldy #SRC.COUNT - lda (pData),y - clc - adc #SRC.hFILETYPES - tay + >PUSHWI 0 + >PUSHBI 4 + >PUSHBI SYS.FOpen.R+SYS.FOpen.T + bra .3 + +.2 cmp #$FA S-C/BAS? + bne .98 + + >PUSHWI 0 + >PUSHBI $FA + >PUSHBI SYS.FOpen.R + +.3 >PUSHW ZPPtr1 + >SYSCALL FOpen + bcs .99 + + pha + ldy #SRC.COUNT + lda (pData),y + clc + adc #SRC.hFILES + tay + pla + sta (pData),y + + ldy #SRC.COUNT + lda (pData),y + clc + adc #SRC.hFILETYPES + tay - lda FIO.Stat+S.STAT.P.TYPE - sta (pData),y + lda FIO.Stat+S.STAT.P.TYPE + sta (pData),y - ldy #SRC.COUNT - lda (pData),y - inc - sta (pData),y - - lda #0 - >STA.G SRC.LINENUM - iny - sta (pData),y - - clc - rts - -.98 lda #ERR.SRC.INV.TYPE - - sec -.99 rts + ldy #SRC.COUNT + lda (pData),y + inc + sta (pData),y + + lda #0 + >STA.G SRC.LINENUM + iny + sta (pData),y + + clc + rts + +.98 lda #ERR.SRC.INV.TYPE + + sec +.99 rts *--------------------------------------- -FIO.ReadLine >LDYA ZPLineBuf - >STYA ZPLinePtr - - ldy #SRC.COUNT - lda (pData),y - clc - adc #SRC.hFILETYPES-1 - tay - lda (pData),y - bmi .10 +FIO.ReadLine >LDYA ZPLineBuf + >STYA ZPLinePtr + + ldy #SRC.COUNT + lda (pData),y + clc + adc #SRC.hFILETYPES-1 + tay + lda (pData),y + bmi .10 - >PUSHW ZPLineBuf - >PUSHWI 256 + >PUSHW ZPLineBuf + >PUSHWI 256 - jsr FIO.ReadFromFile - bcs .19 - - tya - beq .13 + jsr FIO.ReadFromFile + bcs .19 + + tya + beq .13 - dey - - lda #0 replace ending $0D with $00 -.13 sta (ZPLineBuf),y + dey - >INC.G SRC.LINENUM - bne .19 - >INC.G SRC.LINENUM+1 -.19 rts + lda #0 replace ending $0D with $00 +.13 sta (ZPLineBuf),y + + >INC.G SRC.LINENUM + bne .19 + >INC.G SRC.LINENUM+1 +.19 rts *--------------------------------------- -.10 >PUSHW ZPTmpBuf - >PUSHWI 3 - jsr FIO.ReadFromFile - bcs .19 +.10 >PUSHW ZPTmpBuf + >PUSHWI 3 + jsr FIO.ReadFromFile + bcs .19 - ldy #1 - lda (ZPTmpBuf),y - pha - iny - lda (ZPTmpBuf),y - >STA.G SRC.LINENUM+1 - pla - >STA.G SRC.LINENUM - - lda (ZPTmpBuf) LEN - sec - sbc #3 - bcc .9 LEN should be at least 3 + ldy #1 + lda (ZPTmpBuf),y + pha + iny + lda (ZPTmpBuf),y + >STA.G SRC.LINENUM+1 + pla + >STA.G SRC.LINENUM + + lda (ZPTmpBuf) LEN + sec + sbc #3 + bcc .9 LEN should be at least 3 - tay - >PUSHW ZPTmpBuf - lda #0 - >PUSHYA - jsr FIO.ReadFromFile - bcs .9 - - >LDYA ZPTmpBuf - >STYA ZPPtr1 - - ldy #0 - -.1 lda (ZPPtr1) - inc ZPPtr1 - bne .11 - inc ZPPtr1+1 - -.11 tax - bmi .2 - - sta (ZPLineBuf),y - beq .8 Ending 00 + tay + >PUSHW ZPTmpBuf + lda #0 + >PUSHYA + jsr FIO.ReadFromFile + bcs .9 + + >LDYA ZPTmpBuf + >STYA ZPPtr1 + + ldy #0 + +.1 lda (ZPPtr1) + inc ZPPtr1 + bne .11 + inc ZPPtr1+1 + +.11 tax + bmi .2 + + sta (ZPLineBuf),y + beq .8 Ending 00 - iny - bne .1 - bra .99 - -.2 cmp #$C0 REPEAT char? - bne .5 + iny + bne .1 + bra .99 + +.2 cmp #$C0 REPEAT char? + bne .5 - lda (ZPPtr1) Get Repeat Count - inc ZPPtr1 - bne .3 - inc ZPPtr1+1 - -.3 tax + lda (ZPPtr1) Get Repeat Count + inc ZPPtr1 + bne .3 + inc ZPPtr1+1 + +.3 tax - lda (ZPPtr1) Get Repeat Char - inc ZPPtr1 - bne .4 - inc ZPPtr1+1 - -.4 sta (ZPLineBuf),y - - iny - beq .99 - dex - bne .4 + lda (ZPPtr1) Get Repeat Char + inc ZPPtr1 + bne .4 + inc ZPPtr1+1 + +.4 sta (ZPLineBuf),y + + iny + beq .99 + dex + bne .4 - bra .1 - -.5 and #$3F Compute blank count - tax - lda #$20 - -.6 sta (ZPLineBuf),y - iny - beq .99 - - dex - bne .6 - bra .1 - -.8 clc -.9 rts + bra .1 + +.5 and #$3F Compute blank count + tax + lda #$20 + +.6 sta (ZPLineBuf),y + iny + beq .99 + + dex + bne .6 + bra .1 + +.8 clc +.9 rts -.99 lda #ERR.LINE.TOO.LONG - sec - rts +.99 lda #ERR.LINE.TOO.LONG + sec + rts *-------------------------------------- -FIO.ReadFromFile ldy #SRC.COUNT - lda (pData),y - clc - adc #SRC.hFILES-1 - tay - lda (pData),y - >PUSHA - >SYSCALL FRead - bcs .9 - - tax $100 byte transfered ? - beq .9 - - lda #ERR.LINE.TOO.LONG - sec -.9 rts +FIO.ReadFromFile + ldy #SRC.COUNT + lda (pData),y + clc + adc #SRC.hFILES-1 + tay + lda (pData),y + >PUSHA + >SYSCALL FRead + bcs .9 + + tax $100 byte transfered ? + beq .9 + + lda #ERR.LINE.TOO.LONG + sec +.9 rts *--------------------------------------- -FIO.FileClose ldy #SRC.COUNT - lda (pData),y - beq .8 - - clc - adc #SRC.hFILES-1 - tay - lda (pData),y - >SYSCALL FClose.A - - ldy #SRC.COUNT - lda (pData),y - dec - sta (pData),y - -.8 clc - rts +FIO.FileClose ldy #SRC.COUNT + lda (pData),y + beq .8 + + clc + adc #SRC.hFILES-1 + tay + lda (pData),y + >SYSCALL FClose.A + + ldy #SRC.COUNT + lda (pData),y + dec + sta (pData),y + +.8 clc + rts *--------------------------------------- MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.FIO diff --git a/BIN/ASM.S.MAC.txt b/BIN/ASM.S.MAC.txt index b1187d7e..539be58d 100644 --- a/BIN/ASM.S.MAC.txt +++ b/BIN/ASM.S.MAC.txt @@ -2,83 +2,83 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -MAC.Init >SYSCALL SListNew - bcs .9 +MAC.Init >SYSCALL SListNew + bcs .9 - >STA.G MAC.hMacros - - >LDYAI 256 - >SYSCALL GetMem.YA - bcs .9 - - >STYA ZPMacroBuf - txa - >STA.G MAC.hBuf - -.9 rts -*--------------------------------------- -MAC.Quit >LDA.G MAC.hBuf - beq .1 - - >SYSCALL FreeMem.A - -.1 >LDA.G MAC.hMacros - beq .8 - >SYSCALL SListFree.A - -.8 clc - rts -*--------------------------------------- -MAC.New lda #0 - tay - -.1 sta (ZPMacroBuf),y - iny - bne .1 - - rts -*--------------------------------------- -MAC.AddChar >LDA.G ASM.PASS If Pass#2, ignore - bne .8 - - tax - lda (ZPMacroBuf) -* cmp #254 -* beq .9 CS if EQ - - inc - sta (ZPMacroBuf) - - tay - txa - - sta (ZPMacroBuf),y - - tax - beq .1 - -* >SYSCALL PutChar.A -.8 clc - rts - -.1 -* lda #13 -* >SYSCALL PutChar.A -* lda #10 -* >SYSCALL PutChar.A + >STA.G MAC.hMacros - - clc -.9 rts + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + + >STYA ZPMacroBuf + txa + >STA.G MAC.hBuf + +.9 rts *--------------------------------------- -MAC.Store >LDA.G ASM.PASS If Pass#2, ignore - bne .8 +MAC.Quit >LDA.G MAC.hBuf + beq .1 -.8 clc - rts + >SYSCALL FreeMem.A + +.1 >LDA.G MAC.hMacros + beq .8 + >SYSCALL SListFree.A + +.8 clc + rts *--------------------------------------- +MAC.New lda #0 + tay + +.1 sta (ZPMacroBuf),y + iny + bne .1 + + rts +*--------------------------------------- +MAC.AddChar >LDA.G ASM.PASS If Pass#2, ignore + bne .8 + + tax + lda (ZPMacroBuf) +* cmp #254 +* beq .9 CS if EQ + + inc + sta (ZPMacroBuf) + + tay + txa + + sta (ZPMacroBuf),y + + tax + beq .1 + +* >SYSCALL PutChar.A +.8 clc + rts + +.1 +* lda #13 +* >SYSCALL PutChar.A +* lda #10 +* >SYSCALL PutChar.A - + + clc +.9 rts +*--------------------------------------- +MAC.Store >LDA.G ASM.PASS If Pass#2, ignore + bne .8 + +.8 clc + rts +*--------------------------------------- + + MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.MAC LOAD /A2OSX.BUILD/BIN/DEV/ASM.S diff --git a/BIN/ASM.S.OUT.txt b/BIN/ASM.S.OUT.txt index a28e80d7..5110c20d 100644 --- a/BIN/ASM.S.OUT.txt +++ b/BIN/ASM.S.OUT.txt @@ -2,225 +2,228 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -OUT.Init lda #20 - >STA.G OUT.LineCnt - rts +OUT.Init lda #20 + >STA.G OUT.LineCnt + rts *--------------------------------------- -OUT.Reset ldx #4 - - ldy #ASM.PC - -.1 lda (pData),y - pha - iny - dex - bne .1 - - ldx #4 - - ldy #OUT.PC+3 - -.2 pla - sta (pData),y - dey - dex - bne .2 +OUT.Reset ldx #4 + + ldy #ASM.PC + +.1 lda (pData),y + pha + iny + dex + bne .1 + + ldx #4 + + ldy #OUT.PC+3 + +.2 pla + sta (pData),y + dey + dex + bne .2 - >STZ.G OUT.Buf - >STA.G OUT.bEquate - - rts + >STZ.G OUT.Buf + >STA.G OUT.bEquate + + rts *--------------------------------------- -OUT.PrintLineErr >STA.G DIR.Byte Save Error code +OUT.PrintLineErr + >STA.G DIR.Byte Save Error code - jsr OUT.PrintLine.1 - bcs .9 - -.1 >PUSHB.G DIR.Byte - >LDYA L.MSG.ERROR - >SYSCALL PrintF.YA - - ldx ZPLinePtr - cpx ZPLineBuf - beq .4 - -.3 phx - lda #'-' - >SYSCALL PutChar.A - plx - bcs .9 - dex - cpx ZPLineBuf - bne .3 - -.4 lda #'^' - phy - >SYSCALL PutChar.A - ply - bcs .9 + jsr OUT.PrintLine.1 + bcs .9 + +.1 >PUSHB.G DIR.Byte + >LDYA L.MSG.ERROR + >SYSCALL PrintF.YA + + ldx ZPLinePtr + cpx ZPLineBuf + beq .4 + +.3 phx + lda #'-' + >SYSCALL PutChar.A + plx + bcs .9 + dex + cpx ZPLineBuf + bne .3 + +.4 lda #'^' + phy + >SYSCALL PutChar.A + ply + bcs .9 -.5 lda #13 - >SYSCALL PutChar.A - lda #10 - >SYSCALL PutChar.A - -.9 rts +.5 lda #13 + >SYSCALL PutChar.A + lda #10 + >SYSCALL PutChar.A + +.9 rts *--------------------------------------- -OUT.PrintLine jsr OUT.PrintLineOn - bcs OUT.PrintLine.9 - -OUT.PrintLine.1 jsr OUT.PrintLineOutBuf - bcs OUT.PrintLine.9 - - >PUSHW ZPLineBuf - >PUSHW.G SRC.LINENUM - >LDYA L.MSG.SRCLINE - jmp OUT.Print -OUT.PrintLine.9 rts +OUT.PrintLine jsr OUT.PrintLineOn + bcs OUT.PrintLine.9 + +OUT.PrintLine.1 jsr OUT.PrintLineOutBuf + bcs OUT.PrintLine.9 + + >PUSHW ZPLineBuf + >PUSHW.G SRC.LINENUM + >LDYA L.MSG.SRCLINE + jmp OUT.Print +OUT.PrintLine.9 rts *--------------------------------------- -OUT.PrintLineOn clc - rts - - >LDA.G ASM.LI.ON - bpl .9 - - >LDA.G MAC.bAdd MACRO Mode ? - bpl .1 - - >LDA.G ASM.LI.MON - bpl .9 - bmi .8 - -.1 >LDA.G ASM.DO.StackPtr within a DO/ELSE ? - beq .2 - - clc - adc #ASM.DO.Stack-1 - tay - lda (pData),y TRUE ? - bne .8 yes, print always - - >LDA.G ASM.LI.CON FALSE, check CON flag... - bpl .9 - bmi .8 - +OUT.PrintLineOn clc + rts + + >LDA.G ASM.LI.ON + bpl .9 + + >LDA.G MAC.bAdd MACRO Mode ? + bpl .1 + + >LDA.G ASM.LI.MON + bpl .9 + bmi .8 + +.1 >LDA.G ASM.DO.StackPtr within a DO/ELSE ? + beq .2 + + clc + adc #ASM.DO.Stack-1 + tay + lda (pData),y TRUE ? + bne .8 yes, print always + + >LDA.G ASM.LI.CON FALSE, check CON flag... + bpl .9 + bmi .8 + .2 - -.8 clc - rts - -.9 sec - rts + +.8 clc + rts + +.9 sec + rts *--------------------------------------- -OUT.PrintLineOutBuf >LDA.G OUT.bEquate - bne OUT.PrintLineAcc - - >LDA.G OUT.Buf - beq .2 - - tax - clc - adc #OUT.Buf - tay - -.1 >PUSHB (pData),y - dey - dex - bne .1 - -.2 ldy #OUT.PC+1 - >PUSHB (pData),y - dey - >PUSHB (pData),y - - >LDA.G OUT.Buf - asl - tax - ldy L.MSG.OUT0,x - lda L.MSG.OUT0+1,x - >SYSCALL PrintF.YA - rts +OUT.PrintLineOutBuf + >LDA.G OUT.bEquate + bne OUT.PrintLineAcc + + >LDA.G OUT.Buf + beq .2 + + tax + clc + adc #OUT.Buf + tay + +.1 >PUSHB (pData),y + dey + dex + bne .1 + +.2 ldy #OUT.PC+1 + >PUSHB (pData),y + dey + >PUSHB (pData),y + + >LDA.G OUT.Buf + asl + tax + ldy L.MSG.OUT0,x + lda L.MSG.OUT0+1,x + >SYSCALL PrintF.YA + rts -OUT.PrintLineAcc ldx SRC.ACC.SIZE - beq .2 - - ldy #0 - -.1 >PUSHB SRC.ACC,y - iny - dex - bne .1 - - lda SRC.ACC.SIZE - asl - tax - -.2 ldy L.MSG.EQU0,x - lda L.MSG.EQU0+1,x - >SYSCALL PrintF.YA - rts +OUT.PrintLineAcc + ldx SRC.ACC.SIZE + beq .2 + + ldy #0 + +.1 >PUSHB SRC.ACC,y + iny + dex + bne .1 + + lda SRC.ACC.SIZE + asl + tax + +.2 ldy L.MSG.EQU0,x + lda L.MSG.EQU0+1,x + >SYSCALL PrintF.YA + rts *--------------------------------------- -OUT.Print >SYSCALL PrintF.YA - bra OUT.Print1 - -OUT.PrintCR lda #13 - >SYSCALL PutChar.A - lda #10 - >SYSCALL PutChar.A +OUT.Print >SYSCALL PrintF.YA + bra OUT.Print1 + +OUT.PrintCR lda #13 + >SYSCALL PutChar.A + lda #10 + >SYSCALL PutChar.A -OUT.Print1 >DEC.G OUT.LineCnt - bne .8 - - lda #20 - sta (pData),y - - >DEBUG +OUT.Print1 >DEC.G OUT.LineCnt + bne .8 + + lda #20 + sta (pData),y + + >DEBUG -.8 rts +.8 rts *--------------------------------------- -OUT.EmitByte phy - phx - pha +OUT.EmitByte phy + phx + pha - >LDA.G OUT.Buf - cmp #3 - bne .2 + >LDA.G OUT.Buf + cmp #3 + bne .2 - jsr OUT.PrintLineOn - bcs .1 + jsr OUT.PrintLineOn + bcs .1 + + >LDA.G ASM.LI.XON + bpl .1 + + jsr OUT.PrintLineOutBuf + jsr OUT.PrintCR + +.1 jsr OUT.Reset + + lda #0 + ldy #OUT.Buf - >LDA.G ASM.LI.XON - bpl .1 +.2 inc + sta (pData),y + clc + adc #OUT.Buf + tay - jsr OUT.PrintLineOutBuf - jsr OUT.PrintCR + pla + sta (pData),y -.1 jsr OUT.Reset - - lda #0 - ldy #OUT.Buf +.8 >INC.G ASM.PC + bne .80 + >INC.G ASM.PC+1 + bne .80 + >INC.G ASM.PC+2 + bne .80 + >INC.G ASM.PC+3 -.2 inc - sta (pData),y - clc - adc #OUT.Buf - tay - - pla - sta (pData),y - -.8 >INC.G ASM.PC - bne .80 - >INC.G ASM.PC+1 - bne .80 - >INC.G ASM.PC+2 - bne .80 - >INC.G ASM.PC+3 - -.80 plx - ply - clc - rts +.80 plx + ply + clc + rts *--------------------------------------- MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.OUT diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index e678941b..dcf710a6 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -2,992 +2,989 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -SRC.ParseLine jsr OUT.Reset - - jsr SRC.GetChar - bcs .8 - - cmp #'*' Comment? - beq .8 - cmp #';' Comment? - beq .8 - - >LDA.G ASM.DO.StackPtr - beq .1 - - clc - adc #ASM.DO.Stack-1 - tay - lda (pData),y - beq .8 - -.1 >LDA.G MAC.bAdd - bmi SRC.ParseLine.MACRO +SRC.ParseLine jsr OUT.Reset + + jsr SRC.GetChar + bcs .8 + + cmp #'*' Comment? + beq .8 + cmp #';' Comment? + beq .8 + + >LDA.G ASM.DO.StackPtr + beq .1 + + clc + adc #ASM.DO.Stack-1 + tay + lda (pData),y + beq .8 + +.1 >LDA.G MAC.bAdd + bmi SRC.ParseLine.MACRO - jmp SRC.ParseLine.LABEL - -.8 clc - rts - -SRC.ParseLine.Macro lda (ZPLinePtr) - cmp #' ' No label, scan to DIR/OP if any - bne .1 - - jsr SRC.GetNextCharNB - bcs .8 - - lda #' ' Store ONE blank - jsr MAC.AddChar - bcs .90 - - lda (ZPLinePtr) get back non blank char - bra .2 - -.1 jsr MAC.AddChar - bcs .99 - - jsr SRC.GetNextChar - bcs .80 - cmp #' ' - bne .1 - - jsr MAC.AddChar -.90 bcs .99 - - jsr SRC.GetNextCharNB - bcs .80 - -.2 cmp #'.' Directive ? - bne .4 + jmp SRC.ParseLine.LABEL + +.8 clc + rts +*--------------------------------------- +SRC.ParseLine.Macro + lda (ZPLinePtr) + cmp #' ' No label, scan to DIR/OP if any + bne .1 + + jsr SRC.GetNextCharNB + bcs .8 + + lda #' ' Store ONE blank + jsr MAC.AddChar + bcs .90 + + lda (ZPLinePtr) get back non blank char + bra .2 + +.1 jsr MAC.AddChar + bcs .99 + + jsr SRC.GetNextChar + bcs .80 + cmp #' ' + bne .1 + + jsr MAC.AddChar +.90 bcs .99 + + jsr SRC.GetNextCharNB + bcs .80 + +.2 cmp #'.' Directive ? + bne .4 - ldy #1 - lda (ZPLinePtr),y - beq .3 - cmp #'E' - beq .21 - cmp #'e' - bne .3 - -.21 iny - lda (ZPLinePtr),y - beq .3 - cmp #'M' - beq .22 - cmp #'m' - bne .3 - -.22 jsr MAC.Store - bcs SRC.ParseLine.RTS - - >STZ.G MAC.bAdd - -.8 clc - rts + ldy #1 + lda (ZPLinePtr),y + beq .3 + cmp #'E' + beq .21 + cmp #'e' + bne .3 + +.21 iny + lda (ZPLinePtr),y + beq .3 + cmp #'M' + beq .22 + cmp #'m' + bne .3 + +.22 jsr MAC.Store + bcs SRC.ParseLine.RTS + + >STZ.G MAC.bAdd + +.8 clc + rts -.80 lda #0 - jmp MAC.AddChar - -.3 lda (ZPLinePtr) - -.4 jsr MAC.AddChar - bcs .99 - - jsr SRC.GetNextChar - bcs .80 - cmp #' ' - bne .4 - - jsr SRC.GetNextChar - bcs .8 - cmp #' ' - beq .80 Comments... - - pha - - lda #' ' - jsr MAC.AddChar - - pla - bcs .99 - -.5 jsr MAC.AddChar Store ARG.... - bcs .99 - - jsr SRC.GetNextChar - bcs .80 - cmp #' ' - bne .5 +.80 lda #0 + jmp MAC.AddChar + +.3 lda (ZPLinePtr) + +.4 jsr MAC.AddChar + bcs .99 + + jsr SRC.GetNextChar + bcs .80 + cmp #' ' + bne .4 + + jsr SRC.GetNextChar + bcs .8 + cmp #' ' + beq .80 Comments... + + pha + + lda #' ' + jsr MAC.AddChar + + pla + bcs .99 + +.5 jsr MAC.AddChar Store ARG.... + bcs .99 + + jsr SRC.GetNextChar + bcs .80 + cmp #' ' + bne .5 - lda #0 - jmp MAC.AddChar End of Line - clc - rts - -.99 lda #ERR.MACRO.TOO.BIG - sec - -SRC.ParseLine.RTS rts + lda #0 + jmp MAC.AddChar End of Line + clc + rts + +.99 lda #ERR.MACRO.TOO.BIG + sec + +SRC.ParseLine.RTS + rts *--------------------------------------- -SRC.ParseLine.LABEL jsr SRC.GetChar - cmp #' ' no label...go scan dir/opcode - beq SRC.ParseLine.DirOp - - cmp #'.' local symbol? - bne .1 +SRC.ParseLine.LABEL + jsr SRC.GetChar + cmp #' ' no label...go scan dir/opcode + beq SRC.ParseLine.DirOp + + cmp #'.' local symbol? + bne .1 - lda (ZPGlobalBuf) - beq SRC.ParseLine.InvLbl - - jsr SRC.GetNextChar - bcs SRC.ParseLine.InvLbl - jsr SRC.GetDecimal - bcs SRC.ParseLine.InvLbl - - lda SRC.ACC+1 - ora SRC.ACC+2 - ora SRC.ACC+3 - bne SRC.ParseLine.InvLbl Max .255 - lda SRC.ACC - beq SRC.ParseLine.InvLbl .0 is not allowed + lda (ZPGlobalBuf) Not relative to Global label... + beq SRC.ParseLine.InvLbl + + jsr SRC.GetNextChar + bcs SRC.ParseLine.InvLbl + jsr SRC.GetDecimal + bcs SRC.ParseLine.InvLbl + + lda SRC.ACC+1 + ora SRC.ACC+2 + ora SRC.ACC+3 + bne SRC.ParseLine.InvLbl Max .255 + lda SRC.ACC + beq SRC.ParseLine.InvLbl .0 is not allowed - jsr SYM.AddLocal - bcs SRC.ParseLine.RTS - bra SRC.ParseLine.DirOp + jsr SYM.NewOrGetLocalA + bcs SRC.ParseLine.RTS + bra SRC.ParseLine.DirOp -.1 jsr SYMG.FlushGlobal - bcs SRC.ParseLine.Err - - >LDA.G ASM.PASS - bne .2 - - jsr SYM.LookupGlobal already defined...get it - bcc SRC.ParseLine.Redef - - jsr SYM.NewGlobal Pass #1; try to add global... - bra SRC.ParseLine.DirOp - -.2 jsr SYM.GetGlobal Pass #2: should be already defined... - bcs SRC.ParseLine.Undef +.1 jsr SYM.FlushGlobal Close & store Previous Global + bcs SRC.ParseLine.RTS + + jsr SYM.NewOrGetGlobal + bcs SRC.ParseLine.RTS *--------------------------------------- -SRC.ParseLine.DirOp jsr SRC.GetNextCharNB Scan for an Opcode... - bcs SRC.ParseLine.Ok - - cmp #'.' - bne .5 - - jsr SRC.GetNextChar - bcs SRC.ParseLine.InvDir - - jsr SRC.ParseLine.Dir - bcs SRC.ParseLine.Err - bra SRC.ParseLine.Ok +SRC.ParseLine.DirOp + jsr SRC.GetNextCharNB Scan for an Opcode... + bcs SRC.ParseLine.Ok + + cmp #'.' + bne .5 + + jsr SRC.GetNextChar + bcs SRC.ParseLine.InvDir + + jsr SRC.ParseLine.Dir + bcs SRC.ParseLine.Err + bra SRC.ParseLine.Ok -.5 cmp #'>' - bne .6 - - jsr SRC.ParseLine.ExecMacro - bcs SRC.ParseLine.Err - bra SRC.ParseLine.Ok - -.6 jsr SRC.ParseLine.OpCode - bcs SRC.ParseLine.Err - -SRC.ParseLine.Ok clc -SRC.ParseLine.Err rts +.5 cmp #'>' + bne SRC.ParseLine.OpCode + + jsr SRC.ParseLine.ExecMacro + bcs SRC.ParseLine.Err + bra SRC.ParseLine.Ok + +SRC.ParseLine.Ok + clc +SRC.ParseLine.Err + rts SRC.ParseLine.InvLbl - lda #ERR.INV.LABEL - sec - rts - -SRC.ParseLine.Redef lda #ERR.SYMBOL.REDEF - sec - rts - -SRC.ParseLine.Undef lda #ERR.UNDEF.SYMBOL - sec - rts + lda #ERR.INV.LABEL + sec + rts + SRC.ParseLine.InvDir - lda #ERR.INV.DIR - sec - rts + lda #ERR.INV.DIR + sec + rts *--------------------------------------- -SRC.ParseLine.Dir >LDYA L.T.DIRECTIVES - jsr SRC.GetKeyword +SRC.ParseLine.Dir + >LDYA L.T.DIRECTIVES + jsr SRC.GetKeyword - bcs SRC.ParseLine.InvDir - - jmp (J.DIRECTIVES,x) + bcs SRC.ParseLine.InvDir + + jmp (J.DIRECTIVES,x) *--------------------------------------- SRC.ParseLine.ExecMacro - - - clc - rts + + + clc + rts *--------------------------------------- SRC.ParseLine.OpCode - stz SRC.AM.StrBuf - - >LDYA ZPOpsPtr - >STYA ZPOpDefPtr - -.1 lda (ZPOpDefPtr) End Of OpCode List - ldy #1 - ora (ZPOpDefPtr),y - beq .9 - - lda ZPOpDefPtr - clc - adc #2 - sta ZPPtr2 - lda ZPOpDefPtr+1 - adc #0 - sta ZPPtr2+1 - - lda (ZPPtr2) - tax - - ldy #0 - -.2 lda (ZPLinePtr),y - beq .7 - - cmp #'a' - bcc .3 - cmp #'z'+1 - bcs .3 - - eor #$20 - -.3 iny - cmp (ZPPtr2),y - bne .7 - - dex - bne .2 - - lda (ZPLinePtr),y - beq .8 End of Line, no AM - - cmp #' ' A space after opcode ? - bne .7 - - tya - sec skip OP + ' ' - adc ZPLinePtr - sta ZPLinePtr - bcc .5 - - inc ZPLinePtr+1 - -.5 bra SRC.ParseLine.AM - -.7 lda ZPOpDefPtr - clc - adc (ZPOpDefPtr) - tax - - lda ZPOpDefPtr+1 - ldy #1 - adc (ZPOpDefPtr),y - stx ZPOpDefPtr - sta ZPOpDefPtr+1 - bra .1 - -.8 jmp SRC.ParseLine.OPAMCheckFF - -.9 lda #ERR.INV.OPCODE - sec -.99 rts + stz SRC.AM.StrBuf + + >LDYA ZPOpsPtr + >STYA ZPOpDefPtr + +.1 lda (ZPOpDefPtr) End Of OpCode List + ldy #1 + ora (ZPOpDefPtr),y + beq .9 + + lda ZPOpDefPtr + clc + adc #2 + sta ZPPtr2 + lda ZPOpDefPtr+1 + adc #0 + sta ZPPtr2+1 + + lda (ZPPtr2) + tax + + ldy #0 + +.2 lda (ZPLinePtr),y + beq .7 + + cmp #'a' + bcc .3 + cmp #'z'+1 + bcs .3 + + eor #$20 + +.3 iny + cmp (ZPPtr2),y + bne .7 + + dex + bne .2 + + lda (ZPLinePtr),y + beq .8 End of Line, no AM + + cmp #' ' A space after opcode ? + bne .7 + + tya + sec skip OP + ' ' + adc ZPLinePtr + sta ZPLinePtr + bcc .5 + + inc ZPLinePtr+1 + +.5 bra SRC.ParseLine.AM + +.7 lda ZPOpDefPtr + clc + adc (ZPOpDefPtr) + tax + + lda ZPOpDefPtr+1 + ldy #1 + adc (ZPOpDefPtr),y + stx ZPOpDefPtr + sta ZPOpDefPtr+1 + bra .1 + +.8 jmp SRC.ParseLine.OPAMCheckFF + +.9 lda #ERR.INV.OPCODE + sec +.99 rts *--------------------------------------- SRC.ParseLine.AM -.1 jsr SRC.GetChar - bcs SRC.ParseLine.AMCheck - -.10 cmp #' ' another space ? - beq SRC.ParseLine.AMCheck ignore end of line (comment) - - jsr SRC.IsAMReserved - bcs .2 - - inc SRC.AM.StrBuf - ldx SRC.AM.StrBuf - sta SRC.AM.StrBuf,x - bra .7 - -.2 jsr SRC.IsLetter Any register? - bcs .6 no, try something else - - >LDYA ZPRPtr Check in register table - jsr SRC.GetKeyword - bcs .6 - - lda (ZPPtr1) get register len - tax - - ldy SRC.AM.StrBuf - -.4 inc ZPPtr1 - bne .5 - inc ZPPtr1+1 - -.5 lda (ZPPtr1) - iny - sta SRC.AM.StrBuf,y - dex - bne .4 - - sty SRC.AM.StrBuf - - bra .1 - -.6 jsr EXP.Eval - bcs .99 - - >LDA.G EXP.Prefix - beq .74 - inc SRC.AM.StrBuf - ldx SRC.AM.StrBuf - sta SRC.AM.StrBuf,x +.1 jsr SRC.GetChar + bcs SRC.ParseLine.AMCheck + +.10 cmp #' ' another space ? + beq SRC.ParseLine.AMCheck ignore end of line (comment) + + jsr SRC.IsAMReserved + bcs .2 + + jsr SRC.AddToBuf + bra .7 + +.2 jsr SRC.IsLetter Any register? + bcs .6 no, try something else + + >LDYA ZPRPtr Check in register table + jsr SRC.GetKeyword + bcs .6 + + lda (ZPPtr1) get register len + tax + +.4 inc ZPPtr1 + bne .5 + inc ZPPtr1+1 + +.5 lda (ZPPtr1) + jsr SRC.AddToBuf + dex + bne .4 + + bra .1 + +.6 jsr EXP.Eval + bcs .99 + + >LDA.G EXP.Prefix + beq .75 + jsr SRC.AddToBuf -.74 ldx SRC.ACC.SIZE - beq .75 Pending...assume 2 bytes... - -.73 lda SRC.ACC-1,x - bne .72 - dex - bne .73 - - inx - bra .72 - -.75 ldx #2 - -.72 lda #'a' - - ldy SRC.AM.StrBuf - -.71 iny - sta SRC.AM.StrBuf,y - dex - bne .71 +.75 ldx #2 - sty SRC.AM.StrBuf - bra .1 - -.7 jsr SRC.GetNextChar - bcc .10 +.74 lda SRC.ACC.SIZE + beq .72 Pending...assume 2 bytes... + + tax + +.73 lda SRC.ACC-1,x + bne .72 - jmp SRC.ParseLine.AMCheck - -.9 lda #ERR.INV.AM.SYN - sec -.99 rts + dex + bne .73 + + inx + +.72 lda #'a' + +.71 jsr SRC.AddToBuf + dex + bne .71 + + bra .1 + +.7 jsr SRC.GetNextChar + bcc .10 + + jmp SRC.ParseLine.AMCheck + +.9 lda #ERR.INV.AM.SYN + sec +.99 rts *--------------------------------------- SRC.ParseLine.AMCheck -* jsr OUT.PrintLine.1 -* >PUSHW L.SRC.AM.StrBuf -* >LDYA L.MSG.PSTRCRLF -* >SYSCALL PrintF.YA - - lda SRC.AM.StrBuf - beq SRC.ParseLine.OPAMCheckFF - - >LDYA ZPAMPtr - >STYA ZPPtr1 - - ldx #0 - -.1 inx +* jsr OUT.PrintLine.1 +* >PUSHW L.SRC.AM.StrBuf +* >LDYA L.MSG.PSTRCRLF +* >SYSCALL PrintF.YA + + lda SRC.AM.StrBuf + beq SRC.ParseLine.OPAMCheckFF + + >LDYA ZPAMPtr + >STYA ZPPtr1 + + ldx #0 + +.1 inx - lda (ZPPtr1) - beq .9 - - cmp SRC.AM.StrBuf - bne .7 - - tay - -.2 lda (ZPPtr1),y - cmp SRC.AM.StrBuf,y - bne .6 - dey - bne .2 - - txa - >STA.G SRC.AMID - bra SRC.ParseLine.OPAMCheck - -.6 lda (ZPPtr1) -.7 sec - adc ZPPtr1 - sta ZPPtr1 - bcc .1 - inc ZPPtr1+1 - bra .1 - -.9 lda #ERR.INV.AM - sec - rts + lda (ZPPtr1) + beq .9 + + cmp SRC.AM.StrBuf + bne .7 + + tay + +.2 lda (ZPPtr1),y + cmp SRC.AM.StrBuf,y + bne .6 + dey + bne .2 + + txa + >STA.G SRC.AMID + bra SRC.ParseLine.OPAMCheck + +.6 lda (ZPPtr1) +.7 sec + adc ZPPtr1 + sta ZPPtr1 + bcc .1 + inc ZPPtr1+1 + bra .1 + +.9 lda #ERR.INV.AM + sec + rts *--------------------------------------- SRC.ParseLine.OPAMCheckFF - lda #$ff Default to no AM - >STA.G SRC.AMID + lda #$ff Default to no AM + >STA.G SRC.AMID SRC.ParseLine.OPAMCheck - ldy #2 Skip nPtr+Len+OP - lda (ZPOpDefPtr),y LEN - sec LEN Byte - adc #2 nPtr - adc ZPOpDefPtr - sta ZPOpDefPtr - bcc .10 - inc ZPOpDefPtr+1 - -.10 lda (ZPOpDefPtr) + ldy #2 Skip nPtr+Len+OP + lda (ZPOpDefPtr),y LEN + sec LEN Byte + adc #2 nPtr + adc ZPOpDefPtr + sta ZPOpDefPtr + bcc .10 + inc ZPOpDefPtr+1 + +.10 lda (ZPOpDefPtr) -.1 >CMP.G SRC.AMID - beq .3 - - ldy #1 - lda (ZPOpDefPtr),y - inc - sec - adc ZPOpDefPtr - sta ZPOpDefPtr - bcc .2 - inc ZPOpDefPtr+1 -.2 lda (ZPOpDefPtr) - bne .1 - -.99 lda #ERR.INV.AM.4.OC - sec - rts - -.3 stz SRC.ACCTMP index in ACC +.1 >CMP.G SRC.AMID + beq .3 + + ldy #1 + lda (ZPOpDefPtr),y + inc + sec + adc ZPOpDefPtr + sta ZPOpDefPtr + bcc .2 + inc ZPOpDefPtr+1 +.2 lda (ZPOpDefPtr) + bne .1 + +.99 lda #ERR.INV.AM.4.OC + sec + rts + +.3 stz SRC.ACCTMP index in ACC - ldy #1 - lda (ZPOpDefPtr),y - sta SRC.ACCTMP+1 Char Count in AM - iny - -.4 lda (ZPOpDefPtr),y - cmp #'a - bcs .5 - jsr SRC.IsDigit16 - asl - asl - asl - asl - sta SRC.ACCTMP+2 - iny - dec SRC.ACCTMP+1 - lda (ZPOpDefPtr),y - jsr SRC.IsDigit16 - ora SRC.ACCTMP+2 + ldy #1 + lda (ZPOpDefPtr),y + sta SRC.ACCTMP+1 Char Count in AM + iny + +.4 lda (ZPOpDefPtr),y + cmp #'a + bcs .5 + jsr SRC.IsDigit16 + asl + asl + asl + asl + sta SRC.ACCTMP+2 + iny + dec SRC.ACCTMP+1 + lda (ZPOpDefPtr),y + jsr SRC.IsDigit16 + ora SRC.ACCTMP+2 -.50 jsr OUT.EmitByte +.50 jsr OUT.EmitByte - bcs .9 - iny - dec SRC.ACCTMP+1 - bne .4 - clc - rts - -.5 bne .6 - - ldx SRC.ACCTMP - inc SRC.ACCTMP - lda SRC.ACC,x - bra .50 + bcs .9 + iny + dec SRC.ACCTMP+1 + bne .4 + clc + rts + +.5 bne .6 + + ldx SRC.ACCTMP + inc SRC.ACCTMP + lda SRC.ACC,x + bra .50 -.6 cmp #'r - bne .99 +.6 cmp #'r + bne .99 - ldx SRC.ACCTMP - inc SRC.ACCTMP - lda ASM.PC,x - sec - sbc SRC.ACC,x - pha - - - - pla - bra .50 + ldx SRC.ACCTMP + inc SRC.ACCTMP + lda ASM.PC,x + sec + sbc SRC.ACC,x + pha + + + + pla + bra .50 -.8 clc -.9 rts +.8 clc +.9 rts *--------------------------------------- -SRC.GetDecimal jsr SRC.GetChar - beq .99 - - stz SRC.ACC+1 - stz SRC.ACC+2 - stz SRC.ACC+3 - - jsr SRC.IsDigit10 - bcs .99 - - and #$0F - sta SRC.ACC - -.1 jsr SRC.GetNextChar - bcs .8 - - cmp #' ' - beq .8 - - jsr SRC.IsEXPReserved - bcc .8 - - jsr SRC.IsAMReserved - bcc .8 - - jsr SRC.IsDigit10 - bcs .9 - - and #$0F - - pha - jsr SRC.ACC10 - pla - bcs .9 - - adc SRC.ACC - sta SRC.ACC - bcc .1 - - inc SRC.ACC+1 - bne .1 - inc SRC.ACC+2 - bne .1 - inc SRC.ACC+3 - bne .1 - -.9 lda #ERR.VAL.TOO.BIG - sec - rts - -.8 clc - rts - -.99 lda #ERR.SYNTAX.ERROR - sec - rts +SRC.AddToBuf inc SRC.AM.StrBuf + ldy SRC.AM.StrBuf + sta SRC.AM.StrBuf,y + rts *--------------------------------------- -SRC.GetHex jsr SRC.GetNextChar skip '$' - bcs .99 - - stz SRC.ACC+1 - stz SRC.ACC+2 - stz SRC.ACC+3 - - jsr SRC.IsDigit16 - bcs .99 +SRC.GetDecimal jsr SRC.GetChar + beq .99 + + stz SRC.ACC+1 + stz SRC.ACC+2 + stz SRC.ACC+3 + + jsr SRC.IsDigit10 + bcs .99 + + and #$0F + sta SRC.ACC + +.1 jsr SRC.GetNextChar + bcs .8 + + cmp #' ' + beq .8 + + jsr SRC.IsEXPReserved + bcc .8 + + jsr SRC.IsAMReserved + bcc .8 + + jsr SRC.IsDigit10 + bcs .9 + + and #$0F + + pha + jsr SRC.ACC10 + pla + bcs .9 - sta SRC.ACC - -.1 jsr SRC.GetNextChar - bcs .8 - - cmp #' ' - beq .8 - jsr SRC.IsEXPReserved - bcc .8 - jsr SRC.IsAMReserved - bcc .8 - jsr SRC.IsDigit16 - bcs .99 - - ldx #4 -.2 asl SRC.ACC - rol SRC.ACC+1 - rol SRC.ACC+2 - rol SRC.ACC+3 - bcs .9 - dex - bne .2 - ora SRC.ACC - sta SRC.ACC - bra .1 - -.8 clc - rts - -.9 lda #ERR.VAL.TOO.BIG - sec - rts - -.99 lda #ERR.SYNTAX.ERROR - sec - rts -*--------------------------------------- -SRC.GetOctal jsr SRC.GetNextChar skip '&' - bcs .99 - - stz SRC.ACC+1 - stz SRC.ACC+2 - stz SRC.ACC+3 - - jsr SRC.IsDigit8 - bcs .99 - - and #$0F - sta SRC.ACC - -.1 jsr SRC.GetNextChar - bcs .8 - - cmp #' ' - beq .8 - - jsr SRC.IsEXPReserved - bcc .8 - - jsr SRC.IsAMReserved - bcc .8 - - jsr SRC.IsDigit8 - bcs .9 - - asl - asl - asl - asl - asl - - ldx #3 -.2 asl - rol SRC.ACC - rol SRC.ACC+1 - rol SRC.ACC+2 - rol SRC.ACC+3 - bcs .9 - dex - bne .2 - bra .1 - -.8 clc - rts - -.9 lda #ERR.VAL.TOO.BIG - sec - rts - -.99 lda #ERR.SYNTAX.ERROR - sec - rts -*--------------------------------------- -SRC.GetBinary jsr SRC.GetNextChar skip '%' - bcs .99 - - stz SRC.ACC+1 - stz SRC.ACC+2 - stz SRC.ACC+3 - - cmp #'1' - beq .10 - - cmp #'0' - bne .99 - -.10 and #$01 - sta SRC.ACC - -.1 jsr SRC.GetNextChar - bcs .8 - - cmp #' ' - beq .8 - - jsr SRC.IsEXPReserved - bcc .8 - - jsr SRC.IsAMReserved - bcc .8 - - cmp #'1' - beq .11 - - cmp #'0' - bne .8 - -.11 lsr - - rol SRC.ACC - rol SRC.ACC+1 - rol SRC.ACC+2 - rol SRC.ACC+3 - bcs .9 - bra .1 - -.8 clc - rts - -.9 lda #ERR.VAL.TOO.BIG - sec - rts - -.99 lda #ERR.SYNTAX.ERROR - sec - rts -*--------------------------------------- -SRC.GetKeyword >STYA ZPPtr1 KeyWord table + adc SRC.ACC + sta SRC.ACC + bcc .1 + + inc SRC.ACC+1 + bne .1 + inc SRC.ACC+2 + bne .1 + inc SRC.ACC+3 + bne .1 + +.9 lda #ERR.VAL.TOO.BIG + sec + rts - ldx #0 Keyword.ID - -.1 phx - - lda (ZPPtr1) - beq .9 End Of table - - tax KW len - - ldy #0 - -.3 lda (ZPLinePtr),y - beq .6 - - jsr SRC.IsKeywordLetterUC - bcs .6 - - iny - cmp (ZPPtr1),y - bne .6 - - dex - bne .3 - - lda (ZPLinePtr),y All chars match... - beq .4 End of Line ? - - jsr SRC.IsKeywordLetterUC - bcc .6 Additional letters... - -.4 lda ZPLinePtr - clc - adc (ZPPtr1) - sta ZPLinePtr - bcc .5 - inc ZPLinePtr+1 - -.5 plx Keyword.ID - clc - rts - -.6 lda (ZPPtr1) - sec Add keyword Len+1 - adc ZPPtr1 - sta ZPPtr1 - bcc .7 - - inc ZPPtr1+1 - -.7 plx Keyword.ID - inx - inx - bra .1 - -.9 plx - sec - rts +.8 clc + rts + +.99 lda #ERR.SYNTAX.ERROR + sec + rts *--------------------------------------- -SRC.IsAMReserved ldx SRC.AM.RESERVED -.1 cmp SRC.AM.RESERVED,x - beq .8 - dex - bne .1 - sec - rts -.8 clc - rts +SRC.GetHex jsr SRC.GetNextChar skip '$' + bcs .99 + + stz SRC.ACC+1 + stz SRC.ACC+2 + stz SRC.ACC+3 + + jsr SRC.IsDigit16 + bcs .99 + + sta SRC.ACC + +.1 jsr SRC.GetNextChar + bcs .8 + + cmp #' ' + beq .8 + jsr SRC.IsEXPReserved + bcc .8 + jsr SRC.IsAMReserved + bcc .8 + jsr SRC.IsDigit16 + bcs .99 + + ldx #4 + +.2 asl SRC.ACC + rol SRC.ACC+1 + rol SRC.ACC+2 + rol SRC.ACC+3 + bcs .9 + dex + bne .2 + ora SRC.ACC + sta SRC.ACC + bra .1 + +.8 lda #SYMG.F.RESOLVED + sta SRC.ACC.F + lda #2 + sta SRC.ACC.SIZE + + clc + rts + +.9 lda #ERR.VAL.TOO.BIG + sec + rts + +.99 lda #ERR.SYNTAX.ERROR + sec + rts *--------------------------------------- -SRC.IsMODReserved ldx SRC.MOD.RESERVED -.1 cmp SRC.MOD.RESERVED,x - beq .8 - dex - bne .1 - sec - rts - -.8 clc - rts +SRC.GetOctal jsr SRC.GetNextChar skip '&' + bcs .99 + + stz SRC.ACC+1 + stz SRC.ACC+2 + stz SRC.ACC+3 + + jsr SRC.IsDigit8 + bcs .99 + + and #$0F + sta SRC.ACC + +.1 jsr SRC.GetNextChar + bcs .8 + + cmp #' ' + beq .8 + + jsr SRC.IsEXPReserved + bcc .8 + + jsr SRC.IsAMReserved + bcc .8 + + jsr SRC.IsDigit8 + bcs .9 + + asl + asl + asl + asl + asl + + ldx #3 +.2 asl + rol SRC.ACC + rol SRC.ACC+1 + rol SRC.ACC+2 + rol SRC.ACC+3 + bcs .9 + dex + bne .2 + bra .1 + +.8 clc + rts + +.9 lda #ERR.VAL.TOO.BIG + sec + rts + +.99 lda #ERR.SYNTAX.ERROR + sec + rts *--------------------------------------- -SRC.IsEXPReserved ldx SRC.EXP.RESERVED -.1 cmp SRC.EXP.RESERVED,x - beq SRC.IsEXPReserved.8 - dex - bne .1 - sec - rts - -SRC.IsEXPReserved.8 clc - rts +SRC.GetBinary jsr SRC.GetNextChar skip '%' + bcs .99 + + stz SRC.ACC+1 + stz SRC.ACC+2 + stz SRC.ACC+3 + + cmp #'1' + beq .10 + + cmp #'0' + bne .99 + +.10 and #$01 + sta SRC.ACC + +.1 jsr SRC.GetNextChar + bcs .8 + + cmp #' ' + beq .8 + + jsr SRC.IsEXPReserved + bcc .8 + + jsr SRC.IsAMReserved + bcc .8 + + cmp #'1' + beq .11 + + cmp #'0' + bne .8 + +.11 lsr + + rol SRC.ACC + rol SRC.ACC+1 + rol SRC.ACC+2 + rol SRC.ACC+3 + bcs .9 + bra .1 + +.8 clc + rts + +.9 lda #ERR.VAL.TOO.BIG + sec + rts + +.99 lda #ERR.SYNTAX.ERROR + sec + rts +*--------------------------------------- +SRC.GetKeyword >STYA ZPPtr1 KeyWord table + + ldx #0 Keyword.ID + +.1 phx + + lda (ZPPtr1) + beq .9 End Of table + + tax KW len + + ldy #0 + +.3 lda (ZPLinePtr),y + beq .6 + + jsr SRC.IsKeywordLetterUC + bcs .6 + + iny + cmp (ZPPtr1),y + bne .6 + + dex + bne .3 + + lda (ZPLinePtr),y All chars match... + beq .4 End of Line ? + + jsr SRC.IsKeywordLetterUC + bcc .6 Additional letters... + +.4 lda ZPLinePtr + clc + adc (ZPPtr1) + sta ZPLinePtr + bcc .5 + inc ZPLinePtr+1 + +.5 plx Keyword.ID + clc + rts + +.6 lda (ZPPtr1) + sec Add keyword Len+1 + adc ZPPtr1 + sta ZPPtr1 + bcc .7 + + inc ZPPtr1+1 + +.7 plx Keyword.ID + inx + inx + bra .1 + +.9 plx + sec + rts +*--------------------------------------- +SRC.IsAMReserved + ldx SRC.AM.RESERVED +.1 cmp SRC.AM.RESERVED,x + beq .8 + dex + bne .1 + sec + rts +.8 clc + rts +*--------------------------------------- +SRC.IsMODReserved + ldx SRC.MOD.RESERVED +.1 cmp SRC.MOD.RESERVED,x + beq .8 + dex + bne .1 + sec + rts + +.8 clc + rts +*--------------------------------------- +SRC.IsEXPReserved + ldx SRC.EXP.RESERVED +.1 cmp SRC.EXP.RESERVED,x + beq SRC.IsEXPReserved.8 + dex + bne .1 + sec + rts + +SRC.IsEXPReserved.8 + clc + rts *--------------------------------------- SRC.IsKeywordLetterUC - cmp #'.' - beq SRC.IsEXPReserved.8 + cmp #'.' + beq SRC.IsEXPReserved.8 - cmp #'_' - beq SRC.IsEXPReserved.8 + cmp #'_' + beq SRC.IsEXPReserved.8 - cmp #'A' - bcc .9 - cmp #'Z'+1 - bcc .99 + cmp #'A' + bcc .9 + cmp #'Z'+1 + bcc .99 - cmp #'a' - bcc .9 - cmp #'z'+1 - - eor #$20 - - rts CC if lowercase - -.9 sec -.99 rts + cmp #'a' + bcc .9 + cmp #'z'+1 + + eor #$20 + + rts CC if lowercase + +.9 sec +.99 rts *--------------------------------------- -SRC.IsLetterOrDigit jsr SRC.IsDigit10 - bcc SRC.IsLetterRTS -*--------------------------------------- -SRC.IsLetter cmp #'A' - bcc .9 - cmp #'Z'+1 - bcc SRC.IsLetterRTS - cmp #'a' - bcc .9 - cmp #'z'+1 - rts CC if lowercase - -.9 sec -SRC.IsLetterRTS rts *--------------------------------------- -SRC.IsDigit16 jsr SRC.IsDigit10 - bcc .8 - cmp #'A' - bcc .9 - cmp #'F'+1 - bcc .1 - - cmp #'a' - bcc .9 - cmp #'f'+1 - bcs .9 +SRC.IsLetterOrDigit + jsr SRC.IsDigit10 + bcc SRC.IsLetterRTS +*--------------------------------------- +SRC.IsLetter cmp #'A' + bcc .9 + cmp #'Z'+1 + bcc SRC.IsLetterRTS - eor #$20 - + cmp #'a' + bcc .9 + cmp #'z'+1 + rts CC if lowercase + +.9 sec +SRC.IsLetterRTS rts +*--------------------------------------- +SRC.IsDigit16 jsr SRC.IsDigit10 + bcc .8 + cmp #'A' + bcc .9 + cmp #'F'+1 + bcc .1 + + cmp #'a' + bcc .9 + cmp #'f'+1 + bcs .9 + + eor #$20 + .1 -* clc - sbc #'A'-11 cc so A->10 (11-CC) - clc - -.8 and #$0F - rts - -.9 sec - rts +* clc + sbc #'A'-11 cc so A->10 (11-CC) + clc + +.8 and #$0F + rts + +.9 sec + rts *--------------------------------------- -SRC.IsDigit10 cmp #'0' - bcc .9 - cmp #'9'+1 - rts cc if ok, cs if not - -.9 sec - rts +SRC.IsDigit10 cmp #'0' + bcc .9 + cmp #'9'+1 + rts cc if ok, cs if not + +.9 sec + rts *--------------------------------------- -SRC.IsDigit8 cmp #'0' - bcc .9 - cmp #'7'+1 - rts cc if ok, cs if not - -.9 sec - rts +SRC.IsDigit8 cmp #'0' + bcc .9 + cmp #'7'+1 + rts cc if ok, cs if not + +.9 sec + rts *--------------------------------------- -SRC.GetNextCharNB jsr SRC.GetNextChar - bcs .9 - cmp #' ' - beq SRC.GetNextCharNB - - clc - -.9 rts +SRC.GetNextCharNB + jsr SRC.GetNextChar + bcs .9 + cmp #' ' + beq SRC.GetNextCharNB + + clc + +.9 rts *--------------------------------------- -SRC.GetNextCharUC jsr SRC.GetNextChar - bcs .9 - cmp #'a' - bcc .8 - cmp #'z'+1 - bcs .8 - eor #$20 to Uppercase - -.8 clc -.9 rts +SRC.GetNextCharUC + jsr SRC.GetNextChar + bcs .9 + cmp #'a' + bcc .8 + cmp #'z'+1 + bcs .8 + eor #$20 to Uppercase + +.8 clc +.9 rts *--------------------------------------- -SRC.GetNextChar lda (ZPLinePtr) - beq SRC.GetChar.ERR - cmp #$0D - beq SRC.GetChar.ERR - - inc ZPLinePtr - bne SRC.GetChar - - inc ZPLinePtr+1 - -SRC.GetChar lda (ZPLinePtr) - beq SRC.GetChar.ERR - cmp #$0D - beq SRC.GetChar.ERR - - clc - rts - -SRC.GetChar.ERR sec - rts +SRC.GetNextChar lda (ZPLinePtr) + beq SRC.GetChar.ERR + cmp #$0D + beq SRC.GetChar.ERR + + inc ZPLinePtr + bne SRC.GetChar + + inc ZPLinePtr+1 + +SRC.GetChar lda (ZPLinePtr) + beq SRC.GetChar.ERR + cmp #$0D + beq SRC.GetChar.ERR + + clc + rts + +SRC.GetChar.ERR sec + rts *--------------------------------------- -SRC.ACC10 lda SRC.ACC ACC*2-> ACC & ACCTMP - asl - sta SRC.ACC - sta SRC.ACCTMP - lda SRC.ACC+1 - rol - sta SRC.ACC+1 - sta SRC.ACCTMP+1 - lda SRC.ACC+2 - rol - sta SRC.ACC+2 - sta SRC.ACCTMP+2 - lda SRC.ACC+3 - rol - sta SRC.ACC+3 - sta SRC.ACCTMP+3 - bcs .9 - - ldx #2 -.1 asl SRC.ACC ACC=ACC*4 - rol SRC.ACC+1 - rol SRC.ACC+2 - rol SRC.ACC+3 - bcs .9 - dex - bne .1 - - lda SRC.ACC CC from ROL SRC.ACC+3 - adc SRC.ACCTMP - sta SRC.ACC - lda SRC.ACC+1 - adc SRC.ACCTMP+1 - sta SRC.ACC+1 - lda SRC.ACC+2 - adc SRC.ACCTMP+2 - sta SRC.ACC+2 - lda SRC.ACC+3 - adc SRC.ACCTMP+3 - sta SRC.ACC+3 CS if overflow - -.9 rts +SRC.ACC10 lda SRC.ACC ACC*2-> ACC & ACCTMP + asl + sta SRC.ACC + sta SRC.ACCTMP + lda SRC.ACC+1 + rol + sta SRC.ACC+1 + sta SRC.ACCTMP+1 + lda SRC.ACC+2 + rol + sta SRC.ACC+2 + sta SRC.ACCTMP+2 + lda SRC.ACC+3 + rol + sta SRC.ACC+3 + sta SRC.ACCTMP+3 + bcs .9 + + ldx #2 +.1 asl SRC.ACC ACC=ACC*4 + rol SRC.ACC+1 + rol SRC.ACC+2 + rol SRC.ACC+3 + bcs .9 + dex + bne .1 + + lda SRC.ACC CC from ROL SRC.ACC+3 + adc SRC.ACCTMP + sta SRC.ACC + lda SRC.ACC+1 + adc SRC.ACCTMP+1 + sta SRC.ACC+1 + lda SRC.ACC+2 + adc SRC.ACCTMP+2 + sta SRC.ACC+2 + lda SRC.ACC+3 + adc SRC.ACCTMP+3 + sta SRC.ACC+3 CS if overflow + +.9 rts *--------------------------------------- MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.SRC diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 9f9e4c89..620a7604 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -11,12 +11,387 @@ AUTO 4,1 * 2-5 : 32 bits Value * 6+ : Local Symbols..... *--------------------------------------- +SYM.Init >SYSCALL SListNew + bcs .9 + + >STA.G SYM.hGlobalList + + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + + >STYA ZPNameBuf + txa + >STA.G SYM.hNameBuf + + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + + >STYA ZPGlobalBuf + txa + >STA.G SYM.hGlobalBuf + + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + + >STYA ZPLookupBuf + txa + >STA.G SYM.hLookupBuf + +.9 rts +*--------------------------------------- +SYM.Reset lda #0 + sta (ZPGlobalBuf) + rts +*--------------------------------------- +SYM.Quit >LDA.G SYM.hLookupBuf + beq .1 + + >SYSCALL FreeMem.A + +.1 >LDA.G SYM.hNameBuf + beq .2 + + >SYSCALL FreeMem.A + +.2 >LDA.G SYM.hGlobalBuf + beq .3 + + >SYSCALL FreeMem.A +.3 >LDA.G SYM.hGlobalList + beq .8 + >SYSCALL SListFree.A + +.8 clc + rts +*--------------------------------------- +SYM.Dump stz ZPLinePtr + stz ZPLinePtr+1 + + >LDA.G ASM.LI.ON + bpl .1 + + >LDYA L.MSG.SYMBOLS + >SYSCALL PrintF.YA + +.1 >PUSHB.G SYM.hGlobalList + >PUSHW ZPLinePtr + >PUSHW ZPGlobalBuf + >SYSCALL SListGetByID + bcs .8 + + stx ZPLinePtr Save Next ID + sty ZPLinePtr+1 + + >LDA.G ASM.LI.ON + bpl .1 + + lda (ZPGlobalBuf) + sec + adc ZPGlobalBuf + sta ZPPtr1 + lda ZPGlobalBuf+1 + adc #0 + sta ZPPtr1+1 + + ldy #SYMG.F Get Symbol Size + lda (ZPPtr1),y + and #SYMG.F.SIZE + beq .3 + + pha + tax + + iny SYMG.V + +.2 lda (ZPPtr1),y + >PUSHA + iny + dex + bne .2 + + pla + asl + +.3 tax + ldy L.MSG.EQU0,x + lda L.MSG.EQU0+1,x + >SYSCALL PrintF.YA + + >PUSHW ZPGlobalBuf Label (PString) + + >LDYA L.MSG.PSTRCRLF + >SYSCALL PrintF.YA + bcs .9 + + + + + jmp .1 + rts + +.8 clc +.9 rts +*--------------------------------------- +SYM.NewOrGetGlobal + >LDA.G ASM.PASS + bne SYM.GetGlobal Pass #2: should be already defined... + +SYM.NewGlobal jsr SYM.LookupGlobal Pass #1; try to add global... + bcc .9 Already Defined + + jsr SYM.GetName + bcs .99 + + jsr SYM.PC2Global A=PC Size + + lda #SYMG.SIZE-1 + sta (ZPGlobalBuf) + clc + rts + +.9 lda #ERR.SYMBOL.REDEF + sec +.99 rts +*--------------------------------------- +SYM.GetGlobal >PUSHB.G SYM.hGlobalList + >PUSHW ZPLinePtr + >PUSHW ZPGlobalBuf + >SYSCALL SListLookup + + bcs .9 + + adc ZPLinePtr + sta ZPLinePtr + bcc .1 + + inc ZPLinePtr+1 + clc + +.1 tya + >STA.G SYM.GlobalID+1 + txa + >STA.G SYM.GlobalID + rts + +.9 lda #ERR.UNDEF.SYMBOL + sec + rts +*--------------------------------------- +SYM.LookupGlobal + >PUSHB.G SYM.hGlobalList + >PUSHW ZPLinePtr + >PUSHW ZPLookupBuf + >SYSCALL SListLookup + bcs .9 + + adc ZPLinePtr + sta ZPLinePtr + bcc .8 + + inc ZPLinePtr+1 + clc + +.8 +.9 rts +*--------------------------------------- +SYM.FlushGlobal lda (ZPGlobalBuf) + beq .8 + + >PUSHB.G SYM.hGlobalList + + >LDA.G ASM.PASS + bne .2 + + >PUSHW ZPNameBuf + >PUSHW ZPGlobalBuf + >SYSCALL SListAdd + rts + +.2 >PUSHW.G SYM.GlobalID + >PUSHW ZPGlobalBuf + >SYSCALL SListUpdateByID + rts + +.8 clc + rts +*--------------------------------------- +SYM.GetName jsr SRC.GetChar + bcs .9 + + ldy #0 + +.1 jsr SRC.IsLetterOrDigit + bcc .2 + cmp #'.' + beq .2 + cmp #'_' + bne .8 + +.2 sta (ZPNameBuf),y + iny + jsr SRC.GetNextChar + bcc .1 + +.8 lda #0 + sta (ZPNameBuf),y + clc + rts + +.9 lda #ERR.SYNTAX.ERROR + sec + rts +*--------------------------------------- +SYM.PC2Global ldx #4 + + ldy #ASM.PC + +.1 lda (pData),y + pha + iny + dex + bne .1 + + ldx #4 + + ldy #SYMG.V+3 + +.2 pla + sta (ZPGlobalBuf),y + dey + dex + bne .2 + + ldx #4 + ldy #ASM.PC+3 + +.3 lda (ZPGlobalBuf),y + bne .4 + dex + dey + bne .3 + +.4 txa + + ora #SYMG.F.RESOLVED + ldy #SYMG.F + sta (ZPGlobalBuf),y + + txa A=PC Size + + rts +*--------------------------------------- +SYM.Acc2Global ldx #3 + ldy #SYMG.V+3 + +.1 lda SRC.ACC,x + sta (ZPGlobalBuf),y + dey + dex + bpl .1 + + lda SRC.ACC.SIZE + + ora SRC.ACC.F + + sta (ZPGlobalBuf),y + + clc + rts +*--------------------------------------- +SYM.Lookup2Acc ldy #SYMG.V+3 + ldx #3 + +.1 lda (ZPLookupBuf),y + sta SRC.ACC,x + dey + dex + bpl .1 + + lda (ZPLookupBuf),y + and #SYMG.F.SIZE + sta SRC.ACC.SIZE + + lda (ZPLookupBuf),y + and #SYMG.F.SIZE^$ff + sta SRC.ACC.F + + clc + rts +*--------------------------------------- * Local Symbol Record: (6 bytes) * 0 : Local ID (1->255) * 1 : Flags: * b7=0=pending,1=resolved * 2-5 : 32 bits Value (PC) *--------------------------------------- +SYM.NewOrGetLocalA + tax Save ID + + >LDA.G ASM.PASS + bne SYM.GetLocal Pass #2: should be already defined... + + clc + rts +*--------------------------------------- +SYM.AddLocal lda (ZPGlobalBuf) + tay + clc + adc #SYML.SIZE + bcs .9 + + txa Get Back ID + sta (ZPGlobalBuf),y + + iny + phy + + ldx #4 + + ldy #ASM.PC+3 + +.1 lda (pData),y + pha + dey + dex + bne .1 + + ldx #4 + + ply + +.2 pla + sta (ZPGlobalBuf),y + iny + dex + bne .2 + + lda #0 + sta (ZPGlobalBuf),y + tya + sta (ZPGlobalBuf) + +* clc + rts + +.9 lda #ERR.TOO.MANY.LOCAL +* sec + rts +*--------------------------------------- +SYM.GetLocal + + +*--------------------------------------- +SYM.LookupLocal lda #2 + sta SRC.ACC.SIZE + lda #$FF + sta SRC.ACC + sta SRC.ACC+1 + clc + rts +*--------------------------------------- * Private Symbol Record: (9 bytes) * 0 : Len (8) * 1 : Flags: @@ -25,322 +400,21 @@ AUTO 4,1 * 6,7 : MCID (Macro Context ID) * 8 : Private ID (0->255) *--------------------------------------- -SYM.Init >SYSCALL SListNew - bcs .9 - - >STA.G SYM.hGlobals - - >LDYAI 256 - >SYSCALL GetMem.YA - bcs .9 - - >STYA ZPGlobalBuf - txa - >STA.G SYM.hGlobalBuf - - >LDYAI 256 - >SYSCALL GetMem.YA - bcs .9 - - >STYA ZPLookupBuf - txa - >STA.G SYM.hLookupBuf - -.9 rts -*--------------------------------------- -SYM.Reset lda #0 - sta (ZPGlobalBuf) - rts -*--------------------------------------- -SYM.Quit >LDA.G SYM.hLookpBuf - beq .1 - - >SYSCALL FreeMem.A - -.1 >LDA.G SYM.hGlobalBuf - beq .2 - - >SYSCALL FreeMem.A - -.2 >LDA.G SYM.hGlobals - beq .8 - >SYSCALL SListFree.A - -.8 clc - rts -*--------------------------------------- -SYM.Dump stz ZPLinePtr - stz ZPLinePtr+1 - - >LDA.G ASM.LI.ON - bpl .1 - - >LDYA L.MSG.SYMBOLS - >SYSCALL PrintF.YA - -.1 >PUSHB.G SYM.hGlobals - >PUSHW ZPLinePtr - >PUSHW ZPTmpBuf - >SYSCALL SListGetByID - bcs .8 - stx ZPLinePtr Save Next ID - sty ZPLinePtr+1 - - >LDA.G ASM.LI.ON - bpl .1 - - lda (ZPTmpBuf) - sec - adc ZPTmpBuf - sta ZPPtr1 - lda ZPTmpBuf+1 - adc #0 - sta ZPPtr1+1 - - ldy #SYMG.F Get Symbol Size - lda (ZPPtr1),y - and #SYMG.F.SIZE - beq .3 - - pha - tax - - iny SYMG.V - -.2 lda (ZPPtr1),y - >PUSHA - iny - dex - bne .2 - - pla - asl - -.3 tax - ldy L.MSG.EQU0,x - lda L.MSG.EQU0+1,x - >SYSCALL PrintF.YA - - >PUSHW ZPTmpBuf Label (PString) - - >LDYA L.MSG.PSTRCRLF - >SYSCALL PrintF.YA - bcc .1 - rts - -.8 clc - rts -*--------------------------------------- -SYM.NewGlobal >LDYA ZPLinePtr - >STYA SYM.GlobalPtr - - jsr SYM.PC2Global A=PC Size - ora #SYMG.F.RESOLVED PC is always known - ldy #SYMG.F - sta (ZPGlobalBuf),y - - lda #SYMG.SIZE-1 -* ldy #SYMG.LEN - sta (ZPGlobalBuf) - clc - rts -*--------------------------------------- -SYM.GetGlobal >PUSHB.G SYM.hGlobals - >PUSHW ZPLinePtr - >PUSHW ZPGlobalBuf - >SYSCALL SListLookup - bcs .9 - - adc ZPLinePtr - sta ZPLinePtr - bcc .1 - - inc ZPLinePtr+1 - clc - -.1 tya - >STA.G SYM.GlobalID+1 - txa - >STA.G SYM.GlobalID - -.9 rts -*--------------------------------------- -SYM.AddGlobal >PUSHB.G SYM.hGlobals - >PUSHW ZPLinePtr - - >PUSHW ZPGlobalBuf - - >SYSCALL SListAdd - bcs .9 - - adc ZPLinePtr - sta ZPLinePtr - bcc .1 - - inc ZPLinePtr+1 - -.1 clc - .HS B0 BCS -.9 sec - tya - >STA.G SYM.GlobalID+1 - dey - txa - sta (pData),y - rts -*--------------------------------------- -SYM.LookupGlobal >PUSHB.G SYM.hGlobals - >PUSHW ZPLinePtr - >PUSHW ZPLookupBuf - >SYSCALL SListLookup - bcs .9 - - adc ZPLinePtr - sta ZPLinePtr - bcc .8 - - inc ZPLinePtr+1 - clc - -.8 -.9 rts -*--------------------------------------- -SYM.UpdateGlobalAcc ldx #3 - - ldy #SYM.Global+SYMG.V+3 - -.1 lda SRC.ACC,x - sta (pData),y - dey - dex - bpl .1 - - lda SRC.ACC.SIZE -*--------------------------------------- -SYM.UpdateGlobal ora #SYMG.F.RESOLVED - >STA.G SYM.Global+SYMG.F - - lda #SYMG.SIZE-1 F+V+LSID - >STA.G SYM.Global+SYMG.LEN - - >PUSHB.G SYM.hGlobals - >PUSHW.G SYM.GlobalID - >PUSHEA.G SYM.Global - - >SYSCALL SListUpdateByID - rts -*--------------------------------------- -SYMG.FlushGlobal clc - rts -*--------------------------------------- -SYM.PC2Global ldx #4 - - ldy #ASM.PC - -.1 lda (pData),y - pha - iny - dex - bne .1 - - ldx #4 - - ldy #SYMG.V+3 - -.2 pla - sta (ZPGlobalBuf),y - dey - dex - bne .2 - - ldx #4 - ldy #ASM.PC+3 - -.3 lda (ZPGlobalBuf),y - bne .4 - dex - dey - bne .3 - -.4 txa - - ora #SYMG.F.RESOLVED - ldy #SYMG.F - sta (ZPGlobalBuf),y - - txa A=PC Size - - rts -*--------------------------------------- -SYM.AddLocal tax Save ID - - lda (ZPGlobalBuf) - tay - clc - adc #SYML.SIZE - bcs .9 - - txa Get Back ID - sta (ZPGlobalBuf),y - - iny - phy - - ldx #4 - - ldy #ASM.PC+3 - -.1 lda (pData),y - pha - dey - dex - bne .1 - - ldx #4 - - ply - -.2 pla - sta (ZPGlobalBuf),y - iny - dex - bne .2 - - lda #0 - sta (ZPGlobalBuf),y - tya - sta (ZPGlobalBuf) - -* clc - rts - -.9 lda #ERR.TOO.MANY.LOCAL -* sec - rts -*--------------------------------------- -SYM.LookupLocal lda #2 - sta SRC.ACC.SIZE - lda #$FF - sta SRC.ACC - sta SRC.ACC+1 - clc - rts -*--------------------------------------- SYM.AddPrivate - clc - rts + clc + rts *--------------------------------------- SYM.LookupPrivate - clc - rts + clc + rts *--------------------------------------- SYM.AddMacro - clc - rts + clc + rts *--------------------------------------- SYM.LookupMacro - clc - rts + clc + rts *--------------------------------------- MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.SYM diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 6566dfc3..75866b2e 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -1,49 +1,51 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 - .LIST OFF - .OP 65C02 - .OR $2000 - .TF /A2OSX.BUILD/BIN/DEV/ASM + .LIST OFF + .OP 65C02 + .OR $2000 + .TF /A2OSX.BUILD/BIN/DEV/ASM *--------------------------------------- - .INB /A2OSX.BUILD/INC/MACROS.I - .INB /A2OSX.BUILD/INC/A2OSX.I + .INB /A2OSX.BUILD/INC/MACROS.I + .INB /A2OSX.BUILD/INC/A2OSX.I *--------------------------------------- -ZPPtr1 .EQ ZPBIN -ZPPtr2 .EQ ZPBIN+2 -ZPPtr3 .EQ ZPBIN+4 -ZPLineBuf .EQ ZPBIN+6 -ZPLinePtr .EQ ZPBIN+8 -ZPGlobalBuf .EQ ZPBIN+10 -ZPLookupBuf .EQ ZPBIN+12 -ZPMacroBuf .EQ ZPBIN+14 -ZPTmpBuf .EQ ZPBIN+16 -ZPAMPtr .EQ ZPBIN+18 -ZPRPtr .EQ ZPBIN+20 -ZPOpsPtr .EQ ZPBIN+22 -ZPOpDefPtr .EQ ZPBIN+24 +ZPPtr1 .EQ ZPBIN +ZPPtr2 .EQ ZPBIN+2 + +ZPLineBuf .EQ ZPBIN+4 +ZPLinePtr .EQ ZPBIN+6 +ZPNameBuf .EQ ZPBIN+8 +ZPGlobalBuf .EQ ZPBIN+10 +ZPLookupBuf .EQ ZPBIN+12 +ZPMacroBuf .EQ ZPBIN+14 + +ZPTmpBuf .EQ ZPBIN+16 + +ZPAMPtr .EQ ZPBIN+18 +ZPRPtr .EQ ZPBIN+20 +ZPOpsPtr .EQ ZPBIN+22 +ZPOpDefPtr .EQ ZPBIN+24 *--------------------------------------- -SYMG.LEN .EQ 0 -SYMG.F .EQ 1 -SYMG.F.RESOLVED .EQ %10000000 -SYMG.F.RW .EQ %01000000 -SYMG.F.EQU .EQ %00100000 -SYMG.F.SIZE .EQ %00000111 -SYMG.V .EQ 2 +SYMG.LEN .EQ 0 +SYMG.F .EQ 1 +SYMG.F.RESOLVED .EQ %10000000 +SYMG.F.RW .EQ %01000000 +SYMG.F.SIZE .EQ %00000111 +SYMG.V .EQ 2 * -SYMG.SIZE .EQ 6 +SYMG.SIZE .EQ 6 *--------------------------------------- -SYML.ID .EQ 0 -SYML.V .EQ 1 +SYML.ID .EQ 0 +SYML.V .EQ 1 * -SYML.SIZE .EQ 5 +SYML.SIZE .EQ 5 *--------------------------------------- -ASM.T.AM .EQ 0 -ASM.T.R .EQ 2 -ASM.T.O .EQ 4 +ASM.T.AM .EQ 0 +ASM.T.R .EQ 2 +ASM.T.O .EQ 4 *--------------------------------------- -SRC.DO.MAXDEPTH .EQ 8 -SRC.IN.MAXDEPTH .EQ 7 +SRC.DO.MAXDEPTH .EQ 8 +SRC.IN.MAXDEPTH .EQ 7 *--------------------------------------- ERR.INV.ARGS .EQ $80 ERR.SRC.INV.TYPE .EQ $90 @@ -72,438 +74,446 @@ ERR.MACRO.TOO.BIG .EQ $E1 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- -CS.START cld - jmp (.1,x) - .DA #$61 6502,Level 1 (65c02) - .DA #1 BIN Layout Version 1 - .DA 0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #0 SS - .DA #32 ZP - .DA 0 +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA 0 + .DA CS.END-CS.START CS + .DA DS.END-DS.START DS + .DA #0 SS + .DA #32 ZP + .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- -.1 .DA CS.INIT - .DA CS.RUN - .DA CS.DOEVENT - .DA CS.QUIT -L.MSG.HELP .DA MSG.HELP -L.MSG.OUT0 .DA MSG.OUT0 - .DA MSG.OUT1 - .DA MSG.OUT2 - .DA MSG.OUT3 -L.MSG.EQU0 .DA MSG.EQU0 - .DA MSG.EQU1 - .DA MSG.EQU2 - .DA MSG.EQU3 - .DA MSG.EQU4 -L.MSG.SRCLINE .DA MSG.SRCLINE -L.MSG.ERROR .DA MSG.ERROR -L.MSG.SYMBOLS .DA MSG.SYMBOLS -L.MSG.PSTRCRLF .DA MSG.PSTRCRLF -L.MSG.SUMMARY .DA MSG.SUMMARY -L.MSG.PASS .DA MSG.PASS -L.MSG.SRC.FILE .DA MSG.SRC.FILE -L.MSG.OBJ.FILE .DA MSG.OBJ.FILE -L.MSG.T.FILE .DA MSG.T.FILE -L.SRC.AM.StrBuf .DA SRC.AM.StrBuf -L.ASM.6502 .DA ASM.6502 +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT +L.MSG.HELP .DA MSG.HELP +L.MSG.OUT0 .DA MSG.OUT0 + .DA MSG.OUT1 + .DA MSG.OUT2 + .DA MSG.OUT3 +L.MSG.EQU0 .DA MSG.EQU0 + .DA MSG.EQU1 + .DA MSG.EQU2 + .DA MSG.EQU3 + .DA MSG.EQU4 +L.MSG.SRCLINE .DA MSG.SRCLINE +L.MSG.ERROR .DA MSG.ERROR +L.MSG.SYMBOLS .DA MSG.SYMBOLS +L.MSG.PSTRCRLF .DA MSG.PSTRCRLF +L.MSG.SUMMARY .DA MSG.SUMMARY +L.MSG.PASS .DA MSG.PASS +L.MSG.SRC.FILE .DA MSG.SRC.FILE +L.MSG.OBJ.FILE .DA MSG.OBJ.FILE +L.MSG.T.FILE .DA MSG.T.FILE +L.SRC.AM.StrBuf .DA SRC.AM.StrBuf +L.ASM.6502 .DA ASM.6502 L.ASM.T.FILENAME .DA ASM.T.FILENAME -L.FIO.Stat .DA FIO.Stat -L.T.DIRECTIVES .DA T.DIRECTIVES -J.DIRECTIVES .DA DIR.AC - .DA DIR.AS - .DA DIR.AT - .DA DIR.AZ - .DA DIR.BS - .DA DIR.DA - .DA DIR.DO - .DA DIR.DU - .DA DIR.DU - .DA DIR.ED - .DA DIR.EL - .DA DIR.EM - .DA DIR.EN - .DA DIR.EP - .DA DIR.EQ - .DA DIR.FI - .DA DIR.HS - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.IN - .DA DIR.LI - .DA DIR.LI - .DA DIR.MA - .DA DIR.OP - .DA DIR.OR - .DA DIR.PG - .DA DIR.PH - .DA DIR.SE - .DA DIR.TA - .DA DIR.TF - .DA DIR.TI - .DA DIR.US -L.T.LI .DA T.LI -J.LI .DA DIR.LI.ON - .DA DIR.LI.OFF - .DA DIR.LI.CON - .DA DIR.LI.COFF - .DA DIR.LI.MON - .DA DIR.LI.MOFF - .DA DIR.LI.XON - .DA DIR.LI.XOFF -J.EXP.MOD .DA EXP.MOD.8.1 #/^<> - .DA EXP.MOD.8.2 - .DA EXP.MOD.8.3 - .DA EXP.MOD.24 - .DA EXP.MOD.32 -J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/ - .DA EXP.OP.ORA - .DA EXP.OP.ORA - .DA EXP.OP.AND - .DA EXP.OP.LOW - .DA EXP.OP.EQU - .DA EXP.OP.GRT - .DA EXP.OP.ADD - .DA EXP.OP.SUB - .DA EXP.OP.MUL - .DA EXP.OP.DIV - .DA 0 +L.FIO.Stat .DA FIO.Stat +L.T.DIRECTIVES .DA T.DIRECTIVES +J.DIRECTIVES .DA DIR.AC + .DA DIR.AS + .DA DIR.AT + .DA DIR.AZ + .DA DIR.BS + .DA DIR.DA + .DA DIR.DO + .DA DIR.DU + .DA DIR.DU + .DA DIR.ED + .DA DIR.EL + .DA DIR.EM + .DA DIR.EN + .DA DIR.EP + .DA DIR.EQ + .DA DIR.FI + .DA DIR.HS + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.IN + .DA DIR.LI + .DA DIR.LI + .DA DIR.MA + .DA DIR.OP + .DA DIR.OR + .DA DIR.PG + .DA DIR.PH + .DA DIR.SE + .DA DIR.TA + .DA DIR.TF + .DA DIR.TI + .DA DIR.US +L.T.LI .DA T.LI +J.LI .DA DIR.LI.ON + .DA DIR.LI.OFF + .DA DIR.LI.CON + .DA DIR.LI.COFF + .DA DIR.LI.MON + .DA DIR.LI.MOFF + .DA DIR.LI.XON + .DA DIR.LI.XOFF +J.EXP.MOD .DA EXP.MOD.8.1 #/^<> + .DA EXP.MOD.8.2 + .DA EXP.MOD.8.3 + .DA EXP.MOD.24 + .DA EXP.MOD.32 +J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/ + .DA EXP.OP.ORA + .DA EXP.OP.ORA + .DA EXP.OP.AND + .DA EXP.OP.LOW + .DA EXP.OP.EQU + .DA EXP.OP.GRT + .DA EXP.OP.ADD + .DA EXP.OP.SUB + .DA EXP.OP.MUL + .DA EXP.OP.DIV + .DA 0 *--------------------------------------- -CS.INIT ldy #S.PS.ARGC - lda (pPs),y - beq .99 - - lda #1 - >SYSCALL GetArg.A - >SYSCALL RealPath.YA - - txa - ldy #SRC.hFILENAME - sta (pData),y - - jsr FIO.Init - bcs .9 +CS.INIT ldy #S.PS.ARGC + lda (pPs),y + beq .99 + + lda #1 + >SYSCALL GetArg.A + >SYSCALL RealPath.YA + + txa + ldy #SRC.hFILENAME + sta (pData),y + + jsr FIO.Init + bcs .9 - jsr SYM.Init - bcs .9 + jsr SYM.Init + bcs .9 - jsr MAC.Init - bcs .9 - - jsr OUT.Init + jsr MAC.Init + bcs .9 + + jsr OUT.Init - >LDYAI 256 - >SYSCALL GetMem.YA - bcs .9 - >STYA ZPLineBuf - txa - >STA.G SRC.hLineBuf + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + >STYA ZPLineBuf + txa + >STA.G SRC.hLineBuf - >LDYAI 256 - >SYSCALL GetMem.YA - bcs .9 - >STYA ZPTmpBuf - txa - >STA.G SRC.hTmpBuf - -* lda (pPs) -* ora #S.PS.F.EVENT -* sta (pPs) - clc - rts - -.99 >LDYA L.MSG.HELP - >SYSCALL PrintF.YA - lda #ERR.INV.ARGS - sec + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + >STYA ZPTmpBuf + txa + >STA.G SRC.hTmpBuf + +* lda (pPs) +* ora #S.PS.F.EVENT +* sta (pPs) + clc + rts + +.99 >LDYA L.MSG.HELP + >SYSCALL PrintF.YA + lda #ERR.INV.ARGS + sec .9 rts *-------------------------------------- -CS.RUN >SYSCALL GetChar - bcs .11 no char - - cmp #$03 Ctrl-C - beq .99 Abort....beq=CS - - cmp #$13 Ctrl-S - bne .11 +CS.RUN >SYSCALL GetChar + bcs .11 no char + + cmp #$03 Ctrl-C + beq .99 Abort....beq=CS + + cmp #$13 Ctrl-S + bne .11 - ldy #bPause - lda (pData),y - eor #$ff - sta (pData),y + ldy #bPause + lda (pData),y + eor #$ff + sta (pData),y + +.11 ldy #bPause + lda (pData),y + bne .8 -.11 ldy #bPause - lda (pData),y - bne .8 - - ldy #SRC.COUNT root file is already opened? - lda (pData),y - bne .10 - - >LDA.G ASM.PASS - inc - >PUSHA - >LDYA L.MSG.PASS - jsr OUT.Print + ldy #SRC.COUNT root file is already opened? + lda (pData),y + bne .10 + + >LDA.G ASM.PASS + inc + >PUSHA + >LDYA L.MSG.PASS + jsr OUT.Print - ldy #SRC.hFILENAME - lda (pData),y - - >SYSCALL GetMemPtr.A - - jsr FIO.OpenFile - bcs .99 - - jsr DIR.Reset - jsr SYM.Reset - -.10 jsr FIO.ReadLine - bcc .2 - cmp #$4C End Of File? - bne .9 - - jsr FIO.FileClose - - ldy #SRC.COUNT end of root file ? - lda (pData),y - bne .8 no continue back to previous file - - >LDA.G ASM.PASS End of pass #2 ?? - bne .1 - inc - sta (pData),y - clc -.99 rts - -.1 jsr SYM.Dump - >PUSHW ZPLinePtr - >LDYA L.MSG.SUMMARY - jsr OUT.Print - - lda #0 End of assembly, exit with no error - sec - rts - -.2 jsr SRC.ParseLine - bcs .9 - - jsr OUT.PrintLine - -.8 clc - rts + ldy #SRC.hFILENAME + lda (pData),y + + >SYSCALL GetMemPtr.A + + jsr FIO.OpenFile + bcs .99 + + jsr DIR.Reset + jsr SYM.Reset + +.10 jsr FIO.ReadLine + bcc .2 + cmp #$4C End Of File? + bne .9 + + jsr FIO.FileClose + + ldy #SRC.COUNT end of root file ? + lda (pData),y + bne .8 no continue back to previous file + + jsr SYM.FlushGlobal Store last Symbol, if any.... + bcs .9 + + >LDA.G ASM.PASS End of pass #2 ?? + bne .1 + inc + sta (pData),y + clc +.99 rts + +.1 jsr SYM.Dump + >PUSHW ZPLinePtr + >LDYA L.MSG.SUMMARY + jsr OUT.Print + + lda #0 End of assembly, exit with no error + sec + rts + +.2 jsr SRC.ParseLine + bcs .9 + + jsr OUT.PrintLine + +.8 clc + rts -.9 pha - jsr OUT.PrintLineErr - pla - sec - rts +.9 pha + jsr OUT.PrintLineErr + jsr SYM.Dump + pla + sec + rts *-------------------------------------- -CS.DOEVENT sec - rts +CS.DOEVENT sec + rts *-------------------------------------- -CS.QUIT jsr FIO.FileClose - bne CS.QUIT +CS.QUIT jsr FIO.FileClose + bne CS.QUIT - jsr MAC.Quit - jsr SYM.Quit - - >LDA.G ASM.T.hMem - beq .1 - - >SYSCALL FreeMem.A - -.1 >LDA.G SRC.hFILENAME - beq .2 - - >SYSCALL FreeMem.A - -.2 >LDA.G SRC.hLineBuf - beq .3 - - >SYSCALL FreeMem.A - -.3 >LDA.G SRC.hTmpBuf - beq .8 - - >SYSCALL FreeMem.A - -.8 clc - rts + jsr MAC.Quit + jsr SYM.Quit + + >LDA.G ASM.T.hMem + beq .1 + + >SYSCALL FreeMem.A + +.1 >LDA.G SRC.hFILENAME + beq .2 + + >SYSCALL FreeMem.A + +.2 >LDA.G SRC.hLineBuf + beq .3 + + >SYSCALL FreeMem.A + +.3 >LDA.G SRC.hTmpBuf + beq .8 + + >SYSCALL FreeMem.A + +.8 clc + rts *--------------------------------------- - .INB /A2OSX.BUILD/BIN/DEV/ASM.S.DIR - .INB /A2OSX.BUILD/BIN/DEV/ASM.S.EXP - .INB /A2OSX.BUILD/BIN/DEV/ASM.S.FIO - .INB /A2OSX.BUILD/BIN/DEV/ASM.S.MAC - .INB /A2OSX.BUILD/BIN/DEV/ASM.S.OUT - .INB /A2OSX.BUILD/BIN/DEV/ASM.S.SRC - .INB /A2OSX.BUILD/BIN/DEV/ASM.S.SYM + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.DIR + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.EXP + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.FIO + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.MAC + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.OUT + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.SRC + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.SYM *--------------------------------------- CS.END -T.DIRECTIVES >PSTR "AC" - >PSTR "AS" - >PSTR "AT" - >PSTR "AZ" - >PSTR "BS" - >PSTR "DA" - >PSTR "DO" - >PSTR "DU" - >PSTR "DUMMY" - >PSTR "ED" - >PSTR "ELSE" - >PSTR "EM" - >PSTR "EN" - >PSTR "EP" - >PSTR "EQ" - >PSTR "FIN" - >PSTR "HS" - >PSTR "IN" - >PSTR "INB" - >PSTR "INB1" - >PSTR "INB2" - >PSTR "INB3" - >PSTR "INB4" - >PSTR "INB5" - >PSTR "INB6" - >PSTR "INB7" - >PSTR "INB8" - >PSTR "INB9" - >PSTR "LI" - >PSTR "LIST" - >PSTR "MA" - >PSTR "OP" - >PSTR "OR" - >PSTR "PG" - >PSTR "PH" - >PSTR "SE" - >PSTR "TA" - >PSTR "TF" - >PSTR "TI" - >PSTR "US" - .HS 00 +T.DIRECTIVES >PSTR "AC" + >PSTR "AS" + >PSTR "AT" + >PSTR "AZ" + >PSTR "BS" + >PSTR "DA" + >PSTR "DO" + >PSTR "DU" + >PSTR "DUMMY" + >PSTR "ED" + >PSTR "ELSE" + >PSTR "EM" + >PSTR "EN" + >PSTR "EP" + >PSTR "EQ" + >PSTR "FIN" + >PSTR "HS" + >PSTR "IN" + >PSTR "INB" + >PSTR "INB1" + >PSTR "INB2" + >PSTR "INB3" + >PSTR "INB4" + >PSTR "INB5" + >PSTR "INB6" + >PSTR "INB7" + >PSTR "INB8" + >PSTR "INB9" + >PSTR "LI" + >PSTR "LIST" + >PSTR "MA" + >PSTR "OP" + >PSTR "OR" + >PSTR "PG" + >PSTR "PH" + >PSTR "SE" + >PSTR "TA" + >PSTR "TF" + >PSTR "TI" + >PSTR "US" + .HS 00 *--------------------------------------- -T.LI >PSTR "ON" - >PSTR "OFF" - >PSTR "CON" - >PSTR "COFF" - >PSTR "MON" - >PSTR "MOFF" - >PSTR "XON" - >PSTR "XOFF" - .HS 00 +T.LI >PSTR "ON" + >PSTR "OFF" + >PSTR "CON" + >PSTR "COFF" + >PSTR "MON" + >PSTR "MOFF" + >PSTR "XON" + >PSTR "XOFF" + .HS 00 *--------------------------------------- -ASM.6502 .AZ "6502" -MSG.HELP .AZ "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\nUsage : ASM [type TXT ($04) or S-C/BAS ($FA)]\r\n" -MSG.PASS .AZ "Pass:#%d\r\n" -MSG.SRC.FILE .AZ "Reading SRC File:%s\r\n" -MSG.OBJ.FILE .AZ "Writing OBJ File:%s, Type=%02x\r\n" -MSG.T.FILE .AZ "Loading CPU File:%s\r\n" -MSG.OUT0 .AZ "%H- " -MSG.OUT1 .AZ "%H-%h " -MSG.OUT2 .AZ "%H-%h %h " -MSG.OUT3 .AZ "%H-%h %h %h" -MSG.EQU0 .AZ " [ ?]" -MSG.EQU1 .AZ " [ %h]" -MSG.EQU2 .AZ " [ %h%h]" -MSG.EQU3 .AZ " [ %h%h%h]" -MSG.EQU4 .AZ " [%h%h%h%h]" -MSG.SRCLINE .AZ " %05D %s\r\n" -MSG.ERROR .AZ "*** Fatal Error $%h " -MSG.SYMBOLS .AZ "Symbol Table:\r\n" -MSG.PSTRCRLF .AZ " %S\r\n" -MSG.SUMMARY .AZ "\r\nSymbol Table Size : %5D Bytes.\r\nEnd Of Assembly.\r\n" +ASM..T. .AZ ".T." +ASM.6502 .AZ "6502" +MSG.HELP .AZ "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\nUsage : ASM [type TXT ($04) or S-C/BAS ($FA)]\r\n" +MSG.PASS .AZ "Pass:#%d\r\n" +MSG.SRC.FILE .AZ "*** Reading SRC File:%s\r\n" +MSG.OBJ.FILE .AZ "*** Writing OBJ File:%s, Type=%02x\r\n" +MSG.T.FILE .AZ "*** Loading CPU File:%s\r\n" +MSG.OUT0 .AZ "%H- " +MSG.OUT1 .AZ "%H-%h " +MSG.OUT2 .AZ "%H-%h %h " +MSG.OUT3 .AZ "%H-%h %h %h" +MSG.EQU0 .AZ " [ ?]" +MSG.EQU1 .AZ " [ %h]" +MSG.EQU2 .AZ " [ %h%h]" +MSG.EQU3 .AZ " [ %h%h%h]" +MSG.EQU4 .AZ " [%h%h%h%h]" +MSG.SRCLINE .AZ " %05D %s\r\n" +MSG.ERROR .AZ "*** Fatal Error $%h " +MSG.SYMBOLS .AZ "Symbol Table:\r\n" +MSG.PSTRCRLF .AZ " %S\r\n" +MSG.SUMMARY .AZ "\r\nSymbol Table Size : %5D Bytes.\r\nEnd Of Assembly.\r\n" SRC.MOD.RESERVED >PSTR "#/^<>" SRC.EXP.RESERVED >PSTR "^!|&<=>+-*/" SRC.AM.RESERVED >PSTR "[]()," *--------------------------------------- -ASM.T.FILENAME .BS 65 +ASM.T.FILENAME .BS 65 -FIO.Stat .BS S.STAT +FIO.Stat .BS S.STAT -SRC.ACC.SIZE .BS 1 -SRC.ACC .BS 4 -SRC.ARG.SIZE .BS 1 -SRC.ARG .BS 4 -SRC.ACCTMP .BS 4 -SRC.AM.StrBuf .BS 32 +SRC.ACC.F .BS 1 +SRC.ACC.SIZE .BS 1 +SRC.ACC .BS 4 + +SRC.ARG.F .BS 1 +SRC.ARG.SIZE .BS 1 +SRC.ARG .BS 4 + +SRC.ACCTMP .BS 4 +SRC.AM.StrBuf .BS 32 *-------------------------------------- - .DUMMY - .OR 0 -DS.START -bPause .BS 1 + .DUMMY + .OR 0 +DS.START +bPause .BS 1 -SRC.hFILENAME .BS 1 -SRC.hLineBuf .BS 1 -SRC.hTmpBuf .BS 1 +SRC.hFILENAME .BS 1 +SRC.hLineBuf .BS 1 +SRC.hTmpBuf .BS 1 -SRC.COUNT .BS 1 -SRC.hFILES .BS SRC.IN.MAXDEPTH -SRC.hFILETYPES .BS SRC.IN.MAXDEPTH +SRC.COUNT .BS 1 +SRC.hFILES .BS SRC.IN.MAXDEPTH +SRC.hFILETYPES .BS SRC.IN.MAXDEPTH -SRC.LINENUM .BS 2 -SRC.AMID .BS 1 +SRC.LINENUM .BS 2 +SRC.AMID .BS 1 -DST.hFILENAME .BS 1 -DST.hREFNUM .BS 1 -DST.hBUFFER .BS 1 -DST.hFILETYPE .BS 1 +DST.hFILENAME .BS 1 +DST.hREFNUM .BS 1 +DST.hBUFFER .BS 1 +DST.hFILETYPE .BS 1 -DIR.Word .BS 2 -DIR.Byte .BS 1 +DIR.Word .BS 2 +DIR.Byte .BS 1 -EXP.Modifier .BS 1 -EXP.Prefix .BS 1 -EXP.Operator .BS 1 +EXP.Modifier .BS 1 +EXP.Prefix .BS 1 +EXP.Operator .BS 1 -ASM.T.hMem .BS 1 +ASM.T.hMem .BS 1 -ASM.PASS .BS 1 -ASM.DO.StackPtr .BS 1 -ASM.DO.Stack .BS SRC.DO.MAXDEPTH -ASM.DO.ON .BS 1 -ASM.PH.ON .BS 1 -ASM.LI.ON .BS 1 -ASM.LI.CON .BS 1 -ASM.LI.MON .BS 1 -ASM.LI.XON .BS 1 -ASM.PC .BS 4 -ASM.PC.PH .BS 4 +ASM.PASS .BS 1 +ASM.DO.StackPtr .BS 1 +ASM.DO.Stack .BS SRC.DO.MAXDEPTH +ASM.DO.ON .BS 1 +ASM.PH.ON .BS 1 +ASM.LI.ON .BS 1 +ASM.LI.CON .BS 1 +ASM.LI.MON .BS 1 +ASM.LI.XON .BS 1 +ASM.PC .BS 4 +ASM.PC.PH .BS 4 -SYM.hGlobals .BS 1 +SYM.hGlobalList .BS 1 +SYM.hNameBuf .BS 1 +SYM.hGlobalBuf .BS 1 +SYM.GlobalID .BS 2 -SYM.GlobalPtr .BS 2 -SYM.hGlobalBuf .BS 1 -SYM.GlobalID .BS 2 +SYM.hLookupBuf .BS 1 -SYM.hLookupBuf .BS 1 +SYM.LocalID .BS 2 -SYM.LocalID .BS 2 +MAC.hMacros .BS 1 +MAC.hBuf .BS 1 +MAC.bAdd .BS 1 -MAC.hMacros .BS 1 -MAC.hBuf .BS 1 -MAC.bAdd .BS 1 +OUT.PC .BS 4 +OUT.Buf .BS 4 +OUT.bEquate .BS 1 +OUT.LineCnt .BS 1 -OUT.PC .BS 4 -OUT.Buf .BS 4 -OUT.bEquate .BS 1 -OUT.LineCnt .BS 1 - -DS.END .ED +DS.END .ED *--------------------------------------- - .DO DS.END-DS.START>$FF - ERROR:DS too big - .FIN + .DO DS.END-DS.START>$FF + ERROR:DS too big + .FIN *--------------------------------------- MAN SAVE /A2OSX.BUILD/BIN/DEV/ASM.S diff --git a/BIN/ASM.T.6502.A.txt b/BIN/ASM.T.6502.A.txt index b042b9e9..d0d5475e 100644 --- a/BIN/ASM.T.6502.A.txt +++ b/BIN/ASM.T.6502.A.txt @@ -3,21 +3,21 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "#a" - >PSTR "(a),Y" - >PSTR "(a,X)" - >PSTR "a" - >PSTR "a,X" - >PSTR "aa" - >PSTR "aa,X" - >PSTR "aa,Y" - >PSTR "(aa)" - >PSTR "a,Y" + .DA #2,$$"#a" + .DA #5,$$"(a),Y" + .DA #5,$$"(a,X)" + .DA #1,$$"a" + .DA #3,$$"a,X" + .DA #2,$$"aa" + .DA #4,$$"aa,X" + .DA #4,$$"aa,Y" + .DA #4,$$"(aa)" + .DA #3,$$"a,Y" .HS 00 *--------------------------------------- T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "X" + .DA #1,$$"Y" + .DA #1,$$"X" .HS 00 *--------------------------------------- MAN diff --git a/BIN/ASM.T.6502.O.txt b/BIN/ASM.T.6502.O.txt index 00b8c6e0..1323e6b4 100644 --- a/BIN/ASM.T.6502.O.txt +++ b/BIN/ASM.T.6502.O.txt @@ -3,475 +3,324 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.OPCODES .EQ * -ADC .DA ADC.E+1-* - >PSTR "ADC" - .HS 01 - >PSTR "69a" - .HS 02 - >PSTR "71a" - .HS 03 - >PSTR "61a" - .HS 04 - >PSTR "65a" - .HS 05 - >PSTR "75a" - .HS 06 - >PSTR "6Daa" - .HS 07 - >PSTR "7Daa" - .HS 08 - >PSTR "79aa" -ADC.E .HS 00 -AND .DA AND.E+1-* - >PSTR "AND" - .HS 01 - >PSTR "29a" - .HS 02 - >PSTR "31a" - .HS 03 - >PSTR "21a" - .HS 04 - >PSTR "25a" - .HS 05 - >PSTR "35a" - .HS 06 - >PSTR "2Daa" - .HS 07 - >PSTR "3Daa" - .HS 08 - >PSTR "39aa" -AND.E .HS 00 -ASL .DA ASL.E+1-* - >PSTR "ASL" - .HS 04 - >PSTR "06a" - .HS 05 - >PSTR "16a" - .HS 06 - >PSTR "0Eaa" - .HS 07 - >PSTR "1Eaa" - .HS FF - >PSTR "0A" -ASL.E .HS 00 -BCC .DA BCC.E+1-* - >PSTR "BCC" - .HS 06 - >PSTR "90r" -BCC.E .HS 00 -BCS .DA BCS.E+1-* - >PSTR "BCS" - .HS 06 - >PSTR "B0r" -BCS.E .HS 00 -BEQ .DA BEQ.E+1-* - >PSTR "BEQ" - .HS 06 - >PSTR "F0r" -BEQ.E .HS 00 -BIT .DA BIT.E+1-* - >PSTR "BIT" - .HS 04 - >PSTR "24a" - .HS 06 - >PSTR "2Caa" -BIT.E .HS 00 -BMI .DA BMI.E+1-* - >PSTR "BMI" - .HS 06 - >PSTR "30r" -BMI.E .HS 00 -BNE .DA BNE.E+1-* - >PSTR "BNE" - .HS 06 - >PSTR "D0r" -BNE.E .HS 00 -BPL .DA BPL.E+1-* - >PSTR "BPL" - .HS 06 - >PSTR "10r" -BPL.E .HS 00 -BRK .DA BRK.E+1-* - >PSTR "BRK" - .HS FF - >PSTR "00" -BRK.E .HS 00 -BVC .DA BVC.E+1-* - >PSTR "BVC" - .HS 06 - >PSTR "50r" -BVC.E .HS 00 -BVS .DA BVS.E+1-* - >PSTR "BVS" - .HS 06 - >PSTR "70r" -BVS.E .HS 00 -CLC .DA CLC.E+1-* - >PSTR "CLC" - .HS FF - >PSTR "18" -CLC.E .HS 00 -CLD .DA CLD.E+1-* - >PSTR "CLD" - .HS FF - >PSTR "D8" -CLD.E .HS 00 -CLI .DA CLI.E+1-* - >PSTR "CLI" - .HS FF - >PSTR "58" -CLI.E .HS 00 -CLV .DA CLV.E+1-* - >PSTR "CLV" - .HS FF - >PSTR "B8" -CLV.E .HS 00 -CMP .DA CMP.E+1-* - >PSTR "CMP" - .HS 01 - >PSTR "C9a" - .HS 02 - >PSTR "D1a" - .HS 03 - >PSTR "C1a" - .HS 04 - >PSTR "C5a" - .HS 05 - >PSTR "D5a" - .HS 06 - >PSTR "CDaa" - .HS 07 - >PSTR "DDaa" - .HS 08 - >PSTR "D9aa" -CMP.E .HS 00 -CPX .DA CPX.E+1-* - >PSTR "CPX" - .HS 01 - >PSTR "E0a" - .HS 04 - >PSTR "E4a" - .HS 06 - >PSTR "Ecaa" -CPX.E .HS 00 -CPY .DA CPY.E+1-* - >PSTR "CPY" - .HS 01 - >PSTR "C0a" - .HS 04 - >PSTR "C4a" - .HS 06 - >PSTR "Ccaa" -CPY.E .HS 00 -DEC .DA DEC.E+1-* - >PSTR "DEC" - .HS 04 - >PSTR "C6a" - .HS 05 - >PSTR "D6a" - .HS 06 - >PSTR "Ceaa" - .HS 07 - >PSTR "Deaa" -DEC.E .HS 00 -DEX .DA DEX.E+1-* - >PSTR "DEX" - .HS FF - >PSTR "CA" -DEX.E .HS 00 -DEY .DA DEY.E+1-* - >PSTR "DEY" - .HS FF - >PSTR "88" -DEY.E .HS 00 -EOR .DA EOR.E+1-* - >PSTR "EOR" - .HS 01 - >PSTR "49a" - .HS 02 - >PSTR "51a" - .HS 03 - >PSTR "41a" - .HS 04 - >PSTR "45a" - .HS 05 - >PSTR "55a" - .HS 06 - >PSTR "4Daa" - .HS 07 - >PSTR "5Daa" - .HS 08 - >PSTR "59aa" -EOR.E .HS 00 -INC .DA INC.E+1-* - >PSTR "INC" - .HS 04 - >PSTR "E6a" - .HS 05 - >PSTR "F6a" - .HS 06 - >PSTR "Eeaa" - .HS 07 - >PSTR "Feaa" -INC.E .HS 00 -INX .DA INX.E+1-* - >PSTR "INX" - .HS FF - >PSTR "E8" -INX.E .HS 00 -INY .DA INY.E+1-* - >PSTR "INY" - .HS FF - >PSTR "C8" -INY.E .HS 00 -JMP .DA JMP.E+1-* - >PSTR "JMP" - .HS 09 - >PSTR "6Caa" - .HS 06 - >PSTR "4Caa" -JMP.E .HS 00 -JSR .DA JSR.E+1-* - >PSTR "JSR" - .HS 06 - >PSTR "20aa" -JSR.E .HS 00 -LDA .DA LDA.E+1-* - >PSTR "LDA" - .HS 01 - >PSTR "A9a" - .HS 02 - >PSTR "B1a" - .HS 03 - >PSTR "A1a" - .HS 04 - >PSTR "A5a" - .HS 05 - >PSTR "B5a" - .HS 06 - >PSTR "Adaa" - .HS 07 - >PSTR "Bdaa" - .HS 08 - >PSTR "B9aa" -LDA.E .HS 00 -LDX .DA LDX.E+1-* - >PSTR "LDX" - .HS 01 - >PSTR "A2a" - .HS 04 - >PSTR "A6a" - .HS 0A - >PSTR "B6a" - .HS 06 - >PSTR "Aeaa" - .HS 08 - >PSTR "Beaa" -LDX.E .HS 00 -LDY .DA LDY.E+1-* - >PSTR "LDY" - .HS 01 - >PSTR "A0a" - .HS 04 - >PSTR "A4a" - .HS 05 - >PSTR "B4a" - .HS 06 - >PSTR "Acaa" - .HS 07 - >PSTR "Bcaa" -LDY.E .HS 00 -LSR .DA LSR.E+1-* - >PSTR "LSR" - .HS 04 - >PSTR "46a" - .HS 05 - >PSTR "56a" - .HS 06 - >PSTR "4Eaa" - .HS 07 - >PSTR "5Eaa" - .HS FF - >PSTR "4A" -LSR.E .HS 00 -NOP .DA NOP.E+1-* - >PSTR "NOP" - .HS FF - >PSTR "EA" -NOP.E .HS 00 -ORA .DA ORA.E+1-* - >PSTR "ORA" - .HS 01 - >PSTR "09a" - .HS 02 - >PSTR "11a" - .HS 03 - >PSTR "01a" - .HS 04 - >PSTR "05a" - .HS 05 - >PSTR "15a" - .HS 06 - >PSTR "0Daa" - .HS 07 - >PSTR "1Daa" - .HS 08 - >PSTR "19aa" -ORA.E .HS 00 -PHA .DA PHA.E+1-* - >PSTR "PHA" - .HS FF - >PSTR "48" -PHA.E .HS 00 -PHP .DA PHP.E+1-* - >PSTR "PHP" - .HS FF - >PSTR "08" -PHP.E .HS 00 -PLA .DA PLA.E+1-* - >PSTR "PLA" - .HS FF - >PSTR "68" -PLA.E .HS 00 -PLP .DA PLP.E+1-* - >PSTR "PLP" - .HS FF - >PSTR "28" -PLP.E .HS 00 -ROL .DA ROL.E+1-* - >PSTR "ROL" - .HS 04 - >PSTR "26a" - .HS 05 - >PSTR "36a" - .HS 06 - >PSTR "2Eaa" - .HS 07 - >PSTR "3Eaa" - .HS FF - >PSTR "2A" -ROL.E .HS 00 -ROR .DA ROR.E+1-* - >PSTR "ROR" - .HS 04 - >PSTR "66a" - .HS 05 - >PSTR "76a" - .HS 06 - >PSTR "6Eaa" - .HS 07 - >PSTR "7Eaa" - .HS FF - >PSTR "6A" -ROR.E .HS 00 -RTI .DA RTI.E+1-* - >PSTR "RTI" - .HS FF - >PSTR "40" -RTI.E .HS 00 -RTS .DA RTS.E+1-* - >PSTR "RTS" - .HS FF - >PSTR "60" -RTS.E .HS 00 -SBC .DA SBC.E+1-* - >PSTR "SBC" - .HS 01 - >PSTR "E9a" - .HS 02 - >PSTR "F1a" - .HS 03 - >PSTR "E1a" - .HS 04 - >PSTR "E5a" - .HS 05 - >PSTR "F5a" - .HS 06 - >PSTR "Edaa" - .HS 07 - >PSTR "Fdaa" - .HS 08 - >PSTR "F9aa" -SBC.E .HS 00 -SEC .DA SEC.E+1-* - >PSTR "SEC" - .HS FF - >PSTR "38" -SEC.E .HS 00 -SED .DA SED.E+1-* - >PSTR "SED" - .HS FF - >PSTR "F8" -SED.E .HS 00 -SEI .DA SEI.E+1-* - >PSTR "SEI" - .HS FF - >PSTR "78" -SEI.E .HS 00 -STA .DA STA.E+1-* - >PSTR "STA" - .HS 02 - >PSTR "91a" - .HS 03 - >PSTR "81a" - .HS 04 - >PSTR "85a" - .HS 05 - >PSTR "95a" - .HS 06 - >PSTR "8Daa" - .HS 07 - >PSTR "9Daa" - .HS 08 - >PSTR "99aa" -STA.E .HS 00 -STX .DA STX.E+1-* - >PSTR "STX" - .HS 04 - >PSTR "86a" - .HS 0A - >PSTR "96a" - .HS 06 - >PSTR "8Eaa" -STX.E .HS 00 -STY .DA STY.E+1-* - >PSTR "STY" - .HS 04 - >PSTR "84a" - .HS 05 - >PSTR "94a" - .HS 06 - >PSTR "8Caa" -STY.E .HS 00 -TAX .DA TAX.E+1-* - >PSTR "TAX" - .HS FF - >PSTR "AA" -TAX.E .HS 00 -TAY .DA TAY.E+1-* - >PSTR "TAY" - .HS FF - >PSTR "A8" -TAY.E .HS 00 -TSX .DA TSX.E+1-* - >PSTR "TSX" - .HS FF - >PSTR "BA" -TSX.E .HS 00 -TXA .DA TXA.E+1-* - >PSTR "TXA" - .HS FF - >PSTR "8A" -TXA.E .HS 00 -TXS .DA TXS.E+1-* - >PSTR "TXS" - .HS FF - >PSTR "9A" -TXS.E .HS 00 -TYA .DA TYA.E+1-* - >PSTR "TYA" - .HS FF - >PSTR "98" +ADC .DA ADC.E+1-* + .DA #3,$$"ADC" + .DA #1,#3,$$"69a" + .DA #2,#3,$$"71a" + .DA #3,#3,$$"61a" + .DA #4,#3,$$"65a" + .DA #5,#3,$$"75a" + .DA #6,#4,$$"6Daa" + .DA #7,#4,$$"7Daa" + .DA #8,#4,$$"79aa" +ADC.E .HS 00 +AND .DA AND.E+1-* + .DA #3,$$"AND" + .DA #1,#3,$$"29a" + .DA #2,#3,$$"31a" + .DA #3,#3,$$"21a" + .DA #4,#3,$$"25a" + .DA #5,#3,$$"35a" + .DA #6,#4,$$"2Daa" + .DA #7,#4,$$"3Daa" + .DA #8,#4,$$"39aa" +AND.E .HS 00 +ASL .DA ASL.E+1-* + .DA #3,$$"ASL" + .DA #4,#3,$$"06a" + .DA #5,#3,$$"16a" + .DA #6,#4,$$"0Eaa" + .DA #7,#4,$$"1Eaa" + .DA #255,#2,$$"0A" +ASL.E .HS 00 +BCC .DA BCC.E+1-* + .DA #3,$$"BCC" + .DA #6,#3,$$"90r" +BCC.E .HS 00 +BCS .DA BCS.E+1-* + .DA #3,$$"BCS" + .DA #6,#3,$$"B0r" +BCS.E .HS 00 +BEQ .DA BEQ.E+1-* + .DA #3,$$"BEQ" + .DA #6,#3,$$"F0r" +BEQ.E .HS 00 +BIT .DA BIT.E+1-* + .DA #3,$$"BIT" + .DA #4,#3,$$"24a" + .DA #6,#4,$$"2Caa" +BIT.E .HS 00 +BMI .DA BMI.E+1-* + .DA #3,$$"BMI" + .DA #6,#3,$$"30r" +BMI.E .HS 00 +BNE .DA BNE.E+1-* + .DA #3,$$"BNE" + .DA #6,#3,$$"D0r" +BNE.E .HS 00 +BPL .DA BPL.E+1-* + .DA #3,$$"BPL" + .DA #6,#3,$$"10r" +BPL.E .HS 00 +BRK .DA BRK.E+1-* + .DA #3,$$"BRK" + .DA #255,#2,$$"00" +BRK.E .HS 00 +BVC .DA BVC.E+1-* + .DA #3,$$"BVC" + .DA #6,#3,$$"50r" +BVC.E .HS 00 +BVS .DA BVS.E+1-* + .DA #3,$$"BVS" + .DA #6,#3,$$"70r" +BVS.E .HS 00 +CLC .DA CLC.E+1-* + .DA #3,$$"CLC" + .DA #255,#2,$$"18" +CLC.E .HS 00 +CLD .DA CLD.E+1-* + .DA #3,$$"CLD" + .DA #255,#2,$$"D8" +CLD.E .HS 00 +CLI .DA CLI.E+1-* + .DA #3,$$"CLI" + .DA #255,#2,$$"58" +CLI.E .HS 00 +CLV .DA CLV.E+1-* + .DA #3,$$"CLV" + .DA #255,#2,$$"B8" +CLV.E .HS 00 +CMP .DA CMP.E+1-* + .DA #3,$$"CMP" + .DA #1,#3,$$"C9a" + .DA #2,#3,$$"D1a" + .DA #3,#3,$$"C1a" + .DA #4,#3,$$"C5a" + .DA #5,#3,$$"D5a" + .DA #6,#4,$$"CDaa" + .DA #7,#4,$$"DDaa" + .DA #8,#4,$$"D9aa" +CMP.E .HS 00 +CPX .DA CPX.E+1-* + .DA #3,$$"CPX" + .DA #1,#3,$$"E0a" + .DA #4,#3,$$"E4a" + .DA #6,#4,$$"Ecaa" +CPX.E .HS 00 +CPY .DA CPY.E+1-* + .DA #3,$$"CPY" + .DA #1,#3,$$"C0a" + .DA #4,#3,$$"C4a" + .DA #6,#4,$$"Ccaa" +CPY.E .HS 00 +DEC .DA DEC.E+1-* + .DA #3,$$"DEC" + .DA #4,#3,$$"C6a" + .DA #5,#3,$$"D6a" + .DA #6,#4,$$"Ceaa" + .DA #7,#4,$$"Deaa" +DEC.E .HS 00 +DEX .DA DEX.E+1-* + .DA #3,$$"DEX" + .DA #255,#2,$$"CA" +DEX.E .HS 00 +DEY .DA DEY.E+1-* + .DA #3,$$"DEY" + .DA #255,#2,$$"88" +DEY.E .HS 00 +EOR .DA EOR.E+1-* + .DA #3,$$"EOR" + .DA #1,#3,$$"49a" + .DA #2,#3,$$"51a" + .DA #3,#3,$$"41a" + .DA #4,#3,$$"45a" + .DA #5,#3,$$"55a" + .DA #6,#4,$$"4Daa" + .DA #7,#4,$$"5Daa" + .DA #8,#4,$$"59aa" +EOR.E .HS 00 +INC .DA INC.E+1-* + .DA #3,$$"INC" + .DA #4,#3,$$"E6a" + .DA #5,#3,$$"F6a" + .DA #6,#4,$$"EEaa" + .DA #7,#4,$$"FEaa" +INC.E .HS 00 +INX .DA INX.E+1-* + .DA #3,$$"INX" + .DA #255,#2,$$"E8" +INX.E .HS 00 +INY .DA INY.E+1-* + .DA #3,$$"INY" + .DA #255,#2,$$"C8" +INY.E .HS 00 +JMP .DA JMP.E+1-* + .DA #3,$$"JMP" + .DA #9,#4,$$"6Caa" + .DA #6,#4,$$"4Caa" +JMP.E .HS 00 +JSR .DA JSR.E+1-* + .DA #3,$$"JSR" + .DA #6,#4,$$"20aa" +JSR.E .HS 00 +LDA .DA LDA.E+1-* + .DA #3,$$"LDA" + .DA #1,#3,$$"A9a" + .DA #2,#3,$$"B1a" + .DA #3,#3,$$"A1a" + .DA #4,#3,$$"A5a" + .DA #5,#3,$$"B5a" + .DA #6,#4,$$"ADaa" + .DA #7,#4,$$"BDaa" + .DA #8,#4,$$"B9aa" +LDA.E .HS 00 +LDX .DA LDX.E+1-* + .DA #3,$$"LDX" + .DA #1,#3,$$"A2a" + .DA #4,#3,$$"A6a" + .DA #10,#3,$$"B6a" + .DA #6,#4,$$"AEaa" + .DA #8,#4,$$"BEaa" +LDX.E .HS 00 +LDY .DA LDY.E+1-* + .DA #3,$$"LDY" + .DA #1,#3,$$"A0a" + .DA #4,#3,$$"A4a" + .DA #5,#3,$$"B4a" + .DA #6,#4,$$"ACaa" + .DA #7,#4,$$"BCaa" +LDY.E .HS 00 +LSR .DA LSR.E+1-* + .DA #3,$$"LSR" + .DA #4,#3,$$"46a" + .DA #5,#3,$$"56a" + .DA #6,#4,$$"4Eaa" + .DA #7,#4,$$"5Eaa" + .DA #255,#2,$$"4A" +LSR.E .HS 00 +NOP .DA NOP.E+1-* + .DA #3,$$"NOP" + .DA #255,#2,$$"EA" +NOP.E .HS 00 +ORA .DA ORA.E+1-* + .DA #3,$$"ORA" + .DA #1,#3,$$"09a" + .DA #2,#3,$$"11a" + .DA #3,#3,$$"01a" + .DA #4,#3,$$"05a" + .DA #5,#3,$$"15a" + .DA #6,#4,$$"0Daa" + .DA #7,#4,$$"1Daa" + .DA #8,#4,$$"19aa" +ORA.E .HS 00 +PHA .DA PHA.E+1-* + .DA #3,$$"PHA" + .DA #255,#2,$$"48" +PHA.E .HS 00 +PHP .DA PHP.E+1-* + .DA #3,$$"PHP" + .DA #255,#2,$$"08" +PHP.E .HS 00 +PLA .DA PLA.E+1-* + .DA #3,$$"PLA" + .DA #255,#2,$$"68" +PLA.E .HS 00 +PLP .DA PLP.E+1-* + .DA #3,$$"PLP" + .DA #255,#2,$$"28" +PLP.E .HS 00 +ROL .DA ROL.E+1-* + .DA #3,$$"ROL" + .DA #4,#3,$$"26a" + .DA #5,#3,$$"36a" + .DA #6,#4,$$"2Eaa" + .DA #7,#4,$$"3Eaa" + .DA #255,#2,$$"2A" +ROL.E .HS 00 +ROR .DA ROR.E+1-* + .DA #3,$$"ROR" + .DA #4,#3,$$"66a" + .DA #5,#3,$$"76a" + .DA #6,#4,$$"6Eaa" + .DA #7,#4,$$"7Eaa" + .DA #255,#2,$$"6A" +ROR.E .HS 00 +RTI .DA RTI.E+1-* + .DA #3,$$"RTI" + .DA #255,#2,$$"40" +RTI.E .HS 00 +RTS .DA RTS.E+1-* + .DA #3,$$"RTS" + .DA #255,#2,$$"60" +RTS.E .HS 00 +SBC .DA SBC.E+1-* + .DA #3,$$"SBC" + .DA #1,#3,$$"E9a" + .DA #2,#3,$$"F1a" + .DA #3,#3,$$"E1a" + .DA #4,#3,$$"E5a" + .DA #5,#3,$$"F5a" + .DA #6,#4,$$"EDaa" + .DA #7,#4,$$"FDaa" + .DA #8,#4,$$"F9aa" +SBC.E .HS 00 +SEC .DA SEC.E+1-* + .DA #3,$$"SEC" + .DA #255,#2,$$"38" +SEC.E .HS 00 +SED .DA SED.E+1-* + .DA #3,$$"SED" + .DA #255,#2,$$"F8" +SED.E .HS 00 +SEI .DA SEI.E+1-* + .DA #3,$$"SEI" + .DA #255,#2,$$"78" +SEI.E .HS 00 +STA .DA STA.E+1-* + .DA #3,$$"STA" + .DA #2,#3,$$"91a" + .DA #3,#3,$$"81a" + .DA #4,#3,$$"85a" + .DA #5,#3,$$"95a" + .DA #6,#4,$$"8Daa" + .DA #7,#4,$$"9Daa" + .DA #8,#4,$$"99aa" +STA.E .HS 00 +STX .DA STX.E+1-* + .DA #3,$$"STX" + .DA #4,#3,$$"86a" + .DA #10,#3,$$"96a" + .DA #6,#4,$$"8Eaa" +STX.E .HS 00 +STY .DA STY.E+1-* + .DA #3,$$"STY" + .DA #4,#3,$$"84a" + .DA #5,#3,$$"94a" + .DA #6,#4,$$"8Caa" +STY.E .HS 00 +TAX .DA TAX.E+1-* + .DA #3,$$"TAX" + .DA #255,#2,$$"AA" +TAX.E .HS 00 +TAY .DA TAY.E+1-* + .DA #3,$$"TAY" + .DA #255,#2,$$"A8" +TAY.E .HS 00 +TSX .DA TSX.E+1-* + .DA #3,$$"TSX" + .DA #255,#2,$$"BA" +TSX.E .HS 00 +TXA .DA TXA.E+1-* + .DA #3,$$"TXA" + .DA #255,#2,$$"8A" +TXA.E .HS 00 +TXS .DA TXS.E+1-* + .DA #3,$$"TXS" + .DA #255,#2,$$"9A" +TXS.E .HS 00 +TYA .DA TYA.E+1-* + .DA #3,$$"TYA" + .DA #255,#2,$$"98" TYA.E .HS 00 .HS 0000 *--------------------------------------- diff --git a/BIN/ASM.T.6502.S.txt b/BIN/ASM.T.6502.S.txt index 77feb68f..64d64d93 100644 --- a/BIN/ASM.T.6502.S.txt +++ b/BIN/ASM.T.6502.S.txt @@ -4,12 +4,6 @@ AUTO 4,1 .LIST OFF .OR $0 .TF /A2OSX.BUILD/BIN/DEV/ASM.T.6502 -*--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM *--------------------------------------- .DA T.ADDR.MODES .DA T.REGISTERS diff --git a/BIN/ASM.T.65816.A.txt b/BIN/ASM.T.65816.A.txt index 9f55124a..f6d80467 100644 --- a/BIN/ASM.T.65816.A.txt +++ b/BIN/ASM.T.65816.A.txt @@ -3,32 +3,32 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "#a" - >PSTR "(a)" - >PSTR "(a),Y" - >PSTR "(a,S),Y" - >PSTR "(a,X)" - >PSTR "[a]" - >PSTR "[a],Y" - >PSTR "a" - >PSTR "a,S" - >PSTR "a,X" - >PSTR "aa" - >PSTR "aa,X" - >PSTR "aa,Y" - >PSTR "aaa" - >PSTR "aaa,X" - >PSTR "(aa)" - >PSTR "(aa,X)" - >PSTR "[aa]" - >PSTR "a,Y" - >PSTR "a,b" + .DA #2,$$"#a" + .DA #3,$$"(a)" + .DA #5,$$"(a),Y" + .DA #7,$$"(a,S),Y" + .DA #5,$$"(a,X)" + .DA #3,$$"[a]" + .DA #5,$$"[a],Y" + .DA #1,$$"a" + .DA #3,$$"a,S" + .DA #3,$$"a,X" + .DA #2,$$"aa" + .DA #4,$$"aa,X" + .DA #4,$$"aa,Y" + .DA #3,$$"aaa" + .DA #5,$$"aaa,X" + .DA #4,$$"(aa)" + .DA #6,$$"(aa,X)" + .DA #4,$$"[aa]" + .DA #3,$$"a,Y" + .DA #3,$$"a,b" .HS 00 *--------------------------------------- T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "S" - >PSTR "X" + .DA #1,$$"Y" + .DA #1,$$"S" + .DA #1,$$"X" .HS 00 *--------------------------------------- MAN diff --git a/BIN/ASM.T.65816.O.txt b/BIN/ASM.T.65816.O.txt index 9a63b9f5..32fc0db7 100644 --- a/BIN/ASM.T.65816.O.txt +++ b/BIN/ASM.T.65816.O.txt @@ -3,787 +3,531 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.OPCODES .EQ * -ADC .DA ADC.E+1-* - >PSTR "ADC" - .HS 01 - >PSTR "69a" - .HS 02 - >PSTR "72a" - .HS 03 - >PSTR "71a" - .HS 04 - >PSTR "73a" - .HS 05 - >PSTR "61a" - .HS 06 - >PSTR "67a" - .HS 07 - >PSTR "77a" - .HS 08 - >PSTR "65a" - .HS 09 - >PSTR "63a" - .HS 0A - >PSTR "75a" - .HS 0B - >PSTR "6Daa" - .HS 0C - >PSTR "7Daa" - .HS 0D - >PSTR "79aa" - .HS 0E - >PSTR "6Faaa" - .HS 0F - >PSTR "7Faaa" -ADC.E .HS 00 -AND .DA AND.E+1-* - >PSTR "AND" - .HS 01 - >PSTR "29a" - .HS 02 - >PSTR "32a" - .HS 03 - >PSTR "31a" - .HS 04 - >PSTR "33a" - .HS 05 - >PSTR "21a" - .HS 06 - >PSTR "27a" - .HS 07 - >PSTR "37a" - .HS 08 - >PSTR "25a" - .HS 09 - >PSTR "23a" - .HS 0A - >PSTR "35a" - .HS 0B - >PSTR "2Daa" - .HS 0C - >PSTR "3Daa" - .HS 0D - >PSTR "39aa" - .HS 0E - >PSTR "2Faaa" - .HS 0F - >PSTR "3Faaa" -AND.E .HS 00 -ASL .DA ASL.E+1-* - >PSTR "ASL" - .HS 08 - >PSTR "06a" - .HS 0A - >PSTR "16a" - .HS 0B - >PSTR "0Eaa" - .HS 0C - >PSTR "1Eaa" - .HS FF - >PSTR "0A" -ASL.E .HS 00 -BCC .DA BCC.E+1-* - >PSTR "BCC" - .HS 0B - >PSTR "90r" -BCC.E .HS 00 -BCS .DA BCS.E+1-* - >PSTR "BCS" - .HS 0B - >PSTR "B0r" -BCS.E .HS 00 -BEQ .DA BEQ.E+1-* - >PSTR "BEQ" - .HS 0B - >PSTR "F0r" -BEQ.E .HS 00 -BIT .DA BIT.E+1-* - >PSTR "BIT" - .HS 01 - >PSTR "89a" - .HS 08 - >PSTR "24a" - .HS 0A - >PSTR "34a" - .HS 0B - >PSTR "2Caa" - .HS 0C - >PSTR "3Caa" -BIT.E .HS 00 -BMI .DA BMI.E+1-* - >PSTR "BMI" - .HS 0B - >PSTR "30r" -BMI.E .HS 00 -BNE .DA BNE.E+1-* - >PSTR "BNE" - .HS 0B - >PSTR "D0r" -BNE.E .HS 00 -BPL .DA BPL.E+1-* - >PSTR "BPL" - .HS 0B - >PSTR "10r" -BPL.E .HS 00 -BRA .DA BRA.E+1-* - >PSTR "BRA" - .HS 0B - >PSTR "80r" -BRA.E .HS 00 -BRK .DA BRK.E+1-* - >PSTR "BRK" - .HS FF - >PSTR "00" -BRK.E .HS 00 -BRL .DA BRL.E+1-* - >PSTR "BRL" - .HS 0B - >PSTR "82rr" -BRL.E .HS 00 -BVC .DA BVC.E+1-* - >PSTR "BVC" - .HS 0B - >PSTR "50r" -BVC.E .HS 00 -BVS .DA BVS.E+1-* - >PSTR "BVS" - .HS 0B - >PSTR "70r" -BVS.E .HS 00 -CLC .DA CLC.E+1-* - >PSTR "CLC" - .HS FF - >PSTR "18" -CLC.E .HS 00 -CLD .DA CLD.E+1-* - >PSTR "CLD" - .HS FF - >PSTR "D8" -CLD.E .HS 00 -CLI .DA CLI.E+1-* - >PSTR "CLI" - .HS FF - >PSTR "58" -CLI.E .HS 00 -CLV .DA CLV.E+1-* - >PSTR "CLV" - .HS FF - >PSTR "B8" -CLV.E .HS 00 -CMP .DA CMP.E+1-* - >PSTR "CMP" - .HS 01 - >PSTR "C9a" - .HS 02 - >PSTR "D2a" - .HS 03 - >PSTR "D1a" - .HS 04 - >PSTR "D3a" - .HS 05 - >PSTR "C1a" - .HS 06 - >PSTR "C7a" - .HS 07 - >PSTR "D7a" - .HS 08 - >PSTR "C5a" - .HS 09 - >PSTR "C3a" - .HS 0A - >PSTR "D5a" - .HS 0B - >PSTR "CDaa" - .HS 0C - >PSTR "DDaa" - .HS 0D - >PSTR "D9aa" - .HS 0E - >PSTR "CFaaa" - .HS 0F - >PSTR "DFaaa" -CMP.E .HS 00 -COP .DA COP.E+1-* - >PSTR "COP" - .HS 01 - >PSTR "02a" -COP.E .HS 00 -CPX .DA CPX.E+1-* - >PSTR "CPX" - .HS 01 - >PSTR "E0a" - .HS 08 - >PSTR "E4a" - .HS 0B - >PSTR "ECaa" -CPX.E .HS 00 -CPY .DA CPY.E+1-* - >PSTR "CPY" - .HS 01 - >PSTR "C0a" - .HS 08 - >PSTR "C4a" - .HS 0B - >PSTR "CCaa" -CPY.E .HS 00 -DEC .DA DEC.E+1-* - >PSTR "DEC" - .HS 08 - >PSTR "C6a" - .HS 0A - >PSTR "D6a" - .HS 0B - >PSTR "CEaa" - .HS 0C - >PSTR "DEaa" - .HS FF - >PSTR "3A" -DEC.E .HS 00 -DEX .DA DEX.E+1-* - >PSTR "DEX" - .HS FF - >PSTR "CA" -DEX.E .HS 00 -DEY .DA DEY.E+1-* - >PSTR "DEY" - .HS FF - >PSTR "88" -DEY.E .HS 00 -EOR .DA EOR.E+1-* - >PSTR "EOR" - .HS 01 - >PSTR "49a" - .HS 02 - >PSTR "52a" - .HS 03 - >PSTR "51a" - .HS 04 - >PSTR "53a" - .HS 05 - >PSTR "41a" - .HS 06 - >PSTR "47a" - .HS 07 - >PSTR "57a" - .HS 08 - >PSTR "45a" - .HS 09 - >PSTR "43a" - .HS 0A - >PSTR "55a" - .HS 0B - >PSTR "4Daa" - .HS 0C - >PSTR "5Daa" - .HS 0D - >PSTR "59aa" - .HS 0E - >PSTR "4Faaa" - .HS 0F - >PSTR "5Faaa" -EOR.E .HS 00 -INC .DA INC.E+1-* - >PSTR "INC" - .HS 08 - >PSTR "E6a" - .HS 0A - >PSTR "F6a" - .HS 0B - >PSTR "EEaa" - .HS 0C - >PSTR "FEaa" - .HS FF - >PSTR "1A" -INC.E .HS 00 -INX .DA INX.E+1-* - >PSTR "INX" - .HS FF - >PSTR "E8" -INX.E .HS 00 -INY .DA INY.E+1-* - >PSTR "INY" - .HS FF - >PSTR "C8" -INY.E .HS 00 -JMP .DA JMP.E+1-* - >PSTR "JMP" - .HS 10 - >PSTR "6Caa" - .HS 11 - >PSTR "7Caa" - .HS 12 - >PSTR "DCaa" - .HS 0B - >PSTR "4Caa" - .HS 0E - >PSTR "5Caaa" -JMP.E .HS 00 -JSR .DA JSR.E+1-* - >PSTR "JSR" - .HS 11 - >PSTR "FCaa" - .HS 0B - >PSTR "20aa" - .HS 0E - >PSTR "22aaa" -JSR.E .HS 00 -LDA .DA LDA.E+1-* - >PSTR "LDA" - .HS 01 - >PSTR "A9a" - .HS 02 - >PSTR "B2a" - .HS 03 - >PSTR "B1a" - .HS 04 - >PSTR "B3a" - .HS 05 - >PSTR "A1a" - .HS 06 - >PSTR "A7a" - .HS 07 - >PSTR "B7a" - .HS 08 - >PSTR "A5a" - .HS 09 - >PSTR "A3a" - .HS 0A - >PSTR "B5a" - .HS 0B - >PSTR "ADaa" - .HS 0C - >PSTR "BDaa" - .HS 0D - >PSTR "B9aa" - .HS 0E - >PSTR "AFaaa" - .HS 0F - >PSTR "BFaaa" -LDA.E .HS 00 -LDX .DA LDX.E+1-* - >PSTR "LDX" - .HS 01 - >PSTR "A2a" - .HS 08 - >PSTR "A6a" - .HS 13 - >PSTR "B6a" - .HS 0B - >PSTR "AEaa" - .HS 0D - >PSTR "BEaa" -LDX.E .HS 00 -LDY .DA LDY.E+1-* - >PSTR "LDY" - .HS 01 - >PSTR "A0a" - .HS 08 - >PSTR "A4a" - .HS 0A - >PSTR "B4a" - .HS 0B - >PSTR "ACaa" - .HS 0C - >PSTR "BCaa" -LDY.E .HS 00 -LSR .DA LSR.E+1-* - >PSTR "LSR" - .HS 08 - >PSTR "46a" - .HS 0A - >PSTR "56a" - .HS 0B - >PSTR "4Eaa" - .HS 0C - >PSTR "5Eaa" - .HS FF - >PSTR "4A" -LSR.E .HS 00 -MVN .DA MVN.E+1-* - >PSTR "MVN" - .HS 14 - >PSTR "54ab" -MVN.E .HS 00 -MVP .DA MVP.E+1-* - >PSTR "MVP" - .HS 14 - >PSTR "44ab" -MVP.E .HS 00 -NOP .DA NOP.E+1-* - >PSTR "NOP" - .HS FF - >PSTR "EA" -NOP.E .HS 00 -ORA .DA ORA.E+1-* - >PSTR "ORA" - .HS 01 - >PSTR "09a" - .HS 02 - >PSTR "12a" - .HS 03 - >PSTR "11a" - .HS 04 - >PSTR "13a" - .HS 05 - >PSTR "01a" - .HS 06 - >PSTR "07a" - .HS 07 - >PSTR "17a" - .HS 08 - >PSTR "05a" - .HS 09 - >PSTR "03a" - .HS 0A - >PSTR "15a" - .HS 0B - >PSTR "0Daa" - .HS 0C - >PSTR "1Daa" - .HS 0D - >PSTR "19aa" - .HS 0E - >PSTR "0Faaa" - .HS 0F - >PSTR "1Faaa" -ORA.E .HS 00 -PEA .DA PEA.E+1-* - >PSTR "PEA" - .HS 0B - >PSTR "F4aa" -PEA.E .HS 00 -PEI .DA PEI.E+1-* - >PSTR "PEI" - .HS 02 - >PSTR "D4a" -PEI.E .HS 00 -PER .DA PER.E+1-* - >PSTR "PER" - .HS 0B - >PSTR "62rr" -PER.E .HS 00 -PHA .DA PHA.E+1-* - >PSTR "PHA" - .HS FF - >PSTR "48" -PHA.E .HS 00 -PHB .DA PHB.E+1-* - >PSTR "PHB" - .HS FF - >PSTR "8B" -PHB.E .HS 00 -PHD .DA PHD.E+1-* - >PSTR "PHD" - .HS FF - >PSTR "0B" -PHD.E .HS 00 -PHK .DA PHK.E+1-* - >PSTR "PHK" - .HS FF - >PSTR "4B" -PHK.E .HS 00 -PHP .DA PHP.E+1-* - >PSTR "PHP" - .HS FF - >PSTR "08" -PHP.E .HS 00 -PHX .DA PHX.E+1-* - >PSTR "PHX" - .HS FF - >PSTR "DA" -PHX.E .HS 00 -PHY .DA PHY.E+1-* - >PSTR "PHY" - .HS FF - >PSTR "5A" -PHY.E .HS 00 -PLA .DA PLA.E+1-* - >PSTR "PLA" - .HS FF - >PSTR "68" -PLA.E .HS 00 -PLB .DA PLB.E+1-* - >PSTR "PLB" - .HS FF - >PSTR "AB" -PLB.E .HS 00 -PLD .DA PLD.E+1-* - >PSTR "PLD" - .HS FF - >PSTR "2B" -PLD.E .HS 00 -PLP .DA PLP.E+1-* - >PSTR "PLP" - .HS FF - >PSTR "28" -PLP.E .HS 00 -PLX .DA PLX.E+1-* - >PSTR "PLX" - .HS FF - >PSTR "FA" -PLX.E .HS 00 -PLY .DA PLY.E+1-* - >PSTR "PLY" - .HS FF - >PSTR "7A" -PLY.E .HS 00 -REP .DA REP.E+1-* - >PSTR "REP" - .HS 01 - >PSTR "C2a" -REP.E .HS 00 -ROL .DA ROL.E+1-* - >PSTR "ROL" - .HS 08 - >PSTR "26a" - .HS 0A - >PSTR "36a" - .HS 0B - >PSTR "2Eaa" - .HS 0C - >PSTR "3Eaa" - .HS FF - >PSTR "2A" -ROL.E .HS 00 -ROR .DA ROR.E+1-* - >PSTR "ROR" - .HS 08 - >PSTR "66a" - .HS 0A - >PSTR "76a" - .HS 0B - >PSTR "6Eaa" - .HS 0C - >PSTR "7Eaa" - .HS FF - >PSTR "6A" -ROR.E .HS 00 -RTI .DA RTI.E+1-* - >PSTR "RTI" - .HS FF - >PSTR "40" -RTI.E .HS 00 -RTL .DA RTL.E+1-* - >PSTR "RTL" - .HS FF - >PSTR "6B" -RTL.E .HS 00 -RTS .DA RTS.E+1-* - >PSTR "RTS" - .HS FF - >PSTR "60" -RTS.E .HS 00 -SBC .DA SBC.E+1-* - >PSTR "SBC" - .HS 01 - >PSTR "E9a" - .HS 02 - >PSTR "F2a" - .HS 03 - >PSTR "F1a" - .HS 04 - >PSTR "F3a" - .HS 05 - >PSTR "E1a" - .HS 06 - >PSTR "E7a" - .HS 07 - >PSTR "F7a" - .HS 08 - >PSTR "E5a" - .HS 09 - >PSTR "E3a" - .HS 0A - >PSTR "F5a" - .HS 0B - >PSTR "EDaa" - .HS 0C - >PSTR "FDaa" - .HS 0D - >PSTR "F9aa" - .HS 0E - >PSTR "EFaaa" - .HS 0F - >PSTR "FFaaa" -SBC.E .HS 00 -SEC .DA SEC.E+1-* - >PSTR "SEC" - .HS FF - >PSTR "38" -SEC.E .HS 00 -SED .DA SED.E+1-* - >PSTR "SED" - .HS FF - >PSTR "F8" -SED.E .HS 00 -SEI .DA SEI.E+1-* - >PSTR "SEI" - .HS FF - >PSTR "78" -SEI.E .HS 00 -SEP .DA SEP.E+1-* - >PSTR "SEP" - .HS FF - >PSTR "E2" -SEP.E .HS 00 -STA .DA STA.E+1-* - >PSTR "STA" - .HS 02 - >PSTR "92a" - .HS 03 - >PSTR "91a" - .HS 04 - >PSTR "93a" - .HS 05 - >PSTR "81a" - .HS 06 - >PSTR "87a" - .HS 07 - >PSTR "97a" - .HS 08 - >PSTR "85a" - .HS 09 - >PSTR "83a" - .HS 0A - >PSTR "95a" - .HS 0B - >PSTR "8Daa" - .HS 0C - >PSTR "9Daa" - .HS 0D - >PSTR "99aa" - .HS 0E - >PSTR "8Faaa" - .HS 0F - >PSTR "9Faaa" -STA.E .HS 00 -STP .DA STP.E+1-* - >PSTR "STP" - .HS FF - >PSTR "DB" -STP.E .HS 00 -STX .DA STX.E+1-* - >PSTR "STX" - .HS 08 - >PSTR "86a" - .HS 13 - >PSTR "96a" - .HS 0B - >PSTR "8Eaa" -STX.E .HS 00 -STY .DA STY.E+1-* - >PSTR "STY" - .HS 08 - >PSTR "84a" - .HS 0A - >PSTR "94a" - .HS 0B - >PSTR "8Caa" -STY.E .HS 00 -STZ .DA STZ.E+1-* - >PSTR "STZ" - .HS 08 - >PSTR "64a" - .HS 0A - >PSTR "74a" - .HS 0B - >PSTR "9Caa" - .HS 0C - >PSTR "9Eaa" -STZ.E .HS 00 -TAX .DA TAX.E+1-* - >PSTR "TAX" - .HS FF - >PSTR "AA" -TAX.E .HS 00 -TAY .DA TAY.E+1-* - >PSTR "TAY" - .HS FF - >PSTR "A8" -TAY.E .HS 00 -TCD .DA TCD.E+1-* - >PSTR "TCD" - .HS FF - >PSTR "5B" -TCD.E .HS 00 -TCS .DA TCS.E+1-* - >PSTR "TCS" - .HS FF - >PSTR "1B" -TCS.E .HS 00 -TDC .DA TDC.E+1-* - >PSTR "TDC" - .HS FF - >PSTR "7B" -TDC.E .HS 00 -TRB .DA TRB.E+1-* - >PSTR "TRB" - .HS 08 - >PSTR "14a" - .HS 0B - >PSTR "1Caa" -TRB.E .HS 00 -TSB .DA TSB.E+1-* - >PSTR "TSB" - .HS 08 - >PSTR "04a" - .HS 0B - >PSTR "0Caa" -TSB.E .HS 00 -TSC .DA TSC.E+1-* - >PSTR "TSC" - .HS FF - >PSTR "3B" -TSC.E .HS 00 -TSX .DA TSX.E+1-* - >PSTR "TSX" - .HS FF - >PSTR "BA" -TSX.E .HS 00 -TXA .DA TXA.E+1-* - >PSTR "TXA" - .HS FF - >PSTR "8A" -TXA.E .HS 00 -TXS .DA TXS.E+1-* - >PSTR "TXS" - .HS FF - >PSTR "9A" -TXS.E .HS 00 -TXY .DA TXY.E+1-* - >PSTR "TXY" - .HS FF - >PSTR "9B" -TXY.E .HS 00 -TYA .DA TYA.E+1-* - >PSTR "TYA" - .HS FF - >PSTR "98" -TYA.E .HS 00 -TYX .DA TYX.E+1-* - >PSTR "TYX" - .HS FF - >PSTR "BB" -TYX.E .HS 00 -WAI .DA WAI.E+1-* - >PSTR "WAI" - .HS FF - >PSTR "CB" -WAI.E .HS 00 -WDM .DA WDM.E+1-* - >PSTR "WDM" - .HS FF - >PSTR "42" -WDM.E .HS 00 -XBA .DA XBA.E+1-* - >PSTR "XBA" - .HS FF - >PSTR "EB" -XBA.E .HS 00 -XCE .DA XCE.E+1-* - >PSTR "XCE" - .HS FF - >PSTR "FB" +ADC .DA ADC.E+1-* + .DA #3,$$"ADC" + .DA #1,#3,$$"69a" + .DA #2,#3,$$"72a" + .DA #3,#3,$$"71a" + .DA #4,#3,$$"73a" + .DA #5,#3,$$"61a" + .DA #6,#3,$$"67a" + .DA #7,#3,$$"77a" + .DA #8,#3,$$"65a" + .DA #9,#3,$$"63a" + .DA #10,#3,$$"75a" + .DA #11,#4,$$"6Daa" + .DA #12,#4,$$"7Daa" + .DA #13,#4,$$"79aa" + .DA #14,#5,$$"6Faaa" + .DA #15,#5,$$"7Faaa" +ADC.E .HS 00 +AND .DA AND.E+1-* + .DA #3,$$"AND" + .DA #1,#3,$$"29a" + .DA #2,#3,$$"32a" + .DA #3,#3,$$"31a" + .DA #4,#3,$$"33a" + .DA #5,#3,$$"21a" + .DA #6,#3,$$"27a" + .DA #7,#3,$$"37a" + .DA #8,#3,$$"25a" + .DA #9,#3,$$"23a" + .DA #10,#3,$$"35a" + .DA #11,#4,$$"2Daa" + .DA #12,#4,$$"3Daa" + .DA #13,#4,$$"39aa" + .DA #14,#5,$$"2Faaa" + .DA #15,#5,$$"3Faaa" +AND.E .HS 00 +ASL .DA ASL.E+1-* + .DA #3,$$"ASL" + .DA #8,#3,$$"06a" + .DA #10,#3,$$"16a" + .DA #11,#4,$$"0Eaa" + .DA #12,#4,$$"1Eaa" + .DA #255,#2,$$"0A" +ASL.E .HS 00 +BCC .DA BCC.E+1-* + .DA #3,$$"BCC" + .DA #11,#3,$$"90r" +BCC.E .HS 00 +BCS .DA BCS.E+1-* + .DA #3,$$"BCS" + .DA #11,#3,$$"B0r" +BCS.E .HS 00 +BEQ .DA BEQ.E+1-* + .DA #3,$$"BEQ" + .DA #11,#3,$$"F0r" +BEQ.E .HS 00 +BIT .DA BIT.E+1-* + .DA #3,$$"BIT" + .DA #1,#3,$$"89a" + .DA #8,#3,$$"24a" + .DA #10,#3,$$"34a" + .DA #11,#4,$$"2Caa" + .DA #12,#4,$$"3Caa" +BIT.E .HS 00 +BMI .DA BMI.E+1-* + .DA #3,$$"BMI" + .DA #11,#3,$$"30r" +BMI.E .HS 00 +BNE .DA BNE.E+1-* + .DA #3,$$"BNE" + .DA #11,#3,$$"D0r" +BNE.E .HS 00 +BPL .DA BPL.E+1-* + .DA #3,$$"BPL" + .DA #11,#3,$$"10r" +BPL.E .HS 00 +BRA .DA BRA.E+1-* + .DA #3,$$"BRA" + .DA #11,#3,$$"80r" +BRA.E .HS 00 +BRK .DA BRK.E+1-* + .DA #3,$$"BRK" + .DA #255,#2,$$"00" +BRK.E .HS 00 +BRL .DA BRL.E+1-* + .DA #3,$$"BRL" + .DA #11,#4,$$"82rr" +BRL.E .HS 00 +BVC .DA BVC.E+1-* + .DA #3,$$"BVC" + .DA #11,#3,$$"50r" +BVC.E .HS 00 +BVS .DA BVS.E+1-* + .DA #3,$$"BVS" + .DA #11,#3,$$"70r" +BVS.E .HS 00 +CLC .DA CLC.E+1-* + .DA #3,$$"CLC" + .DA #255,#2,$$"18" +CLC.E .HS 00 +CLD .DA CLD.E+1-* + .DA #3,$$"CLD" + .DA #255,#2,$$"D8" +CLD.E .HS 00 +CLI .DA CLI.E+1-* + .DA #3,$$"CLI" + .DA #255,#2,$$"58" +CLI.E .HS 00 +CLV .DA CLV.E+1-* + .DA #3,$$"CLV" + .DA #255,#2,$$"B8" +CLV.E .HS 00 +CMP .DA CMP.E+1-* + .DA #3,$$"CMP" + .DA #1,#3,$$"C9a" + .DA #2,#3,$$"D2a" + .DA #3,#3,$$"D1a" + .DA #4,#3,$$"D3a" + .DA #5,#3,$$"C1a" + .DA #6,#3,$$"C7a" + .DA #7,#3,$$"D7a" + .DA #8,#3,$$"C5a" + .DA #9,#3,$$"C3a" + .DA #10,#3,$$"D5a" + .DA #11,#4,$$"CDaa" + .DA #12,#4,$$"DDaa" + .DA #13,#4,$$"D9aa" + .DA #14,#5,$$"CFaaa" + .DA #15,#5,$$"DFaaa" +CMP.E .HS 00 +COP .DA COP.E+1-* + .DA #3,$$"COP" + .DA #1,#3,$$"02a" +COP.E .HS 00 +CPX .DA CPX.E+1-* + .DA #3,$$"CPX" + .DA #1,#3,$$"E0a" + .DA #8,#3,$$"E4a" + .DA #11,#4,$$"ECaa" +CPX.E .HS 00 +CPY .DA CPY.E+1-* + .DA #3,$$"CPY" + .DA #1,#3,$$"C0a" + .DA #8,#3,$$"C4a" + .DA #11,#4,$$"CCaa" +CPY.E .HS 00 +DEC .DA DEC.E+1-* + .DA #3,$$"DEC" + .DA #8,#3,$$"C6a" + .DA #10,#3,$$"D6a" + .DA #11,#4,$$"CEaa" + .DA #12,#4,$$"DEaa" + .DA #255,#2,$$"3A" +DEC.E .HS 00 +DEX .DA DEX.E+1-* + .DA #3,$$"DEX" + .DA #255,#2,$$"CA" +DEX.E .HS 00 +DEY .DA DEY.E+1-* + .DA #3,$$"DEY" + .DA #255,#2,$$"88" +DEY.E .HS 00 +EOR .DA EOR.E+1-* + .DA #3,$$"EOR" + .DA #1,#3,$$"49a" + .DA #2,#3,$$"52a" + .DA #3,#3,$$"51a" + .DA #4,#3,$$"53a" + .DA #5,#3,$$"41a" + .DA #6,#3,$$"47a" + .DA #7,#3,$$"57a" + .DA #8,#3,$$"45a" + .DA #9,#3,$$"43a" + .DA #10,#3,$$"55a" + .DA #11,#4,$$"4Daa" + .DA #12,#4,$$"5Daa" + .DA #13,#4,$$"59aa" + .DA #14,#5,$$"4Faaa" + .DA #15,#5,$$"5Faaa" +EOR.E .HS 00 +INC .DA INC.E+1-* + .DA #3,$$"INC" + .DA #8,#3,$$"E6a" + .DA #10,#3,$$"F6a" + .DA #11,#4,$$"EEaa" + .DA #12,#4,$$"FEaa" + .DA #255,#2,$$"1A" +INC.E .HS 00 +INX .DA INX.E+1-* + .DA #3,$$"INX" + .DA #255,#2,$$"E8" +INX.E .HS 00 +INY .DA INY.E+1-* + .DA #3,$$"INY" + .DA #255,#2,$$"C8" +INY.E .HS 00 +JMP .DA JMP.E+1-* + .DA #3,$$"JMP" + .DA #16,#4,$$"6Caa" + .DA #17,#4,$$"7Caa" + .DA #18,#4,$$"DCaa" + .DA #11,#4,$$"4Caa" + .DA #14,#5,$$"5Caaa" +JMP.E .HS 00 +JSR .DA JSR.E+1-* + .DA #3,$$"JSR" + .DA #17,#4,$$"FCaa" + .DA #11,#4,$$"20aa" + .DA #14,#5,$$"22aaa" +JSR.E .HS 00 +LDA .DA LDA.E+1-* + .DA #3,$$"LDA" + .DA #1,#3,$$"A9a" + .DA #2,#3,$$"B2a" + .DA #3,#3,$$"B1a" + .DA #4,#3,$$"B3a" + .DA #5,#3,$$"A1a" + .DA #6,#3,$$"A7a" + .DA #7,#3,$$"B7a" + .DA #8,#3,$$"A5a" + .DA #9,#3,$$"A3a" + .DA #10,#3,$$"B5a" + .DA #11,#4,$$"ADaa" + .DA #12,#4,$$"BDaa" + .DA #13,#4,$$"B9aa" + .DA #14,#5,$$"AFaaa" + .DA #15,#5,$$"BFaaa" +LDA.E .HS 00 +LDX .DA LDX.E+1-* + .DA #3,$$"LDX" + .DA #1,#3,$$"A2a" + .DA #8,#3,$$"A6a" + .DA #19,#3,$$"B6a" + .DA #11,#4,$$"AEaa" + .DA #13,#4,$$"BEaa" +LDX.E .HS 00 +LDY .DA LDY.E+1-* + .DA #3,$$"LDY" + .DA #1,#3,$$"A0a" + .DA #8,#3,$$"A4a" + .DA #10,#3,$$"B4a" + .DA #11,#4,$$"ACaa" + .DA #12,#4,$$"BCaa" +LDY.E .HS 00 +LSR .DA LSR.E+1-* + .DA #3,$$"LSR" + .DA #8,#3,$$"46a" + .DA #10,#3,$$"56a" + .DA #11,#4,$$"4Eaa" + .DA #12,#4,$$"5Eaa" + .DA #255,#2,$$"4A" +LSR.E .HS 00 +MVN .DA MVN.E+1-* + .DA #3,$$"MVN" + .DA #20,#4,$$"54ab" +MVN.E .HS 00 +MVP .DA MVP.E+1-* + .DA #3,$$"MVP" + .DA #20,#4,$$"44ab" +MVP.E .HS 00 +NOP .DA NOP.E+1-* + .DA #3,$$"NOP" + .DA #255,#2,$$"EA" +NOP.E .HS 00 +ORA .DA ORA.E+1-* + .DA #3,$$"ORA" + .DA #1,#3,$$"09a" + .DA #2,#3,$$"12a" + .DA #3,#3,$$"11a" + .DA #4,#3,$$"13a" + .DA #5,#3,$$"01a" + .DA #6,#3,$$"07a" + .DA #7,#3,$$"17a" + .DA #8,#3,$$"05a" + .DA #9,#3,$$"03a" + .DA #10,#3,$$"15a" + .DA #11,#4,$$"0Daa" + .DA #12,#4,$$"1Daa" + .DA #13,#4,$$"19aa" + .DA #14,#5,$$"0Faaa" + .DA #15,#5,$$"1Faaa" +ORA.E .HS 00 +PEA .DA PEA.E+1-* + .DA #3,$$"PEA" + .DA #11,#4,$$"F4aa" +PEA.E .HS 00 +PEI .DA PEI.E+1-* + .DA #3,$$"PEI" + .DA #2,#3,$$"D4a" +PEI.E .HS 00 +PER .DA PER.E+1-* + .DA #3,$$"PER" + .DA #11,#4,$$"62rr" +PER.E .HS 00 +PHA .DA PHA.E+1-* + .DA #3,$$"PHA" + .DA #255,#2,$$"48" +PHA.E .HS 00 +PHB .DA PHB.E+1-* + .DA #3,$$"PHB" + .DA #255,#2,$$"8B" +PHB.E .HS 00 +PHD .DA PHD.E+1-* + .DA #3,$$"PHD" + .DA #255,#2,$$"0B" +PHD.E .HS 00 +PHK .DA PHK.E+1-* + .DA #3,$$"PHK" + .DA #255,#2,$$"4B" +PHK.E .HS 00 +PHP .DA PHP.E+1-* + .DA #3,$$"PHP" + .DA #255,#2,$$"08" +PHP.E .HS 00 +PHX .DA PHX.E+1-* + .DA #3,$$"PHX" + .DA #255,#2,$$"DA" +PHX.E .HS 00 +PHY .DA PHY.E+1-* + .DA #3,$$"PHY" + .DA #255,#2,$$"5A" +PHY.E .HS 00 +PLA .DA PLA.E+1-* + .DA #3,$$"PLA" + .DA #255,#2,$$"68" +PLA.E .HS 00 +PLB .DA PLB.E+1-* + .DA #3,$$"PLB" + .DA #255,#2,$$"AB" +PLB.E .HS 00 +PLD .DA PLD.E+1-* + .DA #3,$$"PLD" + .DA #255,#2,$$"2B" +PLD.E .HS 00 +PLP .DA PLP.E+1-* + .DA #3,$$"PLP" + .DA #255,#2,$$"28" +PLP.E .HS 00 +PLX .DA PLX.E+1-* + .DA #3,$$"PLX" + .DA #255,#2,$$"FA" +PLX.E .HS 00 +PLY .DA PLY.E+1-* + .DA #3,$$"PLY" + .DA #255,#2,$$"7A" +PLY.E .HS 00 +REP .DA REP.E+1-* + .DA #3,$$"REP" + .DA #1,#3,$$"C2a" +REP.E .HS 00 +ROL .DA ROL.E+1-* + .DA #3,$$"ROL" + .DA #8,#3,$$"26a" + .DA #10,#3,$$"36a" + .DA #11,#4,$$"2Eaa" + .DA #12,#4,$$"3Eaa" + .DA #255,#2,$$"2A" +ROL.E .HS 00 +ROR .DA ROR.E+1-* + .DA #3,$$"ROR" + .DA #8,#3,$$"66a" + .DA #10,#3,$$"76a" + .DA #11,#4,$$"6Eaa" + .DA #12,#4,$$"7Eaa" + .DA #255,#2,$$"6A" +ROR.E .HS 00 +RTI .DA RTI.E+1-* + .DA #3,$$"RTI" + .DA #255,#2,$$"40" +RTI.E .HS 00 +RTL .DA RTL.E+1-* + .DA #3,$$"RTL" + .DA #255,#2,$$"6B" +RTL.E .HS 00 +RTS .DA RTS.E+1-* + .DA #3,$$"RTS" + .DA #255,#2,$$"60" +RTS.E .HS 00 +SBC .DA SBC.E+1-* + .DA #3,$$"SBC" + .DA #1,#3,$$"E9a" + .DA #2,#3,$$"F2a" + .DA #3,#3,$$"F1a" + .DA #4,#3,$$"F3a" + .DA #5,#3,$$"E1a" + .DA #6,#3,$$"E7a" + .DA #7,#3,$$"F7a" + .DA #8,#3,$$"E5a" + .DA #9,#3,$$"E3a" + .DA #10,#3,$$"F5a" + .DA #11,#4,$$"EDaa" + .DA #12,#4,$$"FDaa" + .DA #13,#4,$$"F9aa" + .DA #14,#5,$$"EFaaa" + .DA #15,#5,$$"FFaaa" +SBC.E .HS 00 +SEC .DA SEC.E+1-* + .DA #3,$$"SEC" + .DA #255,#2,$$"38" +SEC.E .HS 00 +SED .DA SED.E+1-* + .DA #3,$$"SED" + .DA #255,#2,$$"F8" +SED.E .HS 00 +SEI .DA SEI.E+1-* + .DA #3,$$"SEI" + .DA #255,#2,$$"78" +SEI.E .HS 00 +SEP .DA SEP.E+1-* + .DA #3,$$"SEP" + .DA #255,#2,$$"E2" +SEP.E .HS 00 +STA .DA STA.E+1-* + .DA #3,$$"STA" + .DA #2,#3,$$"92a" + .DA #3,#3,$$"91a" + .DA #4,#3,$$"93a" + .DA #5,#3,$$"81a" + .DA #6,#3,$$"87a" + .DA #7,#3,$$"97a" + .DA #8,#3,$$"85a" + .DA #9,#3,$$"83a" + .DA #10,#3,$$"95a" + .DA #11,#4,$$"8Daa" + .DA #12,#4,$$"9Daa" + .DA #13,#4,$$"99aa" + .DA #14,#5,$$"8Faaa" + .DA #15,#5,$$"9Faaa" +STA.E .HS 00 +STP .DA STP.E+1-* + .DA #3,$$"STP" + .DA #255,#2,$$"DB" +STP.E .HS 00 +STX .DA STX.E+1-* + .DA #3,$$"STX" + .DA #8,#3,$$"86a" + .DA #19,#3,$$"96a" + .DA #11,#4,$$"8Eaa" +STX.E .HS 00 +STY .DA STY.E+1-* + .DA #3,$$"STY" + .DA #8,#3,$$"84a" + .DA #10,#3,$$"94a" + .DA #11,#4,$$"8Caa" +STY.E .HS 00 +STZ .DA STZ.E+1-* + .DA #3,$$"STZ" + .DA #8,#3,$$"64a" + .DA #10,#3,$$"74a" + .DA #11,#4,$$"9Caa" + .DA #12,#4,$$"9Eaa" +STZ.E .HS 00 +TAX .DA TAX.E+1-* + .DA #3,$$"TAX" + .DA #255,#2,$$"AA" +TAX.E .HS 00 +TAY .DA TAY.E+1-* + .DA #3,$$"TAY" + .DA #255,#2,$$"A8" +TAY.E .HS 00 +TCD .DA TCD.E+1-* + .DA #3,$$"TCD" + .DA #255,#2,$$"5B" +TCD.E .HS 00 +TCS .DA TCS.E+1-* + .DA #3,$$"TCS" + .DA #255,#2,$$"1B" +TCS.E .HS 00 +TDC .DA TDC.E+1-* + .DA #3,$$"TDC" + .DA #255,#2,$$"7B" +TDC.E .HS 00 +TRB .DA TRB.E+1-* + .DA #3,$$"TRB" + .DA #8,#3,$$"14a" + .DA #11,#4,$$"1Caa" +TRB.E .HS 00 +TSB .DA TSB.E+1-* + .DA #3,$$"TSB" + .DA #8,#3,$$"04a" + .DA #11,#4,$$"0Caa" +TSB.E .HS 00 +TSC .DA TSC.E+1-* + .DA #3,$$"TSC" + .DA #255,#2,$$"3B" +TSC.E .HS 00 +TSX .DA TSX.E+1-* + .DA #3,$$"TSX" + .DA #255,#2,$$"BA" +TSX.E .HS 00 +TXA .DA TXA.E+1-* + .DA #3,$$"TXA" + .DA #255,#2,$$"8A" +TXA.E .HS 00 +TXS .DA TXS.E+1-* + .DA #3,$$"TXS" + .DA #255,#2,$$"9A" +TXS.E .HS 00 +TXY .DA TXY.E+1-* + .DA #3,$$"TXY" + .DA #255,#2,$$"9B" +TXY.E .HS 00 +TYA .DA TYA.E+1-* + .DA #3,$$"TYA" + .DA #255,#2,$$"98" +TYA.E .HS 00 +TYX .DA TYX.E+1-* + .DA #3,$$"TYX" + .DA #255,#2,$$"BB" +TYX.E .HS 00 +WAI .DA WAI.E+1-* + .DA #3,$$"WAI" + .DA #255,#2,$$"CB" +WAI.E .HS 00 +WDM .DA WDM.E+1-* + .DA #3,$$"WDM" + .DA #255,#2,$$"42" +WDM.E .HS 00 +XBA .DA XBA.E+1-* + .DA #3,$$"XBA" + .DA #255,#2,$$"EB" +XBA.E .HS 00 +XCE .DA XCE.E+1-* + .DA #3,$$"XCE" + .DA #255,#2,$$"FB" XCE.E .HS 00 .HS 0000 *--------------------------------------- diff --git a/BIN/ASM.T.65816.S.txt b/BIN/ASM.T.65816.S.txt index 218df5f7..c9b8d080 100644 --- a/BIN/ASM.T.65816.S.txt +++ b/BIN/ASM.T.65816.S.txt @@ -4,12 +4,6 @@ AUTO 4,1 .LIST OFF .OR $0 .TF /A2OSX.BUILD/BIN/DEV/ASM.T.65816 -*--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM *--------------------------------------- .DA T.ADDR.MODES .DA T.REGISTERS diff --git a/BIN/ASM.T.65C02.A.txt b/BIN/ASM.T.65C02.A.txt index 86c0dc18..c3846344 100644 --- a/BIN/ASM.T.65C02.A.txt +++ b/BIN/ASM.T.65C02.A.txt @@ -3,23 +3,23 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "#a" - >PSTR "(a)" - >PSTR "(a),Y" - >PSTR "(a,X)" - >PSTR "a" - >PSTR "a,X" - >PSTR "aa" - >PSTR "aa,X" - >PSTR "aa,Y" - >PSTR "(aa)" - >PSTR "(aa,X)" - >PSTR "a,Y" + .DA #2,$$"#a" + .DA #3,$$"(a)" + .DA #5,$$"(a),Y" + .DA #5,$$"(a,X)" + .DA #1,$$"a" + .DA #3,$$"a,X" + .DA #2,$$"aa" + .DA #4,$$"aa,X" + .DA #4,$$"aa,Y" + .DA #4,$$"(aa)" + .DA #6,$$"(aa,X)" + .DA #3,$$"a,Y" .HS 00 *--------------------------------------- T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "X" + .DA #1,$$"Y" + .DA #1,$$"X" .HS 00 *--------------------------------------- MAN diff --git a/BIN/ASM.T.65C02.O.txt b/BIN/ASM.T.65C02.O.txt index cebd400f..83043aa6 100644 --- a/BIN/ASM.T.65C02.O.txt +++ b/BIN/ASM.T.65C02.O.txt @@ -3,563 +3,383 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.OPCODES .EQ * -ADC .DA ADC.E+1-* - >PSTR "ADC" - .HS 01 - >PSTR "69a" - .HS 02 - >PSTR "72a" - .HS 03 - >PSTR "71a" - .HS 04 - >PSTR "61a" - .HS 05 - >PSTR "65a" - .HS 06 - >PSTR "75a" - .HS 07 - >PSTR "6Daa" - .HS 08 - >PSTR "7Daa" - .HS 09 - >PSTR "79aa" -ADC.E .HS 00 -AND .DA AND.E+1-* - >PSTR "AND" - .HS 01 - >PSTR "29a" - .HS 02 - >PSTR "32a" - .HS 03 - >PSTR "31a" - .HS 04 - >PSTR "21a" - .HS 05 - >PSTR "25a" - .HS 06 - >PSTR "35a" - .HS 07 - >PSTR "2Daa" - .HS 08 - >PSTR "3Daa" - .HS 09 - >PSTR "39aa" -AND.E .HS 00 -ASL .DA ASL.E+1-* - >PSTR "ASL" - .HS 05 - >PSTR "06a" - .HS 06 - >PSTR "16a" - .HS 07 - >PSTR "0Eaa" - .HS 08 - >PSTR "1Eaa" - .HS FF - >PSTR "0A" -ASL.E .HS 00 -BCC .DA BCC.E+1-* - >PSTR "BCC" - .HS 07 - >PSTR "90r" -BCC.E .HS 00 -BCS .DA BCS.E+1-* - >PSTR "BCS" - .HS 07 - >PSTR "B0r" -BCS.E .HS 00 -BEQ .DA BEQ.E+1-* - >PSTR "BEQ" - .HS 07 - >PSTR "F0r" -BEQ.E .HS 00 -BIT .DA BIT.E+1-* - >PSTR "BIT" - .HS 01 - >PSTR "89a" - .HS 05 - >PSTR "24a" - .HS 06 - >PSTR "34a" - .HS 07 - >PSTR "2Caa" - .HS 08 - >PSTR "3Caa" -BIT.E .HS 00 -BMI .DA BMI.E+1-* - >PSTR "BMI" - .HS 07 - >PSTR "30r" -BMI.E .HS 00 -BNE .DA BNE.E+1-* - >PSTR "BNE" - .HS 07 - >PSTR "D0r" -BNE.E .HS 00 -BPL .DA BPL.E+1-* - >PSTR "BPL" - .HS 07 - >PSTR "10r" -BPL.E .HS 00 -BRA .DA BRA.E+1-* - >PSTR "BRA" - .HS 07 - >PSTR "80r" -BRA.E .HS 00 -BRK .DA BRK.E+1-* - >PSTR "BRK" - .HS FF - >PSTR "00" -BRK.E .HS 00 -BVC .DA BVC.E+1-* - >PSTR "BVC" - .HS 07 - >PSTR "50r" -BVC.E .HS 00 -BVS .DA BVS.E+1-* - >PSTR "BVS" - .HS 07 - >PSTR "70r" -BVS.E .HS 00 -CLC .DA CLC.E+1-* - >PSTR "CLC" - .HS FF - >PSTR "18" -CLC.E .HS 00 -CLD .DA CLD.E+1-* - >PSTR "CLD" - .HS FF - >PSTR "D8" -CLD.E .HS 00 -CLI .DA CLI.E+1-* - >PSTR "CLI" - .HS FF - >PSTR "58" -CLI.E .HS 00 -CLV .DA CLV.E+1-* - >PSTR "CLV" - .HS FF - >PSTR "B8" -CLV.E .HS 00 -CMP .DA CMP.E+1-* - >PSTR "CMP" - .HS 01 - >PSTR "C9a" - .HS 02 - >PSTR "D2a" - .HS 03 - >PSTR "D1a" - .HS 04 - >PSTR "C1a" - .HS 05 - >PSTR "C5a" - .HS 06 - >PSTR "D5a" - .HS 07 - >PSTR "CDaa" - .HS 08 - >PSTR "DDaa" - .HS 09 - >PSTR "D9aa" -CMP.E .HS 00 -CPX .DA CPX.E+1-* - >PSTR "CPX" - .HS 01 - >PSTR "E0a" - .HS 05 - >PSTR "E4a" - .HS 07 - >PSTR "ECaa" -CPX.E .HS 00 -CPY .DA CPY.E+1-* - >PSTR "CPY" - .HS 01 - >PSTR "C0a" - .HS 05 - >PSTR "C4a" - .HS 07 - >PSTR "CCaa" -CPY.E .HS 00 -DEC .DA DEC.E+1-* - >PSTR "DEC" - .HS 05 - >PSTR "C6a" - .HS 06 - >PSTR "D6a" - .HS 07 - >PSTR "CEaa" - .HS 08 - >PSTR "DEaa" - .HS FF - >PSTR "3A" -DEC.E .HS 00 -DEX .DA DEX.E+1-* - >PSTR "DEX" - .HS FF - >PSTR "CA" -DEX.E .HS 00 -DEY .DA DEY.E+1-* - >PSTR "DEY" - .HS FF - >PSTR "88" -DEY.E .HS 00 -EOR .DA EOR.E+1-* - >PSTR "EOR" - .HS 01 - >PSTR "49a" - .HS 02 - >PSTR "52a" - .HS 03 - >PSTR "51a" - .HS 04 - >PSTR "41a" - .HS 05 - >PSTR "45a" - .HS 06 - >PSTR "55a" - .HS 07 - >PSTR "4Daa" - .HS 08 - >PSTR "5Daa" - .HS 09 - >PSTR "59aa" -EOR.E .HS 00 -INC .DA INC.E+1-* - >PSTR "INC" - .HS 05 - >PSTR "E6a" - .HS 06 - >PSTR "F6a" - .HS 07 - >PSTR "EEaa" - .HS 08 - >PSTR "FEaa" - .HS FF - >PSTR "1A" -INC.E .HS 00 -INX .DA INX.E+1-* - >PSTR "INX" - .HS FF - >PSTR "E8" -INX.E .HS 00 -INY .DA INY.E+1-* - >PSTR "INY" - .HS FF - >PSTR "C8" -INY.E .HS 00 -JMP .DA JMP.E+1-* - >PSTR "JMP" - .HS 0A - >PSTR "6Caa" - .HS 0B - >PSTR "7Caa" - .HS 07 - >PSTR "4Caa" -JMP.E .HS 00 -JSR .DA JSR.E+1-* - >PSTR "JSR" - .HS 07 - >PSTR "20aa" -JSR.E .HS 00 -LDA .DA LDA.E+1-* - >PSTR "LDA" - .HS 01 - >PSTR "A9a" - .HS 02 - >PSTR "B2a" - .HS 03 - >PSTR "B1a" - .HS 04 - >PSTR "A1a" - .HS 05 - >PSTR "A5a" - .HS 06 - >PSTR "B5a" - .HS 07 - >PSTR "ADaa" - .HS 08 - >PSTR "BDaa" - .HS 09 - >PSTR "B9aa" -LDA.E .HS 00 -LDX .DA LDX.E+1-* - >PSTR "LDX" - .HS 01 - >PSTR "A2a" - .HS 05 - >PSTR "A6a" - .HS 0C - >PSTR "B6a" - .HS 07 - >PSTR "AEaa" - .HS 09 - >PSTR "BEaa" -LDX.E .HS 00 -LDY .DA LDY.E+1-* - >PSTR "LDY" - .HS 01 - >PSTR "A0a" - .HS 05 - >PSTR "A4a" - .HS 06 - >PSTR "B4a" - .HS 07 - >PSTR "ACaa" - .HS 08 - >PSTR "BCaa" -LDY.E .HS 00 -LSR .DA LSR.E+1-* - >PSTR "LSR" - .HS 05 - >PSTR "46a" - .HS 06 - >PSTR "56a" - .HS 07 - >PSTR "4Eaa" - .HS 08 - >PSTR "5Eaa" - .HS FF - >PSTR "4A" -LSR.E .HS 00 -NOP .DA NOP.E+1-* - >PSTR "NOP" - .HS FF - >PSTR "EA" -NOP.E .HS 00 -ORA .DA ORA.E+1-* - >PSTR "ORA" - .HS 01 - >PSTR "09a" - .HS 02 - >PSTR "12a" - .HS 03 - >PSTR "11a" - .HS 04 - >PSTR "01a" - .HS 05 - >PSTR "05a" - .HS 06 - >PSTR "15a" - .HS 07 - >PSTR "0Daa" - .HS 08 - >PSTR "1Daa" - .HS 09 - >PSTR "19aa" -ORA.E .HS 00 -PHA .DA PHA.E+1-* - >PSTR "PHA" - .HS FF - >PSTR "48" -PHA.E .HS 00 -PHP .DA PHP.E+1-* - >PSTR "PHP" - .HS FF - >PSTR "08" -PHP.E .HS 00 -PHX .DA PHX.E+1-* - >PSTR "PHX" - .HS FF - >PSTR "DA" -PHX.E .HS 00 -PHY .DA PHY.E+1-* - >PSTR "PHY" - .HS FF - >PSTR "5A" -PHY.E .HS 00 -PLA .DA PLA.E+1-* - >PSTR "PLA" - .HS FF - >PSTR "68" -PLA.E .HS 00 -PLP .DA PLP.E+1-* - >PSTR "PLP" - .HS FF - >PSTR "28" -PLP.E .HS 00 -PLX .DA PLX.E+1-* - >PSTR "PLX" - .HS FF - >PSTR "FA" -PLX.E .HS 00 -PLY .DA PLY.E+1-* - >PSTR "PLY" - .HS FF - >PSTR "7A" -PLY.E .HS 00 -ROL .DA ROL.E+1-* - >PSTR "ROL" - .HS 05 - >PSTR "26a" - .HS 06 - >PSTR "36a" - .HS 07 - >PSTR "2Eaa" - .HS 08 - >PSTR "3Eaa" - .HS FF - >PSTR "2A" -ROL.E .HS 00 -ROR .DA ROR.E+1-* - >PSTR "ROR" - .HS 05 - >PSTR "66a" - .HS 06 - >PSTR "76a" - .HS 07 - >PSTR "6Eaa" - .HS 08 - >PSTR "7Eaa" - .HS FF - >PSTR "6A" -ROR.E .HS 00 -RTI .DA RTI.E+1-* - >PSTR "RTI" - .HS FF - >PSTR "40" -RTI.E .HS 00 -RTS .DA RTS.E+1-* - >PSTR "RTS" - .HS FF - >PSTR "60" -RTS.E .HS 00 -SBC .DA SBC.E+1-* - >PSTR "SBC" - .HS 01 - >PSTR "E9a" - .HS 02 - >PSTR "F2a" - .HS 03 - >PSTR "F1a" - .HS 04 - >PSTR "E1a" - .HS 05 - >PSTR "E5a" - .HS 06 - >PSTR "F5a" - .HS 07 - >PSTR "EDaa" - .HS 08 - >PSTR "FDaa" - .HS 09 - >PSTR "F9aa" -SBC.E .HS 00 -SEC .DA SEC.E+1-* - >PSTR "SEC" - .HS FF - >PSTR "38" -SEC.E .HS 00 -SED .DA SED.E+1-* - >PSTR "SED" - .HS FF - >PSTR "F8" -SED.E .HS 00 -SEI .DA SEI.E+1-* - >PSTR "SEI" - .HS FF - >PSTR "78" -SEI.E .HS 00 -STA .DA STA.E+1-* - >PSTR "STA" - .HS 02 - >PSTR "92a" - .HS 03 - >PSTR "91a" - .HS 04 - >PSTR "81a" - .HS 05 - >PSTR "85a" - .HS 06 - >PSTR "95a" - .HS 07 - >PSTR "8Daa" - .HS 08 - >PSTR "9Daa" - .HS 09 - >PSTR "99aa" -STA.E .HS 00 -STP .DA STP.E+1-* - >PSTR "STP" - .HS FF - >PSTR "DB" -STP.E .HS 00 -STX .DA STX.E+1-* - >PSTR "STX" - .HS 05 - >PSTR "86a" - .HS 0C - >PSTR "96a" - .HS 07 - >PSTR "8Eaa" -STX.E .HS 00 -STY .DA STY.E+1-* - >PSTR "STY" - .HS 05 - >PSTR "84a" - .HS 06 - >PSTR "94a" - .HS 07 - >PSTR "8Caa" -STY.E .HS 00 -STZ .DA STZ.E+1-* - >PSTR "STZ" - .HS 05 - >PSTR "64a" - .HS 06 - >PSTR "74a" - .HS 07 - >PSTR "9Caa" - .HS 08 - >PSTR "9Eaa" -STZ.E .HS 00 -TAX .DA TAX.E+1-* - >PSTR "TAX" - .HS FF - >PSTR "AA" -TAX.E .HS 00 -TAY .DA TAY.E+1-* - >PSTR "TAY" - .HS FF - >PSTR "A8" -TAY.E .HS 00 -TRB .DA TRB.E+1-* - >PSTR "TRB" - .HS 05 - >PSTR "14a" - .HS 07 - >PSTR "1Caa" -TRB.E .HS 00 -TSB .DA TSB.E+1-* - >PSTR "TSB" - .HS 05 - >PSTR "04a" - .HS 07 - >PSTR "0Caa" -TSB.E .HS 00 -TSX .DA TSX.E+1-* - >PSTR "TSX" - .HS FF - >PSTR "BA" -TSX.E .HS 00 -TXA .DA TXA.E+1-* - >PSTR "TXA" - .HS FF - >PSTR "8A" -TXA.E .HS 00 -TXS .DA TXS.E+1-* - >PSTR "TXS" - .HS FF - >PSTR "9A" -TXS.E .HS 00 -TYA .DA TYA.E+1-* - >PSTR "TYA" - .HS FF - >PSTR "98" -TYA.E .HS 00 -WAI .DA WAI.E+1-* - >PSTR "WAI" - .HS FF - >PSTR "CB" +ADC .DA ADC.E+1-* + .DA #3,$$"ADC" + .DA #1,#3,$$"69a" + .DA #2,#3,$$"72a" + .DA #3,#3,$$"71a" + .DA #4,#3,$$"61a" + .DA #5,#3,$$"65a" + .DA #6,#3,$$"75a" + .DA #7,#4,$$"6Daa" + .DA #8,#4,$$"7Daa" + .DA #9,#4,$$"79aa" +ADC.E .HS 00 +AND .DA AND.E+1-* + .DA #3,$$"AND" + .DA #1,#3,$$"29a" + .DA #2,#3,$$"32a" + .DA #3,#3,$$"31a" + .DA #4,#3,$$"21a" + .DA #5,#3,$$"25a" + .DA #6,#3,$$"35a" + .DA #7,#4,$$"2Daa" + .DA #8,#4,$$"3Daa" + .DA #9,#4,$$"39aa" +AND.E .HS 00 +ASL .DA ASL.E+1-* + .DA #3,$$"ASL" + .DA #5,#3,$$"06a" + .DA #6,#3,$$"16a" + .DA #7,#4,$$"0Eaa" + .DA #8,#4,$$"1Eaa" + .DA #255,#2,$$"0A" +ASL.E .HS 00 +BCC .DA BCC.E+1-* + .DA #3,$$"BCC" + .DA #7,#3,$$"90r" +BCC.E .HS 00 +BCS .DA BCS.E+1-* + .DA #3,$$"BCS" + .DA #7,#3,$$"B0r" +BCS.E .HS 00 +BEQ .DA BEQ.E+1-* + .DA #3,$$"BEQ" + .DA #7,#3,$$"F0r" +BEQ.E .HS 00 +BIT .DA BIT.E+1-* + .DA #3,$$"BIT" + .DA #1,#3,$$"89a" + .DA #5,#3,$$"24a" + .DA #6,#3,$$"34a" + .DA #7,#4,$$"2Caa" + .DA #8,#4,$$"3Caa" +BIT.E .HS 00 +BMI .DA BMI.E+1-* + .DA #3,$$"BMI" + .DA #7,#3,$$"30r" +BMI.E .HS 00 +BNE .DA BNE.E+1-* + .DA #3,$$"BNE" + .DA #7,#3,$$"D0r" +BNE.E .HS 00 +BPL .DA BPL.E+1-* + .DA #3,$$"BPL" + .DA #7,#3,$$"10r" +BPL.E .HS 00 +BRA .DA BRA.E+1-* + .DA #3,$$"BRA" + .DA #7,#3,$$"80r" +BRA.E .HS 00 +BRK .DA BRK.E+1-* + .DA #3,$$"BRK" + .DA #255,#2,$$"00" +BRK.E .HS 00 +BVC .DA BVC.E+1-* + .DA #3,$$"BVC" + .DA #7,#3,$$"50r" +BVC.E .HS 00 +BVS .DA BVS.E+1-* + .DA #3,$$"BVS" + .DA #7,#3,$$"70r" +BVS.E .HS 00 +CLC .DA CLC.E+1-* + .DA #3,$$"CLC" + .DA #255,#2,$$"18" +CLC.E .HS 00 +CLD .DA CLD.E+1-* + .DA #3,$$"CLD" + .DA #255,#2,$$"D8" +CLD.E .HS 00 +CLI .DA CLI.E+1-* + .DA #3,$$"CLI" + .DA #255,#2,$$"58" +CLI.E .HS 00 +CLV .DA CLV.E+1-* + .DA #3,$$"CLV" + .DA #255,#2,$$"B8" +CLV.E .HS 00 +CMP .DA CMP.E+1-* + .DA #3,$$"CMP" + .DA #1,#3,$$"C9a" + .DA #2,#3,$$"D2a" + .DA #3,#3,$$"D1a" + .DA #4,#3,$$"C1a" + .DA #5,#3,$$"C5a" + .DA #6,#3,$$"D5a" + .DA #7,#4,$$"CDaa" + .DA #8,#4,$$"DDaa" + .DA #9,#4,$$"D9aa" +CMP.E .HS 00 +CPX .DA CPX.E+1-* + .DA #3,$$"CPX" + .DA #1,#3,$$"E0a" + .DA #5,#3,$$"E4a" + .DA #7,#4,$$"ECaa" +CPX.E .HS 00 +CPY .DA CPY.E+1-* + .DA #3,$$"CPY" + .DA #1,#3,$$"C0a" + .DA #5,#3,$$"C4a" + .DA #7,#4,$$"CCaa" +CPY.E .HS 00 +DEC .DA DEC.E+1-* + .DA #3,$$"DEC" + .DA #5,#3,$$"C6a" + .DA #6,#3,$$"D6a" + .DA #7,#4,$$"CEaa" + .DA #8,#4,$$"DEaa" + .DA #255,#2,$$"3A" +DEC.E .HS 00 +DEX .DA DEX.E+1-* + .DA #3,$$"DEX" + .DA #255,#2,$$"CA" +DEX.E .HS 00 +DEY .DA DEY.E+1-* + .DA #3,$$"DEY" + .DA #255,#2,$$"88" +DEY.E .HS 00 +EOR .DA EOR.E+1-* + .DA #3,$$"EOR" + .DA #1,#3,$$"49a" + .DA #2,#3,$$"52a" + .DA #3,#3,$$"51a" + .DA #4,#3,$$"41a" + .DA #5,#3,$$"45a" + .DA #6,#3,$$"55a" + .DA #7,#4,$$"4Daa" + .DA #8,#4,$$"5Daa" + .DA #9,#4,$$"59aa" +EOR.E .HS 00 +INC .DA INC.E+1-* + .DA #3,$$"INC" + .DA #5,#3,$$"E6a" + .DA #6,#3,$$"F6a" + .DA #7,#4,$$"EEaa" + .DA #8,#4,$$"FEaa" + .DA #255,#2,$$"1A" +INC.E .HS 00 +INX .DA INX.E+1-* + .DA #3,$$"INX" + .DA #255,#2,$$"E8" +INX.E .HS 00 +INY .DA INY.E+1-* + .DA #3,$$"INY" + .DA #255,#2,$$"C8" +INY.E .HS 00 +JMP .DA JMP.E+1-* + .DA #3,$$"JMP" + .DA #10,#4,$$"6Caa" + .DA #11,#4,$$"7Caa" + .DA #7,#4,$$"4Caa" +JMP.E .HS 00 +JSR .DA JSR.E+1-* + .DA #3,$$"JSR" + .DA #7,#4,$$"20aa" +JSR.E .HS 00 +LDA .DA LDA.E+1-* + .DA #3,$$"LDA" + .DA #1,#3,$$"A9a" + .DA #2,#3,$$"B2a" + .DA #3,#3,$$"B1a" + .DA #4,#3,$$"A1a" + .DA #5,#3,$$"A5a" + .DA #6,#3,$$"B5a" + .DA #7,#4,$$"ADaa" + .DA #8,#4,$$"BDaa" + .DA #9,#4,$$"B9aa" +LDA.E .HS 00 +LDX .DA LDX.E+1-* + .DA #3,$$"LDX" + .DA #1,#3,$$"A2a" + .DA #5,#3,$$"A6a" + .DA #12,#3,$$"B6a" + .DA #7,#4,$$"AEaa" + .DA #9,#4,$$"BEaa" +LDX.E .HS 00 +LDY .DA LDY.E+1-* + .DA #3,$$"LDY" + .DA #1,#3,$$"A0a" + .DA #5,#3,$$"A4a" + .DA #6,#3,$$"B4a" + .DA #7,#4,$$"ACaa" + .DA #8,#4,$$"BCaa" +LDY.E .HS 00 +LSR .DA LSR.E+1-* + .DA #3,$$"LSR" + .DA #5,#3,$$"46a" + .DA #6,#3,$$"56a" + .DA #7,#4,$$"4Eaa" + .DA #8,#4,$$"5Eaa" + .DA #255,#2,$$"4A" +LSR.E .HS 00 +NOP .DA NOP.E+1-* + .DA #3,$$"NOP" + .DA #255,#2,$$"EA" +NOP.E .HS 00 +ORA .DA ORA.E+1-* + .DA #3,$$"ORA" + .DA #1,#3,$$"09a" + .DA #2,#3,$$"12a" + .DA #3,#3,$$"11a" + .DA #4,#3,$$"01a" + .DA #5,#3,$$"05a" + .DA #6,#3,$$"15a" + .DA #7,#4,$$"0Daa" + .DA #8,#4,$$"1Daa" + .DA #9,#4,$$"19aa" +ORA.E .HS 00 +PHA .DA PHA.E+1-* + .DA #3,$$"PHA" + .DA #255,#2,$$"48" +PHA.E .HS 00 +PHP .DA PHP.E+1-* + .DA #3,$$"PHP" + .DA #255,#2,$$"08" +PHP.E .HS 00 +PHX .DA PHX.E+1-* + .DA #3,$$"PHX" + .DA #255,#2,$$"DA" +PHX.E .HS 00 +PHY .DA PHY.E+1-* + .DA #3,$$"PHY" + .DA #255,#2,$$"5A" +PHY.E .HS 00 +PLA .DA PLA.E+1-* + .DA #3,$$"PLA" + .DA #255,#2,$$"68" +PLA.E .HS 00 +PLP .DA PLP.E+1-* + .DA #3,$$"PLP" + .DA #255,#2,$$"28" +PLP.E .HS 00 +PLX .DA PLX.E+1-* + .DA #3,$$"PLX" + .DA #255,#2,$$"FA" +PLX.E .HS 00 +PLY .DA PLY.E+1-* + .DA #3,$$"PLY" + .DA #255,#2,$$"7A" +PLY.E .HS 00 +ROL .DA ROL.E+1-* + .DA #3,$$"ROL" + .DA #5,#3,$$"26a" + .DA #6,#3,$$"36a" + .DA #7,#4,$$"2Eaa" + .DA #8,#4,$$"3Eaa" + .DA #255,#2,$$"2A" +ROL.E .HS 00 +ROR .DA ROR.E+1-* + .DA #3,$$"ROR" + .DA #5,#3,$$"66a" + .DA #6,#3,$$"76a" + .DA #7,#4,$$"6Eaa" + .DA #8,#4,$$"7Eaa" + .DA #255,#2,$$"6A" +ROR.E .HS 00 +RTI .DA RTI.E+1-* + .DA #3,$$"RTI" + .DA #255,#2,$$"40" +RTI.E .HS 00 +RTS .DA RTS.E+1-* + .DA #3,$$"RTS" + .DA #255,#2,$$"60" +RTS.E .HS 00 +SBC .DA SBC.E+1-* + .DA #3,$$"SBC" + .DA #1,#3,$$"E9a" + .DA #2,#3,$$"F2a" + .DA #3,#3,$$"F1a" + .DA #4,#3,$$"E1a" + .DA #5,#3,$$"E5a" + .DA #6,#3,$$"F5a" + .DA #7,#4,$$"EDaa" + .DA #8,#4,$$"FDaa" + .DA #9,#4,$$"F9aa" +SBC.E .HS 00 +SEC .DA SEC.E+1-* + .DA #3,$$"SEC" + .DA #255,#2,$$"38" +SEC.E .HS 00 +SED .DA SED.E+1-* + .DA #3,$$"SED" + .DA #255,#2,$$"F8" +SED.E .HS 00 +SEI .DA SEI.E+1-* + .DA #3,$$"SEI" + .DA #255,#2,$$"78" +SEI.E .HS 00 +STA .DA STA.E+1-* + .DA #3,$$"STA" + .DA #2,#3,$$"92a" + .DA #3,#3,$$"91a" + .DA #4,#3,$$"81a" + .DA #5,#3,$$"85a" + .DA #6,#3,$$"95a" + .DA #7,#4,$$"8Daa" + .DA #8,#4,$$"9Daa" + .DA #9,#4,$$"99aa" +STA.E .HS 00 +STP .DA STP.E+1-* + .DA #3,$$"STP" + .DA #255,#2,$$"DB" +STP.E .HS 00 +STX .DA STX.E+1-* + .DA #3,$$"STX" + .DA #5,#3,$$"86a" + .DA #12,#3,$$"96a" + .DA #7,#4,$$"8Eaa" +STX.E .HS 00 +STY .DA STY.E+1-* + .DA #3,$$"STY" + .DA #5,#3,$$"84a" + .DA #6,#3,$$"94a" + .DA #7,#4,$$"8Caa" +STY.E .HS 00 +STZ .DA STZ.E+1-* + .DA #3,$$"STZ" + .DA #5,#3,$$"64a" + .DA #6,#3,$$"74a" + .DA #7,#4,$$"9Caa" + .DA #8,#4,$$"9Eaa" +STZ.E .HS 00 +TAX .DA TAX.E+1-* + .DA #3,$$"TAX" + .DA #255,#2,$$"AA" +TAX.E .HS 00 +TAY .DA TAY.E+1-* + .DA #3,$$"TAY" + .DA #255,#2,$$"A8" +TAY.E .HS 00 +TRB .DA TRB.E+1-* + .DA #3,$$"TRB" + .DA #5,#3,$$"14a" + .DA #7,#4,$$"1Caa" +TRB.E .HS 00 +TSB .DA TSB.E+1-* + .DA #3,$$"TSB" + .DA #5,#3,$$"04a" + .DA #7,#4,$$"0Caa" +TSB.E .HS 00 +TSX .DA TSX.E+1-* + .DA #3,$$"TSX" + .DA #255,#2,$$"BA" +TSX.E .HS 00 +TXA .DA TXA.E+1-* + .DA #3,$$"TXA" + .DA #255,#2,$$"8A" +TXA.E .HS 00 +TXS .DA TXS.E+1-* + .DA #3,$$"TXS" + .DA #255,#2,$$"9A" +TXS.E .HS 00 +TYA .DA TYA.E+1-* + .DA #3,$$"TYA" + .DA #255,#2,$$"98" +TYA.E .HS 00 +WAI .DA WAI.E+1-* + .DA #3,$$"WAI" + .DA #255,#2,$$"CB" WAI.E .HS 00 .HS 0000 *--------------------------------------- diff --git a/BIN/ASM.T.65C02.S.txt b/BIN/ASM.T.65C02.S.txt index 5d9fc267..2f61a681 100644 --- a/BIN/ASM.T.65C02.S.txt +++ b/BIN/ASM.T.65C02.S.txt @@ -4,12 +4,6 @@ AUTO 4,1 .LIST OFF .OR $0 .TF /A2OSX.BUILD/BIN/DEV/ASM.T.65C02 -*--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM *--------------------------------------- .DA T.ADDR.MODES .DA T.REGISTERS diff --git a/BIN/ASM.T.65R02.A.txt b/BIN/ASM.T.65R02.A.txt index 3e4f8934..6213433d 100644 --- a/BIN/ASM.T.65R02.A.txt +++ b/BIN/ASM.T.65R02.A.txt @@ -3,24 +3,24 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "#a" - >PSTR "(a)" - >PSTR "(a),Y" - >PSTR "(a,X)" - >PSTR "a" - >PSTR "a,X" - >PSTR "aa" - >PSTR "aa,X" - >PSTR "aa,Y" - >PSTR "a,bb" - >PSTR "(aa)" - >PSTR "(aa,x)" - >PSTR "a,Y" + .DA #2,$$"#a" + .DA #3,$$"(a)" + .DA #5,$$"(a),Y" + .DA #5,$$"(a,X)" + .DA #1,$$"a" + .DA #3,$$"a,X" + .DA #2,$$"aa" + .DA #4,$$"aa,X" + .DA #4,$$"aa,Y" + .DA #4,$$"a,bb" + .DA #4,$$"(aa)" + .DA #6,$$"(aa,x)" + .DA #3,$$"a,Y" .HS 00 *--------------------------------------- T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "X" + .DA #1,$$"Y" + .DA #1,$$"X" .HS 00 *--------------------------------------- MAN diff --git a/BIN/ASM.T.65R02.O.txt b/BIN/ASM.T.65R02.O.txt index ec390c64..81e6cdbb 100644 --- a/BIN/ASM.T.65R02.O.txt +++ b/BIN/ASM.T.65R02.O.txt @@ -3,713 +3,503 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.OPCODES .EQ * -ADC .DA ADC.E+1-* - >PSTR "ADC" - .HS 01 - >PSTR "69a" - .HS 02 - >PSTR "72a" - .HS 03 - >PSTR "71a" - .HS 04 - >PSTR "61a" - .HS 05 - >PSTR "65a" - .HS 06 - >PSTR "75a" - .HS 07 - >PSTR "6Daa" - .HS 08 - >PSTR "7Daa" - .HS 09 - >PSTR "79aa" -ADC.E .HS 00 -AND .DA AND.E+1-* - >PSTR "AND" - .HS 01 - >PSTR "29a" - .HS 02 - >PSTR "32a" - .HS 03 - >PSTR "31a" - .HS 04 - >PSTR "21a" - .HS 05 - >PSTR "25a" - .HS 06 - >PSTR "35a" - .HS 07 - >PSTR "2Daa" - .HS 08 - >PSTR "3Daa" - .HS 09 - >PSTR "39aa" -AND.E .HS 00 -ASL .DA ASL.E+1-* - >PSTR "ASL" - .HS 05 - >PSTR "06a" - .HS 06 - >PSTR "16a" - .HS 07 - >PSTR "0Eaa" - .HS 08 - >PSTR "1Eaa" - .HS FF - >PSTR "0A" -ASL.E .HS 00 -BBR0 .DA BBR0.E+1-* - >PSTR "BBR0" - .HS 0A - >PSTR "0Far" -BBR0.E .HS 00 -BBR1 .DA BBR1.E+1-* - >PSTR "BBR1" - .HS 0A - >PSTR "1Far" -BBR1.E .HS 00 -BBR2 .DA BBR2.E+1-* - >PSTR "BBR2" - .HS 0A - >PSTR "2Far" -BBR2.E .HS 00 -BBR3 .DA BBR3.E+1-* - >PSTR "BBR3" - .HS 0A - >PSTR "3Far" -BBR3.E .HS 00 -BBR4 .DA BBR4.E+1-* - >PSTR "BBR4" - .HS 0A - >PSTR "4Far" -BBR4.E .HS 00 -BBR5 .DA BBR5.E+1-* - >PSTR "BBR5" - .HS 0A - >PSTR "5Far" -BBR5.E .HS 00 -BBR6 .DA BBR6.E+1-* - >PSTR "BBR6" - .HS 0A - >PSTR "6Far" -BBR6.E .HS 00 -BBR7 .DA BBR7.E+1-* - >PSTR "BBR7" - .HS 0A - >PSTR "7Far" -BBR7.E .HS 00 -BBS0 .DA BBS0.E+1-* - >PSTR "BBS0" - .HS 0A - >PSTR "8Far" -BBS0.E .HS 00 -BBS1 .DA BBS1.E+1-* - >PSTR "BBS1" - .HS 0A - >PSTR "9Far" -BBS1.E .HS 00 -BBS2 .DA BBS2.E+1-* - >PSTR "BBS2" - .HS 0A - >PSTR "AFar" -BBS2.E .HS 00 -BBS3 .DA BBS3.E+1-* - >PSTR "BBS3" - .HS 0A - >PSTR "BFar" -BBS3.E .HS 00 -BBS4 .DA BBS4.E+1-* - >PSTR "BBS4" - .HS 0A - >PSTR "CFar" -BBS4.E .HS 00 -BBS5 .DA BBS5.E+1-* - >PSTR "BBS5" - .HS 0A - >PSTR "DFar" -BBS5.E .HS 00 -BBS6 .DA BBS6.E+1-* - >PSTR "BBS6" - .HS 0A - >PSTR "EFar" -BBS6.E .HS 00 -BBS7 .DA BBS7.E+1-* - >PSTR "BBS7" - .HS 0A - >PSTR "FFar" -BBS7.E .HS 00 -BCC .DA BCC.E+1-* - >PSTR "BCC" - .HS 07 - >PSTR "90r" -BCC.E .HS 00 -BCS .DA BCS.E+1-* - >PSTR "BCS" - .HS 07 - >PSTR "B0r" -BCS.E .HS 00 -BEQ .DA BEQ.E+1-* - >PSTR "BEQ" - .HS 07 - >PSTR "F0r" -BEQ.E .HS 00 -BIT .DA BIT.E+1-* - >PSTR "BIT" - .HS 01 - >PSTR "89a" - .HS 05 - >PSTR "24a" - .HS 06 - >PSTR "34a" - .HS 07 - >PSTR "2Caa" - .HS 08 - >PSTR "3Caa" -BIT.E .HS 00 -BMI .DA BMI.E+1-* - >PSTR "BMI" - .HS 07 - >PSTR "30r" -BMI.E .HS 00 -BNE .DA BNE.E+1-* - >PSTR "BNE" - .HS 07 - >PSTR "D0r" -BNE.E .HS 00 -BPL .DA BPL.E+1-* - >PSTR "BPL" - .HS 07 - >PSTR "10r" -BPL.E .HS 00 -BRA .DA BRA.E+1-* - >PSTR "BRA" - .HS 07 - >PSTR "80r" -BRA.E .HS 00 -BRK .DA BRK.E+1-* - >PSTR "BRK" - .HS FF - >PSTR "00" -BRK.E .HS 00 -BVC .DA BVC.E+1-* - >PSTR "BVC" - .HS 07 - >PSTR "50r" -BVC.E .HS 00 -BVS .DA BVS.E+1-* - >PSTR "BVS" - .HS 07 - >PSTR "70r" -BVS.E .HS 00 -CLC .DA CLC.E+1-* - >PSTR "CLC" - .HS FF - >PSTR "18" -CLC.E .HS 00 -CLD .DA CLD.E+1-* - >PSTR "CLD" - .HS FF - >PSTR "D8" -CLD.E .HS 00 -CLI .DA CLI.E+1-* - >PSTR "CLI" - .HS FF - >PSTR "58" -CLI.E .HS 00 -CLV .DA CLV.E+1-* - >PSTR "CLV" - .HS FF - >PSTR "B8" -CLV.E .HS 00 -CMP .DA CMP.E+1-* - >PSTR "CMP" - .HS 01 - >PSTR "C9a" - .HS 02 - >PSTR "D2a" - .HS 03 - >PSTR "D1a" - .HS 04 - >PSTR "C1a" - .HS 05 - >PSTR "C5a" - .HS 06 - >PSTR "D5a" - .HS 07 - >PSTR "CDaa" - .HS 08 - >PSTR "DDaa" - .HS 09 - >PSTR "D9aa" -CMP.E .HS 00 -CPX .DA CPX.E+1-* - >PSTR "CPX" - .HS 01 - >PSTR "E0a" - .HS 05 - >PSTR "E4a" - .HS 07 - >PSTR "Ecaa" -CPX.E .HS 00 -CPY .DA CPY.E+1-* - >PSTR "CPY" - .HS 01 - >PSTR "C0a" - .HS 05 - >PSTR "C4a" - .HS 07 - >PSTR "Ccaa" -CPY.E .HS 00 -DEC .DA DEC.E+1-* - >PSTR "DEC" - .HS 05 - >PSTR "C6a" - .HS 06 - >PSTR "D6a" - .HS 07 - >PSTR "Ceaa" - .HS 08 - >PSTR "Deaa" - .HS FF - >PSTR "3A" -DEC.E .HS 00 -DEX .DA DEX.E+1-* - >PSTR "DEX" - .HS FF - >PSTR "CA" -DEX.E .HS 00 -DEY .DA DEY.E+1-* - >PSTR "DEY" - .HS FF - >PSTR "88" -DEY.E .HS 00 -EOR .DA EOR.E+1-* - >PSTR "EOR" - .HS 01 - >PSTR "49a" - .HS 02 - >PSTR "52a" - .HS 03 - >PSTR "51a" - .HS 04 - >PSTR "41a" - .HS 05 - >PSTR "45a" - .HS 06 - >PSTR "55a" - .HS 07 - >PSTR "4Daa" - .HS 08 - >PSTR "5Daa" - .HS 09 - >PSTR "59aa" -EOR.E .HS 00 -INC .DA INC.E+1-* - >PSTR "INC" - .HS 05 - >PSTR "E6a" - .HS 06 - >PSTR "F6a" - .HS 07 - >PSTR "Eeaa" - .HS 08 - >PSTR "Feaa" - .HS FF - >PSTR "1A" -INC.E .HS 00 -INX .DA INX.E+1-* - >PSTR "INX" - .HS FF - >PSTR "E8" -INX.E .HS 00 -INY .DA INY.E+1-* - >PSTR "INY" - .HS FF - >PSTR "C8" -INY.E .HS 00 -JMP .DA JMP.E+1-* - >PSTR "JMP" - .HS 0B - >PSTR "6Caa" - .HS 0C - >PSTR "7Caa" - .HS 07 - >PSTR "4Caa" -JMP.E .HS 00 -JSR .DA JSR.E+1-* - >PSTR "JSR" - .HS 07 - >PSTR "20aa" -JSR.E .HS 00 -LDA .DA LDA.E+1-* - >PSTR "LDA" - .HS 01 - >PSTR "A9a" - .HS 02 - >PSTR "B2a" - .HS 03 - >PSTR "B1a" - .HS 04 - >PSTR "A1a" - .HS 05 - >PSTR "A5a" - .HS 06 - >PSTR "B5a" - .HS 07 - >PSTR "Adaa" - .HS 08 - >PSTR "Bdaa" - .HS 09 - >PSTR "B9aa" -LDA.E .HS 00 -LDX .DA LDX.E+1-* - >PSTR "LDX" - .HS 01 - >PSTR "A2a" - .HS 05 - >PSTR "A6a" - .HS 0D - >PSTR "B6a" - .HS 07 - >PSTR "Aeaa" - .HS 09 - >PSTR "Beaa" -LDX.E .HS 00 -LDY .DA LDY.E+1-* - >PSTR "LDY" - .HS 01 - >PSTR "A0a" - .HS 05 - >PSTR "A4a" - .HS 06 - >PSTR "B4a" - .HS 07 - >PSTR "Acaa" - .HS 08 - >PSTR "Bcaa" -LDY.E .HS 00 -LSR .DA LSR.E+1-* - >PSTR "LSR" - .HS 05 - >PSTR "46a" - .HS 06 - >PSTR "56a" - .HS 07 - >PSTR "4Eaa" - .HS 08 - >PSTR "5Eaa" - .HS FF - >PSTR "4A" -LSR.E .HS 00 -NOP .DA NOP.E+1-* - >PSTR "NOP" - .HS FF - >PSTR "EA" -NOP.E .HS 00 -ORA .DA ORA.E+1-* - >PSTR "ORA" - .HS 01 - >PSTR "09a" - .HS 02 - >PSTR "12a" - .HS 03 - >PSTR "11a" - .HS 04 - >PSTR "01a" - .HS 05 - >PSTR "05a" - .HS 06 - >PSTR "15a" - .HS 07 - >PSTR "0Daa" - .HS 08 - >PSTR "1Daa" - .HS 09 - >PSTR "19aa" -ORA.E .HS 00 -PHA .DA PHA.E+1-* - >PSTR "PHA" - .HS FF - >PSTR "48" -PHA.E .HS 00 -PHP .DA PHP.E+1-* - >PSTR "PHP" - .HS FF - >PSTR "08" -PHP.E .HS 00 -PHX .DA PHX.E+1-* - >PSTR "PHX" - .HS FF - >PSTR "DA" -PHX.E .HS 00 -PHY .DA PHY.E+1-* - >PSTR "PHY" - .HS FF - >PSTR "5A" -PHY.E .HS 00 -PLA .DA PLA.E+1-* - >PSTR "PLA" - .HS FF - >PSTR "68" -PLA.E .HS 00 -PLP .DA PLP.E+1-* - >PSTR "PLP" - .HS FF - >PSTR "28" -PLP.E .HS 00 -PLX .DA PLX.E+1-* - >PSTR "PLX" - .HS FF - >PSTR "FA" -PLX.E .HS 00 -PLY .DA PLY.E+1-* - >PSTR "PLY" - .HS FF - >PSTR "7A" -PLY.E .HS 00 -RMB0 .DA RMB0.E+1-* - >PSTR "RMB0" - .HS 05 - >PSTR "07a" -RMB0.E .HS 00 -RMB1 .DA RMB1.E+1-* - >PSTR "RMB1" - .HS 05 - >PSTR "17a" -RMB1.E .HS 00 -RMB2 .DA RMB2.E+1-* - >PSTR "RMB2" - .HS 05 - >PSTR "27a" -RMB2.E .HS 00 -RMB3 .DA RMB3.E+1-* - >PSTR "RMB3" - .HS 05 - >PSTR "37a" -RMB3.E .HS 00 -RMB4 .DA RMB4.E+1-* - >PSTR "RMB4" - .HS 05 - >PSTR "47a" -RMB4.E .HS 00 -RMB5 .DA RMB5.E+1-* - >PSTR "RMB5" - .HS 05 - >PSTR "57a" -RMB5.E .HS 00 -RMB6 .DA RMB6.E+1-* - >PSTR "RMB6" - .HS 05 - >PSTR "67a" -RMB6.E .HS 00 -RMB7 .DA RMB7.E+1-* - >PSTR "RMB7" - .HS 05 - >PSTR "77a" -RMB7.E .HS 00 -ROL .DA ROL.E+1-* - >PSTR "ROL" - .HS 05 - >PSTR "26a" - .HS 06 - >PSTR "36a" - .HS 07 - >PSTR "2Eaa" - .HS 08 - >PSTR "3Eaa" - .HS FF - >PSTR "2A" -ROL.E .HS 00 -ROR .DA ROR.E+1-* - >PSTR "ROR" - .HS 05 - >PSTR "66a" - .HS 06 - >PSTR "76a" - .HS 07 - >PSTR "6Eaa" - .HS 08 - >PSTR "7Eaa" - .HS FF - >PSTR "6A" -ROR.E .HS 00 -RTI .DA RTI.E+1-* - >PSTR "RTI" - .HS FF - >PSTR "40" -RTI.E .HS 00 -RTS .DA RTS.E+1-* - >PSTR "RTS" - .HS FF - >PSTR "60" -RTS.E .HS 00 -SBC .DA SBC.E+1-* - >PSTR "SBC" - .HS 01 - >PSTR "E9a" - .HS 02 - >PSTR "F2a" - .HS 03 - >PSTR "F1a" - .HS 04 - >PSTR "E1a" - .HS 05 - >PSTR "E5a" - .HS 06 - >PSTR "F5a" - .HS 07 - >PSTR "Edaa" - .HS 08 - >PSTR "Fdaa" - .HS 09 - >PSTR "F9aa" -SBC.E .HS 00 -SEC .DA SEC.E+1-* - >PSTR "SEC" - .HS FF - >PSTR "38" -SEC.E .HS 00 -SED .DA SED.E+1-* - >PSTR "SED" - .HS FF - >PSTR "F8" -SED.E .HS 00 -SEI .DA SEI.E+1-* - >PSTR "SEI" - .HS FF - >PSTR "78" -SEI.E .HS 00 -SMB0 .DA SMB0.E+1-* - >PSTR "SMB0" - .HS 05 - >PSTR "87a" -SMB0.E .HS 00 -SMB1 .DA SMB1.E+1-* - >PSTR "SMB1" - .HS 05 - >PSTR "97a" -SMB1.E .HS 00 -SMB2 .DA SMB2.E+1-* - >PSTR "SMB2" - .HS 05 - >PSTR "A7a" -SMB2.E .HS 00 -SMB3 .DA SMB3.E+1-* - >PSTR "SMB3" - .HS 05 - >PSTR "B7a" -SMB3.E .HS 00 -SMB4 .DA SMB4.E+1-* - >PSTR "SMB4" - .HS 05 - >PSTR "C7a" -SMB4.E .HS 00 -SMB5 .DA SMB5.E+1-* - >PSTR "SMB5" - .HS 05 - >PSTR "D7a" -SMB5.E .HS 00 -SMB6 .DA SMB6.E+1-* - >PSTR "SMB6" - .HS 05 - >PSTR "E7a" -SMB6.E .HS 00 -SMB7 .DA SMB7.E+1-* - >PSTR "SMB7" - .HS 05 - >PSTR "F7a" -SMB7.E .HS 00 -STA .DA STA.E+1-* - >PSTR "STA" - .HS 02 - >PSTR "92a" - .HS 03 - >PSTR "91a" - .HS 04 - >PSTR "81a" - .HS 05 - >PSTR "85a" - .HS 06 - >PSTR "95a" - .HS 07 - >PSTR "8Daa" - .HS 08 - >PSTR "9Daa" - .HS 09 - >PSTR "99aa" -STA.E .HS 00 -STX .DA STX.E+1-* - >PSTR "STX" - .HS 05 - >PSTR "86a" - .HS 0D - >PSTR "96a" - .HS 07 - >PSTR "8Eaa" -STX.E .HS 00 -STY .DA STY.E+1-* - >PSTR "STY" - .HS 05 - >PSTR "84a" - .HS 06 - >PSTR "94a" - .HS 07 - >PSTR "8Caa" -STY.E .HS 00 -STZ .DA STZ.E+1-* - >PSTR "STZ" - .HS 05 - >PSTR "64a" - .HS 06 - >PSTR "74a" - .HS 07 - >PSTR "9Caa" - .HS 08 - >PSTR "9Eaa" -STZ.E .HS 00 -TAX .DA TAX.E+1-* - >PSTR "TAX" - .HS FF - >PSTR "AA" -TAX.E .HS 00 -TAY .DA TAY.E+1-* - >PSTR "TAY" - .HS FF - >PSTR "A8" -TAY.E .HS 00 -TRB .DA TRB.E+1-* - >PSTR "TRB" - .HS 05 - >PSTR "14a" - .HS 07 - >PSTR "1Caa" -TRB.E .HS 00 -TSB .DA TSB.E+1-* - >PSTR "TSB" - .HS 05 - >PSTR "04a" - .HS 07 - >PSTR "0Caa" -TSB.E .HS 00 -TSX .DA TSX.E+1-* - >PSTR "TSX" - .HS FF - >PSTR "BA" -TSX.E .HS 00 -TXA .DA TXA.E+1-* - >PSTR "TXA" - .HS FF - >PSTR "8A" -TXA.E .HS 00 -TXS .DA TXS.E+1-* - >PSTR "TXS" - .HS FF - >PSTR "9A" -TXS.E .HS 00 -TYA .DA TYA.E+1-* - >PSTR "TYA" - .HS FF - >PSTR "98" +ADC .DA ADC.E+1-* + .DA #3,$$"ADC" + .DA #1,#3,$$"69a" + .DA #2,#3,$$"72a" + .DA #3,#3,$$"71a" + .DA #4,#3,$$"61a" + .DA #5,#3,$$"65a" + .DA #6,#3,$$"75a" + .DA #7,#4,$$"6Daa" + .DA #8,#4,$$"7Daa" + .DA #9,#4,$$"79aa" +ADC.E .HS 00 +AND .DA AND.E+1-* + .DA #3,$$"AND" + .DA #1,#3,$$"29a" + .DA #2,#3,$$"32a" + .DA #3,#3,$$"31a" + .DA #4,#3,$$"21a" + .DA #5,#3,$$"25a" + .DA #6,#3,$$"35a" + .DA #7,#4,$$"2Daa" + .DA #8,#4,$$"3Daa" + .DA #9,#4,$$"39aa" +AND.E .HS 00 +ASL .DA ASL.E+1-* + .DA #3,$$"ASL" + .DA #5,#3,$$"06a" + .DA #6,#3,$$"16a" + .DA #7,#4,$$"0Eaa" + .DA #8,#4,$$"1Eaa" + .DA #255,#2,$$"0A" +ASL.E .HS 00 +BBR0 .DA BBR0.E+1-* + .DA #4,$$"BBR0" + .DA #10,#4,$$"0Far" +BBR0.E .HS 00 +BBR1 .DA BBR1.E+1-* + .DA #4,$$"BBR1" + .DA #10,#4,$$"1Far" +BBR1.E .HS 00 +BBR2 .DA BBR2.E+1-* + .DA #4,$$"BBR2" + .DA #10,#4,$$"2Far" +BBR2.E .HS 00 +BBR3 .DA BBR3.E+1-* + .DA #4,$$"BBR3" + .DA #10,#4,$$"3Far" +BBR3.E .HS 00 +BBR4 .DA BBR4.E+1-* + .DA #4,$$"BBR4" + .DA #10,#4,$$"4Far" +BBR4.E .HS 00 +BBR5 .DA BBR5.E+1-* + .DA #4,$$"BBR5" + .DA #10,#4,$$"5Far" +BBR5.E .HS 00 +BBR6 .DA BBR6.E+1-* + .DA #4,$$"BBR6" + .DA #10,#4,$$"6Far" +BBR6.E .HS 00 +BBR7 .DA BBR7.E+1-* + .DA #4,$$"BBR7" + .DA #10,#4,$$"7Far" +BBR7.E .HS 00 +BBS0 .DA BBS0.E+1-* + .DA #4,$$"BBS0" + .DA #10,#4,$$"8Far" +BBS0.E .HS 00 +BBS1 .DA BBS1.E+1-* + .DA #4,$$"BBS1" + .DA #10,#4,$$"9Far" +BBS1.E .HS 00 +BBS2 .DA BBS2.E+1-* + .DA #4,$$"BBS2" + .DA #10,#4,$$"AFar" +BBS2.E .HS 00 +BBS3 .DA BBS3.E+1-* + .DA #4,$$"BBS3" + .DA #10,#4,$$"BFar" +BBS3.E .HS 00 +BBS4 .DA BBS4.E+1-* + .DA #4,$$"BBS4" + .DA #10,#4,$$"CFar" +BBS4.E .HS 00 +BBS5 .DA BBS5.E+1-* + .DA #4,$$"BBS5" + .DA #10,#4,$$"DFar" +BBS5.E .HS 00 +BBS6 .DA BBS6.E+1-* + .DA #4,$$"BBS6" + .DA #10,#4,$$"EFar" +BBS6.E .HS 00 +BBS7 .DA BBS7.E+1-* + .DA #4,$$"BBS7" + .DA #10,#4,$$"FFar" +BBS7.E .HS 00 +BCC .DA BCC.E+1-* + .DA #3,$$"BCC" + .DA #7,#3,$$"90r" +BCC.E .HS 00 +BCS .DA BCS.E+1-* + .DA #3,$$"BCS" + .DA #7,#3,$$"B0r" +BCS.E .HS 00 +BEQ .DA BEQ.E+1-* + .DA #3,$$"BEQ" + .DA #7,#3,$$"F0r" +BEQ.E .HS 00 +BIT .DA BIT.E+1-* + .DA #3,$$"BIT" + .DA #1,#3,$$"89a" + .DA #5,#3,$$"24a" + .DA #6,#3,$$"34a" + .DA #7,#4,$$"2Caa" + .DA #8,#4,$$"3Caa" +BIT.E .HS 00 +BMI .DA BMI.E+1-* + .DA #3,$$"BMI" + .DA #7,#3,$$"30r" +BMI.E .HS 00 +BNE .DA BNE.E+1-* + .DA #3,$$"BNE" + .DA #7,#3,$$"D0r" +BNE.E .HS 00 +BPL .DA BPL.E+1-* + .DA #3,$$"BPL" + .DA #7,#3,$$"10r" +BPL.E .HS 00 +BRA .DA BRA.E+1-* + .DA #3,$$"BRA" + .DA #7,#3,$$"80r" +BRA.E .HS 00 +BRK .DA BRK.E+1-* + .DA #3,$$"BRK" + .DA #255,#2,$$"00" +BRK.E .HS 00 +BVC .DA BVC.E+1-* + .DA #3,$$"BVC" + .DA #7,#3,$$"50r" +BVC.E .HS 00 +BVS .DA BVS.E+1-* + .DA #3,$$"BVS" + .DA #7,#3,$$"70r" +BVS.E .HS 00 +CLC .DA CLC.E+1-* + .DA #3,$$"CLC" + .DA #255,#2,$$"18" +CLC.E .HS 00 +CLD .DA CLD.E+1-* + .DA #3,$$"CLD" + .DA #255,#2,$$"D8" +CLD.E .HS 00 +CLI .DA CLI.E+1-* + .DA #3,$$"CLI" + .DA #255,#2,$$"58" +CLI.E .HS 00 +CLV .DA CLV.E+1-* + .DA #3,$$"CLV" + .DA #255,#2,$$"B8" +CLV.E .HS 00 +CMP .DA CMP.E+1-* + .DA #3,$$"CMP" + .DA #1,#3,$$"C9a" + .DA #2,#3,$$"D2a" + .DA #3,#3,$$"D1a" + .DA #4,#3,$$"C1a" + .DA #5,#3,$$"C5a" + .DA #6,#3,$$"D5a" + .DA #7,#4,$$"CDaa" + .DA #8,#4,$$"DDaa" + .DA #9,#4,$$"D9aa" +CMP.E .HS 00 +CPX .DA CPX.E+1-* + .DA #3,$$"CPX" + .DA #1,#3,$$"E0a" + .DA #5,#3,$$"E4a" + .DA #7,#4,$$"Ecaa" +CPX.E .HS 00 +CPY .DA CPY.E+1-* + .DA #3,$$"CPY" + .DA #1,#3,$$"C0a" + .DA #5,#3,$$"C4a" + .DA #7,#4,$$"Ccaa" +CPY.E .HS 00 +DEC .DA DEC.E+1-* + .DA #3,$$"DEC" + .DA #5,#3,$$"C6a" + .DA #6,#3,$$"D6a" + .DA #7,#4,$$"Ceaa" + .DA #8,#4,$$"Deaa" + .DA #255,#2,$$"3A" +DEC.E .HS 00 +DEX .DA DEX.E+1-* + .DA #3,$$"DEX" + .DA #255,#2,$$"CA" +DEX.E .HS 00 +DEY .DA DEY.E+1-* + .DA #3,$$"DEY" + .DA #255,#2,$$"88" +DEY.E .HS 00 +EOR .DA EOR.E+1-* + .DA #3,$$"EOR" + .DA #1,#3,$$"49a" + .DA #2,#3,$$"52a" + .DA #3,#3,$$"51a" + .DA #4,#3,$$"41a" + .DA #5,#3,$$"45a" + .DA #6,#3,$$"55a" + .DA #7,#4,$$"4Daa" + .DA #8,#4,$$"5Daa" + .DA #9,#4,$$"59aa" +EOR.E .HS 00 +INC .DA INC.E+1-* + .DA #3,$$"INC" + .DA #5,#3,$$"E6a" + .DA #6,#3,$$"F6a" + .DA #7,#4,$$"Eeaa" + .DA #8,#4,$$"Feaa" + .DA #255,#2,$$"1A" +INC.E .HS 00 +INX .DA INX.E+1-* + .DA #3,$$"INX" + .DA #255,#2,$$"E8" +INX.E .HS 00 +INY .DA INY.E+1-* + .DA #3,$$"INY" + .DA #255,#2,$$"C8" +INY.E .HS 00 +JMP .DA JMP.E+1-* + .DA #3,$$"JMP" + .DA #11,#4,$$"6Caa" + .DA #12,#4,$$"7Caa" + .DA #7,#4,$$"4Caa" +JMP.E .HS 00 +JSR .DA JSR.E+1-* + .DA #3,$$"JSR" + .DA #7,#4,$$"20aa" +JSR.E .HS 00 +LDA .DA LDA.E+1-* + .DA #3,$$"LDA" + .DA #1,#3,$$"A9a" + .DA #2,#3,$$"B2a" + .DA #3,#3,$$"B1a" + .DA #4,#3,$$"A1a" + .DA #5,#3,$$"A5a" + .DA #6,#3,$$"B5a" + .DA #7,#4,$$"Adaa" + .DA #8,#4,$$"Bdaa" + .DA #9,#4,$$"B9aa" +LDA.E .HS 00 +LDX .DA LDX.E+1-* + .DA #3,$$"LDX" + .DA #1,#3,$$"A2a" + .DA #5,#3,$$"A6a" + .DA #13,#3,$$"B6a" + .DA #7,#4,$$"Aeaa" + .DA #9,#4,$$"Beaa" +LDX.E .HS 00 +LDY .DA LDY.E+1-* + .DA #3,$$"LDY" + .DA #1,#3,$$"A0a" + .DA #5,#3,$$"A4a" + .DA #6,#3,$$"B4a" + .DA #7,#4,$$"Acaa" + .DA #8,#4,$$"Bcaa" +LDY.E .HS 00 +LSR .DA LSR.E+1-* + .DA #3,$$"LSR" + .DA #5,#3,$$"46a" + .DA #6,#3,$$"56a" + .DA #7,#4,$$"4Eaa" + .DA #8,#4,$$"5Eaa" + .DA #255,#2,$$"4A" +LSR.E .HS 00 +NOP .DA NOP.E+1-* + .DA #3,$$"NOP" + .DA #255,#2,$$"EA" +NOP.E .HS 00 +ORA .DA ORA.E+1-* + .DA #3,$$"ORA" + .DA #1,#3,$$"09a" + .DA #2,#3,$$"12a" + .DA #3,#3,$$"11a" + .DA #4,#3,$$"01a" + .DA #5,#3,$$"05a" + .DA #6,#3,$$"15a" + .DA #7,#4,$$"0Daa" + .DA #8,#4,$$"1Daa" + .DA #9,#4,$$"19aa" +ORA.E .HS 00 +PHA .DA PHA.E+1-* + .DA #3,$$"PHA" + .DA #255,#2,$$"48" +PHA.E .HS 00 +PHP .DA PHP.E+1-* + .DA #3,$$"PHP" + .DA #255,#2,$$"08" +PHP.E .HS 00 +PHX .DA PHX.E+1-* + .DA #3,$$"PHX" + .DA #255,#2,$$"DA" +PHX.E .HS 00 +PHY .DA PHY.E+1-* + .DA #3,$$"PHY" + .DA #255,#2,$$"5A" +PHY.E .HS 00 +PLA .DA PLA.E+1-* + .DA #3,$$"PLA" + .DA #255,#2,$$"68" +PLA.E .HS 00 +PLP .DA PLP.E+1-* + .DA #3,$$"PLP" + .DA #255,#2,$$"28" +PLP.E .HS 00 +PLX .DA PLX.E+1-* + .DA #3,$$"PLX" + .DA #255,#2,$$"FA" +PLX.E .HS 00 +PLY .DA PLY.E+1-* + .DA #3,$$"PLY" + .DA #255,#2,$$"7A" +PLY.E .HS 00 +RMB0 .DA RMB0.E+1-* + .DA #4,$$"RMB0" + .DA #5,#3,$$"07a" +RMB0.E .HS 00 +RMB1 .DA RMB1.E+1-* + .DA #4,$$"RMB1" + .DA #5,#3,$$"17a" +RMB1.E .HS 00 +RMB2 .DA RMB2.E+1-* + .DA #4,$$"RMB2" + .DA #5,#3,$$"27a" +RMB2.E .HS 00 +RMB3 .DA RMB3.E+1-* + .DA #4,$$"RMB3" + .DA #5,#3,$$"37a" +RMB3.E .HS 00 +RMB4 .DA RMB4.E+1-* + .DA #4,$$"RMB4" + .DA #5,#3,$$"47a" +RMB4.E .HS 00 +RMB5 .DA RMB5.E+1-* + .DA #4,$$"RMB5" + .DA #5,#3,$$"57a" +RMB5.E .HS 00 +RMB6 .DA RMB6.E+1-* + .DA #4,$$"RMB6" + .DA #5,#3,$$"67a" +RMB6.E .HS 00 +RMB7 .DA RMB7.E+1-* + .DA #4,$$"RMB7" + .DA #5,#3,$$"77a" +RMB7.E .HS 00 +ROL .DA ROL.E+1-* + .DA #3,$$"ROL" + .DA #5,#3,$$"26a" + .DA #6,#3,$$"36a" + .DA #7,#4,$$"2Eaa" + .DA #8,#4,$$"3Eaa" + .DA #255,#2,$$"2A" +ROL.E .HS 00 +ROR .DA ROR.E+1-* + .DA #3,$$"ROR" + .DA #5,#3,$$"66a" + .DA #6,#3,$$"76a" + .DA #7,#4,$$"6Eaa" + .DA #8,#4,$$"7Eaa" + .DA #255,#2,$$"6A" +ROR.E .HS 00 +RTI .DA RTI.E+1-* + .DA #3,$$"RTI" + .DA #255,#2,$$"40" +RTI.E .HS 00 +RTS .DA RTS.E+1-* + .DA #3,$$"RTS" + .DA #255,#2,$$"60" +RTS.E .HS 00 +SBC .DA SBC.E+1-* + .DA #3,$$"SBC" + .DA #1,#3,$$"E9a" + .DA #2,#3,$$"F2a" + .DA #3,#3,$$"F1a" + .DA #4,#3,$$"E1a" + .DA #5,#3,$$"E5a" + .DA #6,#3,$$"F5a" + .DA #7,#4,$$"Edaa" + .DA #8,#4,$$"Fdaa" + .DA #9,#4,$$"F9aa" +SBC.E .HS 00 +SEC .DA SEC.E+1-* + .DA #3,$$"SEC" + .DA #255,#2,$$"38" +SEC.E .HS 00 +SED .DA SED.E+1-* + .DA #3,$$"SED" + .DA #255,#2,$$"F8" +SED.E .HS 00 +SEI .DA SEI.E+1-* + .DA #3,$$"SEI" + .DA #255,#2,$$"78" +SEI.E .HS 00 +SMB0 .DA SMB0.E+1-* + .DA #4,$$"SMB0" + .DA #5,#3,$$"87a" +SMB0.E .HS 00 +SMB1 .DA SMB1.E+1-* + .DA #4,$$"SMB1" + .DA #5,#3,$$"97a" +SMB1.E .HS 00 +SMB2 .DA SMB2.E+1-* + .DA #4,$$"SMB2" + .DA #5,#3,$$"A7a" +SMB2.E .HS 00 +SMB3 .DA SMB3.E+1-* + .DA #4,$$"SMB3" + .DA #5,#3,$$"B7a" +SMB3.E .HS 00 +SMB4 .DA SMB4.E+1-* + .DA #4,$$"SMB4" + .DA #5,#3,$$"C7a" +SMB4.E .HS 00 +SMB5 .DA SMB5.E+1-* + .DA #4,$$"SMB5" + .DA #5,#3,$$"D7a" +SMB5.E .HS 00 +SMB6 .DA SMB6.E+1-* + .DA #4,$$"SMB6" + .DA #5,#3,$$"E7a" +SMB6.E .HS 00 +SMB7 .DA SMB7.E+1-* + .DA #4,$$"SMB7" + .DA #5,#3,$$"F7a" +SMB7.E .HS 00 +STA .DA STA.E+1-* + .DA #3,$$"STA" + .DA #2,#3,$$"92a" + .DA #3,#3,$$"91a" + .DA #4,#3,$$"81a" + .DA #5,#3,$$"85a" + .DA #6,#3,$$"95a" + .DA #7,#4,$$"8Daa" + .DA #8,#4,$$"9Daa" + .DA #9,#4,$$"99aa" +STA.E .HS 00 +STX .DA STX.E+1-* + .DA #3,$$"STX" + .DA #5,#3,$$"86a" + .DA #13,#3,$$"96a" + .DA #7,#4,$$"8Eaa" +STX.E .HS 00 +STY .DA STY.E+1-* + .DA #3,$$"STY" + .DA #5,#3,$$"84a" + .DA #6,#3,$$"94a" + .DA #7,#4,$$"8Caa" +STY.E .HS 00 +STZ .DA STZ.E+1-* + .DA #3,$$"STZ" + .DA #5,#3,$$"64a" + .DA #6,#3,$$"74a" + .DA #7,#4,$$"9Caa" + .DA #8,#4,$$"9Eaa" +STZ.E .HS 00 +TAX .DA TAX.E+1-* + .DA #3,$$"TAX" + .DA #255,#2,$$"AA" +TAX.E .HS 00 +TAY .DA TAY.E+1-* + .DA #3,$$"TAY" + .DA #255,#2,$$"A8" +TAY.E .HS 00 +TRB .DA TRB.E+1-* + .DA #3,$$"TRB" + .DA #5,#3,$$"14a" + .DA #7,#4,$$"1Caa" +TRB.E .HS 00 +TSB .DA TSB.E+1-* + .DA #3,$$"TSB" + .DA #5,#3,$$"04a" + .DA #7,#4,$$"0Caa" +TSB.E .HS 00 +TSX .DA TSX.E+1-* + .DA #3,$$"TSX" + .DA #255,#2,$$"BA" +TSX.E .HS 00 +TXA .DA TXA.E+1-* + .DA #3,$$"TXA" + .DA #255,#2,$$"8A" +TXA.E .HS 00 +TXS .DA TXS.E+1-* + .DA #3,$$"TXS" + .DA #255,#2,$$"9A" +TXS.E .HS 00 +TYA .DA TYA.E+1-* + .DA #3,$$"TYA" + .DA #255,#2,$$"98" TYA.E .HS 00 .HS 0000 *--------------------------------------- diff --git a/BIN/ASM.T.65R02.S.txt b/BIN/ASM.T.65R02.S.txt index 8596d39b..7e84a291 100644 --- a/BIN/ASM.T.65R02.S.txt +++ b/BIN/ASM.T.65R02.S.txt @@ -4,12 +4,6 @@ AUTO 4,1 .LIST OFF .OR $0 .TF /A2OSX.BUILD/BIN/DEV/ASM.T.65R02 -*--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM *--------------------------------------- .DA T.ADDR.MODES .DA T.REGISTERS diff --git a/BIN/ASM.T.SW16.A.txt b/BIN/ASM.T.SW16.A.txt index 38cd1538..06dc62bf 100644 --- a/BIN/ASM.T.SW16.A.txt +++ b/BIN/ASM.T.SW16.A.txt @@ -3,58 +3,58 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "R0" - >PSTR "R1" - >PSTR "R2" - >PSTR "R3" - >PSTR "R4" - >PSTR "R5" - >PSTR "R6" - >PSTR "R7" - >PSTR "R8" - >PSTR "R9" - >PSTR "R10" - >PSTR "R11" - >PSTR "R12" - >PSTR "R13" - >PSTR "R14" - >PSTR "R15" - >PSTR "r" - >PSTR "@R0" - >PSTR "@R1" - >PSTR "@R2" - >PSTR "@R3" - >PSTR "@R4" - >PSTR "@R5" - >PSTR "@R6" - >PSTR "@R7" - >PSTR "@R8" - >PSTR "@R9" - >PSTR "@R10" - >PSTR "@R11" - >PSTR "@R12" - >PSTR "@R13" - >PSTR "@R14" - >PSTR "@R15" + .DA #2,$$"R0" + .DA #2,$$"R1" + .DA #2,$$"R2" + .DA #2,$$"R3" + .DA #2,$$"R4" + .DA #2,$$"R5" + .DA #2,$$"R6" + .DA #2,$$"R7" + .DA #2,$$"R8" + .DA #2,$$"R9" + .DA #3,$$"R10" + .DA #3,$$"R11" + .DA #3,$$"R12" + .DA #3,$$"R13" + .DA #3,$$"R14" + .DA #3,$$"R15" + .DA #2,$$"aa" + .DA #3,$$"@R0" + .DA #3,$$"@R1" + .DA #3,$$"@R2" + .DA #3,$$"@R3" + .DA #3,$$"@R4" + .DA #3,$$"@R5" + .DA #3,$$"@R6" + .DA #3,$$"@R7" + .DA #3,$$"@R8" + .DA #3,$$"@R9" + .DA #4,$$"@R10" + .DA #4,$$"@R11" + .DA #4,$$"@R12" + .DA #4,$$"@R13" + .DA #4,$$"@R14" + .DA #4,$$"@R15" .HS 00 *--------------------------------------- T.REGISTERS .EQ * - >PSTR "R0" - >PSTR "R1" - >PSTR "R2" - >PSTR "R3" - >PSTR "R4" - >PSTR "R5" - >PSTR "R6" - >PSTR "R7" - >PSTR "R8" - >PSTR "R9" - >PSTR "R10" - >PSTR "R11" - >PSTR "R12" - >PSTR "R13" - >PSTR "R14" - >PSTR "R15" + .DA #2,$$"R0" + .DA #2,$$"R1" + .DA #2,$$"R2" + .DA #2,$$"R3" + .DA #2,$$"R4" + .DA #2,$$"R5" + .DA #2,$$"R6" + .DA #2,$$"R7" + .DA #2,$$"R8" + .DA #2,$$"R9" + .DA #3,$$"R10" + .DA #3,$$"R11" + .DA #3,$$"R12" + .DA #3,$$"R13" + .DA #3,$$"R14" + .DA #3,$$"R15" .HS 00 *--------------------------------------- MAN diff --git a/BIN/ASM.T.SW16.O.txt b/BIN/ASM.T.SW16.O.txt index 5a38e306..9094e51e 100644 --- a/BIN/ASM.T.SW16.O.txt +++ b/BIN/ASM.T.SW16.O.txt @@ -3,589 +3,336 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.OPCODES .EQ * -ADD .DA ADD.E+1-* - >PSTR "ADD" - .HS 01 - >PSTR "A0" - .HS 02 - >PSTR "A1" - .HS 03 - >PSTR "A2" - .HS 04 - >PSTR "A3" - .HS 05 - >PSTR "A4" - .HS 06 - >PSTR "A5" - .HS 07 - >PSTR "A6" - .HS 08 - >PSTR "A7" - .HS 09 - >PSTR "A8" - .HS 0A - >PSTR "A9" - .HS 0B - >PSTR "AA" - .HS 0C - >PSTR "AB" - .HS 0D - >PSTR "AC" - .HS 0E - >PSTR "AD" - .HS 0F - >PSTR "AE" - .HS 10 - >PSTR "AF" -ADD.E .HS 00 -BC .DA BC.E+1-* - >PSTR "BC" - .HS 11 - >PSTR "03r" -BC.E .HS 00 -BK .DA BK.E+1-* - >PSTR "BK" - .HS 00 - >PSTR "0A" -BK.E .HS 00 -BM .DA BM.E+1-* - >PSTR "BM" - .HS 11 - >PSTR "05r" -BM.E .HS 00 -BM1 .DA BM1.E+1-* - >PSTR "BM1" - .HS 11 - >PSTR "08r" -BM1.E .HS 00 -BNC .DA BNC.E+1-* - >PSTR "BNC" - .HS 11 - >PSTR "02r" -BNC.E .HS 00 -BNM1 .DA BNM1.E+1-* - >PSTR "BNM1" - .HS 11 - >PSTR "09r" -BNM1.E .HS 00 -BNZ .DA BNZ.E+1-* - >PSTR "BNZ" - .HS 11 - >PSTR "07r" -BNZ.E .HS 00 -BP .DA BP.E+1-* - >PSTR "BP" - .HS 11 - >PSTR "04r" -BP.E .HS 00 -BR .DA BR.E+1-* - >PSTR "BR" - .HS 11 - >PSTR "01r" -BR.E .HS 00 -BS .DA BS.E+1-* - >PSTR "BS" - .HS 11 - >PSTR "0Dr" -BS.E .HS 00 -BZ .DA BZ.E+1-* - >PSTR "BZ" - .HS 11 - >PSTR "06r" -BZ.E .HS 00 -CPR .DA CPR.E+1-* - >PSTR "CPR" - .HS 01 - >PSTR "D0" - .HS 02 - >PSTR "D1" - .HS 03 - >PSTR "D2" - .HS 04 - >PSTR "D3" - .HS 05 - >PSTR "D4" - .HS 06 - >PSTR "D5" - .HS 07 - >PSTR "D6" - .HS 08 - >PSTR "D7" - .HS 09 - >PSTR "D8" - .HS 0A - >PSTR "D9" - .HS 0B - >PSTR "DA" - .HS 0C - >PSTR "DB" - .HS 0D - >PSTR "DC" - .HS 0E - >PSTR "DD" - .HS 0F - >PSTR "DE" - .HS 10 - >PSTR "DF" -CPR.E .HS 00 -DCR .DA DCR.E+1-* - >PSTR "DCR" - .HS 01 - >PSTR "F0" - .HS 02 - >PSTR "F1" - .HS 03 - >PSTR "F2" - .HS 04 - >PSTR "F3" - .HS 05 - >PSTR "F4" - .HS 06 - >PSTR "F5" - .HS 07 - >PSTR "F6" - .HS 08 - >PSTR "F7" - .HS 09 - >PSTR "F8" - .HS 0A - >PSTR "F9" - .HS 0B - >PSTR "FA" - .HS 0C - >PSTR "FB" - .HS 0D - >PSTR "FC" - .HS 0E - >PSTR "FD" - .HS 0F - >PSTR "FE" - .HS 10 - >PSTR "FF" -DCR.E .HS 00 -INR .DA INR.E+1-* - >PSTR "INR" - .HS 01 - >PSTR "E0" - .HS 02 - >PSTR "E1" - .HS 03 - >PSTR "E2" - .HS 04 - >PSTR "E3" - .HS 05 - >PSTR "E4" - .HS 06 - >PSTR "E5" - .HS 07 - >PSTR "E6" - .HS 08 - >PSTR "E7" - .HS 09 - >PSTR "E8" - .HS 0A - >PSTR "E9" - .HS 0B - >PSTR "EA" - .HS 0C - >PSTR "EB" - .HS 0D - >PSTR "EC" - .HS 0E - >PSTR "ED" - .HS 0F - >PSTR "EE" - .HS 10 - >PSTR "EF" -INR.E .HS 00 -LD .DA LD.E+1-* - >PSTR "LD" - .HS 01 - >PSTR "20" - .HS 02 - >PSTR "21" - .HS 03 - >PSTR "22" - .HS 04 - >PSTR "23" - .HS 05 - >PSTR "24" - .HS 06 - >PSTR "25" - .HS 07 - >PSTR "26" - .HS 08 - >PSTR "27" - .HS 09 - >PSTR "28" - .HS 0A - >PSTR "29" - .HS 0B - >PSTR "2A" - .HS 0C - >PSTR "2B" - .HS 0D - >PSTR "2C" - .HS 0E - >PSTR "2D" - .HS 0F - >PSTR "2E" - .HS 10 - >PSTR "2F" - .HS 12 - >PSTR "40" - .HS 13 - >PSTR "41" - .HS 14 - >PSTR "42" - .HS 15 - >PSTR "43" - .HS 16 - >PSTR "44" - .HS 17 - >PSTR "45" - .HS 18 - >PSTR "46" - .HS 19 - >PSTR "47" - .HS 1A - >PSTR "48" - .HS 1B - >PSTR "49" - .HS 1C - >PSTR "4A" - .HS 1D - >PSTR "4B" - .HS 1E - >PSTR "4C" - .HS 1F - >PSTR "4D" - .HS 20 - >PSTR "4E" - .HS 21 - >PSTR "4F" -LD.E .HS 00 -LDD .DA LDD.E+1-* - >PSTR "LDD" - .HS 12 - >PSTR "60" - .HS 13 - >PSTR "61" - .HS 14 - >PSTR "62" - .HS 15 - >PSTR "63" - .HS 16 - >PSTR "64" - .HS 17 - >PSTR "65" - .HS 18 - >PSTR "66" - .HS 19 - >PSTR "67" - .HS 1A - >PSTR "68" - .HS 1B - >PSTR "69" - .HS 1C - >PSTR "6A" - .HS 1D - >PSTR "6B" - .HS 1E - >PSTR "6C" - .HS 1F - >PSTR "6D" - .HS 20 - >PSTR "6E" - .HS 21 - >PSTR "6F" -LDD.E .HS 00 -POP .DA POP.E+1-* - >PSTR "POP" - .HS 12 - >PSTR "80" - .HS 13 - >PSTR "81" - .HS 14 - >PSTR "82" - .HS 15 - >PSTR "83" - .HS 16 - >PSTR "84" - .HS 17 - >PSTR "85" - .HS 18 - >PSTR "86" - .HS 19 - >PSTR "87" - .HS 1A - >PSTR "88" - .HS 1B - >PSTR "89" - .HS 1C - >PSTR "8A" - .HS 1D - >PSTR "8B" - .HS 1E - >PSTR "8C" - .HS 1F - >PSTR "8D" - .HS 20 - >PSTR "8E" - .HS 21 - >PSTR "8F" -POP.E .HS 00 -POPD .DA POPD.E+1-* - >PSTR "POPD" - .HS 12 - >PSTR "C0" - .HS 13 - >PSTR "C1" - .HS 14 - >PSTR "C2" - .HS 15 - >PSTR "C3" - .HS 16 - >PSTR "C4" - .HS 17 - >PSTR "C5" - .HS 18 - >PSTR "C6" - .HS 19 - >PSTR "C7" - .HS 1A - >PSTR "C8" - .HS 1B - >PSTR "C9" - .HS 1C - >PSTR "CA" - .HS 1D - >PSTR "CB" - .HS 1E - >PSTR "CC" - .HS 1F - >PSTR "CD" - .HS 20 - >PSTR "CE" - .HS 21 - >PSTR "CF" -POPD.E .HS 00 -RS .DA RS.E+1-* - >PSTR "RS" - .HS 00 - >PSTR "0B" -RS.E .HS 00 -RTN .DA RTN.E+1-* - >PSTR "RTN" - .HS 00 - >PSTR "00r" -RTN.E .HS 00 -SET .DA SET.E+1-* - >PSTR "SET" - .HS 01 - >PSTR "10" - .HS 02 - >PSTR "11" - .HS 03 - >PSTR "12" - .HS 04 - >PSTR "13" - .HS 05 - >PSTR "14" - .HS 06 - >PSTR "15" - .HS 07 - >PSTR "16" - .HS 08 - >PSTR "17" - .HS 09 - >PSTR "18" - .HS 0A - >PSTR "19" - .HS 0B - >PSTR "1A" - .HS 0C - >PSTR "1B" - .HS 0D - >PSTR "1C" - .HS 0E - >PSTR "1D" - .HS 0F - >PSTR "1E" - .HS 10 - >PSTR "1D" -SET.E .HS 00 -ST .DA ST.E+1-* - >PSTR "ST" - .HS 01 - >PSTR "30" - .HS 02 - >PSTR "31" - .HS 03 - >PSTR "32" - .HS 04 - >PSTR "33" - .HS 05 - >PSTR "34" - .HS 06 - >PSTR "35" - .HS 07 - >PSTR "36" - .HS 08 - >PSTR "37" - .HS 09 - >PSTR "38" - .HS 0A - >PSTR "39" - .HS 0B - >PSTR "3A" - .HS 0C - >PSTR "3B" - .HS 0D - >PSTR "3C" - .HS 0E - >PSTR "3D" - .HS 0F - >PSTR "3E" - .HS 10 - >PSTR "3F" - .HS 12 - >PSTR "50" - .HS 13 - >PSTR "51" - .HS 14 - >PSTR "52" - .HS 15 - >PSTR "53" - .HS 16 - >PSTR "54" - .HS 17 - >PSTR "55" - .HS 18 - >PSTR "56" - .HS 19 - >PSTR "57" - .HS 1A - >PSTR "58" - .HS 1B - >PSTR "59" - .HS 1C - >PSTR "5A" - .HS 1D - >PSTR "5B" - .HS 1E - >PSTR "5C" - .HS 1F - >PSTR "5D" - .HS 20 - >PSTR "5E" - .HS 21 - >PSTR "5F" -ST.E .HS 00 -STD .DA STD.E+1-* - >PSTR "STD" - .HS 12 - >PSTR "70" - .HS 13 - >PSTR "71" - .HS 14 - >PSTR "72" - .HS 15 - >PSTR "73" - .HS 16 - >PSTR "74" - .HS 17 - >PSTR "75" - .HS 18 - >PSTR "76" - .HS 19 - >PSTR "77" - .HS 1A - >PSTR "78" - .HS 1B - >PSTR "79" - .HS 1C - >PSTR "7A" - .HS 1D - >PSTR "7B" - .HS 1E - >PSTR "7C" - .HS 1F - >PSTR "7D" - .HS 20 - >PSTR "7E" - .HS 21 - >PSTR "7F" -STD.E .HS 00 -STP .DA STP.E+1-* - >PSTR "STP" - .HS 12 - >PSTR "90" - .HS 13 - >PSTR "91" - .HS 14 - >PSTR "92" - .HS 15 - >PSTR "93" - .HS 16 - >PSTR "94" - .HS 17 - >PSTR "95" - .HS 18 - >PSTR "96" - .HS 19 - >PSTR "97" - .HS 1A - >PSTR "98" - .HS 1B - >PSTR "99" - .HS 1C - >PSTR "9A" - .HS 1D - >PSTR "9B" - .HS 1E - >PSTR "9C" - .HS 1F - >PSTR "9D" - .HS 20 - >PSTR "9E" - .HS 21 - >PSTR "9F" -STP.E .HS 00 -SUB .DA SUB.E+1-* - >PSTR "SUB" - .HS 01 - >PSTR "B0" - .HS 02 - >PSTR "B1" - .HS 03 - >PSTR "B2" - .HS 04 - >PSTR "B3" - .HS 05 - >PSTR "B4" - .HS 06 - >PSTR "B5" - .HS 07 - >PSTR "B6" - .HS 08 - >PSTR "B7" - .HS 09 - >PSTR "B8" - .HS 0A - >PSTR "B9" - .HS 0B - >PSTR "BA" - .HS 0C - >PSTR "BB" - .HS 0D - >PSTR "BC" - .HS 0E - >PSTR "BD" - .HS 0F - >PSTR "BE" - .HS 10 - >PSTR "BF" +ADD .DA ADD.E+1-* + .DA #3,$$"ADD" + .DA #1,#2,$$"A0" + .DA #2,#2,$$"A1" + .DA #3,#2,$$"A2" + .DA #4,#2,$$"A3" + .DA #5,#2,$$"A4" + .DA #6,#2,$$"A5" + .DA #7,#2,$$"A6" + .DA #8,#2,$$"A7" + .DA #9,#2,$$"A8" + .DA #10,#2,$$"A9" + .DA #11,#2,$$"AA" + .DA #12,#2,$$"AB" + .DA #13,#2,$$"AC" + .DA #14,#2,$$"AD" + .DA #15,#2,$$"AE" + .DA #16,#2,$$"AF" +ADD.E .HS 00 +BC .DA BC.E+1-* + .DA #2,$$"BC" + .DA #17,#3,$$"03r" +BC.E .HS 00 +BK .DA BK.E+1-* + .DA #2,$$"BK" + .DA #255,#2,$$"0A" +BK.E .HS 00 +BM .DA BM.E+1-* + .DA #2,$$"BM" + .DA #17,#3,$$"05r" +BM.E .HS 00 +BM1 .DA BM1.E+1-* + .DA #3,$$"BM1" + .DA #17,#3,$$"08r" +BM1.E .HS 00 +BNC .DA BNC.E+1-* + .DA #3,$$"BNC" + .DA #17,#3,$$"02r" +BNC.E .HS 00 +BNM1 .DA BNM1.E+1-* + .DA #4,$$"BNM1" + .DA #17,#3,$$"09r" +BNM1.E .HS 00 +BNZ .DA BNZ.E+1-* + .DA #3,$$"BNZ" + .DA #17,#3,$$"07r" +BNZ.E .HS 00 +BP .DA BP.E+1-* + .DA #2,$$"BP" + .DA #17,#3,$$"04r" +BP.E .HS 00 +BR .DA BR.E+1-* + .DA #2,$$"BR" + .DA #17,#3,$$"01r" +BR.E .HS 00 +BS .DA BS.E+1-* + .DA #2,$$"BS" + .DA #17,#3,$$"0Dr" +BS.E .HS 00 +BZ .DA BZ.E+1-* + .DA #2,$$"BZ" + .DA #17,#3,$$"06r" +BZ.E .HS 00 +CPR .DA CPR.E+1-* + .DA #3,$$"CPR" + .DA #1,#2,$$"D0" + .DA #2,#2,$$"D1" + .DA #3,#2,$$"D2" + .DA #4,#2,$$"D3" + .DA #5,#2,$$"D4" + .DA #6,#2,$$"D5" + .DA #7,#2,$$"D6" + .DA #8,#2,$$"D7" + .DA #9,#2,$$"D8" + .DA #10,#2,$$"D9" + .DA #11,#2,$$"DA" + .DA #12,#2,$$"DB" + .DA #13,#2,$$"DC" + .DA #14,#2,$$"DD" + .DA #15,#2,$$"DE" + .DA #16,#2,$$"DF" +CPR.E .HS 00 +DCR .DA DCR.E+1-* + .DA #3,$$"DCR" + .DA #1,#2,$$"F0" + .DA #2,#2,$$"F1" + .DA #3,#2,$$"F2" + .DA #4,#2,$$"F3" + .DA #5,#2,$$"F4" + .DA #6,#2,$$"F5" + .DA #7,#2,$$"F6" + .DA #8,#2,$$"F7" + .DA #9,#2,$$"F8" + .DA #10,#2,$$"F9" + .DA #11,#2,$$"FA" + .DA #12,#2,$$"FB" + .DA #13,#2,$$"FC" + .DA #14,#2,$$"FD" + .DA #15,#2,$$"FE" + .DA #16,#2,$$"FF" +DCR.E .HS 00 +INR .DA INR.E+1-* + .DA #3,$$"INR" + .DA #1,#2,$$"E0" + .DA #2,#2,$$"E1" + .DA #3,#2,$$"E2" + .DA #4,#2,$$"E3" + .DA #5,#2,$$"E4" + .DA #6,#2,$$"E5" + .DA #7,#2,$$"E6" + .DA #8,#2,$$"E7" + .DA #9,#2,$$"E8" + .DA #10,#2,$$"E9" + .DA #11,#2,$$"EA" + .DA #12,#2,$$"EB" + .DA #13,#2,$$"EC" + .DA #14,#2,$$"ED" + .DA #15,#2,$$"EE" + .DA #16,#2,$$"EF" +INR.E .HS 00 +LD .DA LD.E+1-* + .DA #2,$$"LD" + .DA #1,#2,$$"20" + .DA #2,#2,$$"21" + .DA #3,#2,$$"22" + .DA #4,#2,$$"23" + .DA #5,#2,$$"24" + .DA #6,#2,$$"25" + .DA #7,#2,$$"26" + .DA #8,#2,$$"27" + .DA #9,#2,$$"28" + .DA #10,#2,$$"29" + .DA #11,#2,$$"2A" + .DA #12,#2,$$"2B" + .DA #13,#2,$$"2C" + .DA #14,#2,$$"2D" + .DA #15,#2,$$"2E" + .DA #16,#2,$$"2F" + .DA #18,#2,$$"40" + .DA #19,#2,$$"41" + .DA #20,#2,$$"42" + .DA #21,#2,$$"43" + .DA #22,#2,$$"44" + .DA #23,#2,$$"45" + .DA #24,#2,$$"46" + .DA #25,#2,$$"47" + .DA #26,#2,$$"48" + .DA #27,#2,$$"49" + .DA #28,#2,$$"4A" + .DA #29,#2,$$"4B" + .DA #30,#2,$$"4C" + .DA #31,#2,$$"4D" + .DA #32,#2,$$"4E" + .DA #33,#2,$$"4F" +LD.E .HS 00 +LDD .DA LDD.E+1-* + .DA #3,$$"LDD" + .DA #18,#2,$$"60" + .DA #19,#2,$$"61" + .DA #20,#2,$$"62" + .DA #21,#2,$$"63" + .DA #22,#2,$$"64" + .DA #23,#2,$$"65" + .DA #24,#2,$$"66" + .DA #25,#2,$$"67" + .DA #26,#2,$$"68" + .DA #27,#2,$$"69" + .DA #28,#2,$$"6A" + .DA #29,#2,$$"6B" + .DA #30,#2,$$"6C" + .DA #31,#2,$$"6D" + .DA #32,#2,$$"6E" + .DA #33,#2,$$"6F" +LDD.E .HS 00 +POP .DA POP.E+1-* + .DA #3,$$"POP" + .DA #18,#2,$$"80" + .DA #19,#2,$$"81" + .DA #20,#2,$$"82" + .DA #21,#2,$$"83" + .DA #22,#2,$$"84" + .DA #23,#2,$$"85" + .DA #24,#2,$$"86" + .DA #25,#2,$$"87" + .DA #26,#2,$$"88" + .DA #27,#2,$$"89" + .DA #28,#2,$$"8A" + .DA #29,#2,$$"8B" + .DA #30,#2,$$"8C" + .DA #31,#2,$$"8D" + .DA #32,#2,$$"8E" + .DA #33,#2,$$"8F" +POP.E .HS 00 +POPD .DA POPD.E+1-* + .DA #4,$$"POPD" + .DA #18,#2,$$"C0" + .DA #19,#2,$$"C1" + .DA #20,#2,$$"C2" + .DA #21,#2,$$"C3" + .DA #22,#2,$$"C4" + .DA #23,#2,$$"C5" + .DA #24,#2,$$"C6" + .DA #25,#2,$$"C7" + .DA #26,#2,$$"C8" + .DA #27,#2,$$"C9" + .DA #28,#2,$$"CA" + .DA #29,#2,$$"CB" + .DA #30,#2,$$"CC" + .DA #31,#2,$$"CD" + .DA #32,#2,$$"CE" + .DA #33,#2,$$"CF" +POPD.E .HS 00 +RS .DA RS.E+1-* + .DA #2,$$"RS" + .DA #255,#2,$$"0B" +RS.E .HS 00 +RTN .DA RTN.E+1-* + .DA #3,$$"RTN" + .DA #255,#3,$$"00r" +RTN.E .HS 00 +SET .DA SET.E+1-* + .DA #3,$$"SET" + .DA #1,#2,$$"10" + .DA #2,#2,$$"11" + .DA #3,#2,$$"12" + .DA #4,#2,$$"13" + .DA #5,#2,$$"14" + .DA #6,#2,$$"15" + .DA #7,#2,$$"16" + .DA #8,#2,$$"17" + .DA #9,#2,$$"18" + .DA #10,#2,$$"19" + .DA #11,#2,$$"1A" + .DA #12,#2,$$"1B" + .DA #13,#2,$$"1C" + .DA #14,#2,$$"1D" + .DA #15,#2,$$"1E" + .DA #16,#2,$$"1D" +SET.E .HS 00 +ST .DA ST.E+1-* + .DA #2,$$"ST" + .DA #1,#2,$$"30" + .DA #2,#2,$$"31" + .DA #3,#2,$$"32" + .DA #4,#2,$$"33" + .DA #5,#2,$$"34" + .DA #6,#2,$$"35" + .DA #7,#2,$$"36" + .DA #8,#2,$$"37" + .DA #9,#2,$$"38" + .DA #10,#2,$$"39" + .DA #11,#2,$$"3A" + .DA #12,#2,$$"3B" + .DA #13,#2,$$"3C" + .DA #14,#2,$$"3D" + .DA #15,#2,$$"3E" + .DA #16,#2,$$"3F" + .DA #18,#2,$$"50" + .DA #19,#2,$$"51" + .DA #20,#2,$$"52" + .DA #21,#2,$$"53" + .DA #22,#2,$$"54" + .DA #23,#2,$$"55" + .DA #24,#2,$$"56" + .DA #25,#2,$$"57" + .DA #26,#2,$$"58" + .DA #27,#2,$$"59" + .DA #28,#2,$$"5A" + .DA #29,#2,$$"5B" + .DA #30,#2,$$"5C" + .DA #31,#2,$$"5D" + .DA #32,#2,$$"5E" + .DA #33,#2,$$"5F" +ST.E .HS 00 +STD .DA STD.E+1-* + .DA #3,$$"STD" + .DA #18,#2,$$"70" + .DA #19,#2,$$"71" + .DA #20,#2,$$"72" + .DA #21,#2,$$"73" + .DA #22,#2,$$"74" + .DA #23,#2,$$"75" + .DA #24,#2,$$"76" + .DA #25,#2,$$"77" + .DA #26,#2,$$"78" + .DA #27,#2,$$"79" + .DA #28,#2,$$"7A" + .DA #29,#2,$$"7B" + .DA #30,#2,$$"7C" + .DA #31,#2,$$"7D" + .DA #32,#2,$$"7E" + .DA #33,#2,$$"7F" +STD.E .HS 00 +STP .DA STP.E+1-* + .DA #3,$$"STP" + .DA #18,#2,$$"90" + .DA #19,#2,$$"91" + .DA #20,#2,$$"92" + .DA #21,#2,$$"93" + .DA #22,#2,$$"94" + .DA #23,#2,$$"95" + .DA #24,#2,$$"96" + .DA #25,#2,$$"97" + .DA #26,#2,$$"98" + .DA #27,#2,$$"99" + .DA #28,#2,$$"9A" + .DA #29,#2,$$"9B" + .DA #30,#2,$$"9C" + .DA #31,#2,$$"9D" + .DA #32,#2,$$"9E" + .DA #33,#2,$$"9F" +STP.E .HS 00 +SUB .DA SUB.E+1-* + .DA #3,$$"SUB" + .DA #1,#2,$$"B0" + .DA #2,#2,$$"B1" + .DA #3,#2,$$"B2" + .DA #4,#2,$$"B3" + .DA #5,#2,$$"B4" + .DA #6,#2,$$"B5" + .DA #7,#2,$$"B6" + .DA #8,#2,$$"B7" + .DA #9,#2,$$"B8" + .DA #10,#2,$$"B9" + .DA #11,#2,$$"BA" + .DA #12,#2,$$"BB" + .DA #13,#2,$$"BC" + .DA #14,#2,$$"BD" + .DA #15,#2,$$"BE" + .DA #16,#2,$$"BF" SUB.E .HS 00 .HS 0000 *--------------------------------------- diff --git a/BIN/ASM.T.SW16.S.txt b/BIN/ASM.T.SW16.S.txt index 577ba2dc..9f1786fc 100644 --- a/BIN/ASM.T.SW16.S.txt +++ b/BIN/ASM.T.SW16.S.txt @@ -4,12 +4,6 @@ AUTO 4,1 .LIST OFF .OR $0 .TF /A2OSX.BUILD/BIN/DEV/ASM.T.SW16 -*--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM *--------------------------------------- .DA T.ADDR.MODES .DA T.REGISTERS diff --git a/BIN/ASM.T.Z80.A.txt b/BIN/ASM.T.Z80.A.txt index 7bb71c7a..67d1148a 100644 --- a/BIN/ASM.T.Z80.A.txt +++ b/BIN/ASM.T.Z80.A.txt @@ -3,210 +3,210 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "A,(HL)" - >PSTR "A,(IX+a)" - >PSTR "A,(IY+a)" - >PSTR "A,A" - >PSTR "A,a" - >PSTR "A,B" - >PSTR "A,C" - >PSTR "A,D" - >PSTR "A,E" - >PSTR "A,H" - >PSTR "A,L" - >PSTR "HL,BC" - >PSTR "HL,DE" - >PSTR "HL,HL" - >PSTR "HL,SP" - >PSTR "IX,BC" - >PSTR "IX,DE" - >PSTR "IX,IX" - >PSTR "IX,SP" - >PSTR "IY,BC" - >PSTR "IY,DE" - >PSTR "IY,IY" - >PSTR "IY,SP" - >PSTR "(HL)" - >PSTR "(IX+a)" - >PSTR "(IY+a)" - >PSTR "A" - >PSTR "a" - >PSTR "B" - >PSTR "C" - >PSTR "D" - >PSTR "E" - >PSTR "H" - >PSTR "L" - >PSTR "aa" - >PSTR "BC" - >PSTR "DE" - >PSTR "HL" - >PSTR "IX" - >PSTR "IY" - >PSTR "SP" - >PSTR "(SP),HL" - >PSTR "(SP),IX" - >PSTR "(SP),IY" - >PSTR "DE,HL" - >PSTR "A,(a)" - >PSTR "A,(C)" - >PSTR "B,(C)" - >PSTR "C,(C)" - >PSTR "D,(C)" - >PSTR "E,(C)" - >PSTR "H,(C)" - >PSTR "L,(C)" - >PSTR "(IX)" - >PSTR "(IY)" - >PSTR "(aa),A" - >PSTR "(aa),BC" - >PSTR "(aa),DE" - >PSTR "(aa),HL" - >PSTR "(aa),IX" - >PSTR "(aa),IY" - >PSTR "(aa),SP" - >PSTR "(BC),A" - >PSTR "(DE),A" - >PSTR "(HL),A" - >PSTR "(HL),a" - >PSTR "(HL),B" - >PSTR "(HL),C" - >PSTR "(HL),D" - >PSTR "(HL),E" - >PSTR "(HL),H" - >PSTR "(HL),L" - >PSTR "(IX+a),A" - >PSTR "(IX+a),a" - >PSTR "(IX+a),B" - >PSTR "(IX+a),C" - >PSTR "(IX+a),D" - >PSTR "(IX+a),E" - >PSTR "(IX+a),H" - >PSTR "(IX+a),L" - >PSTR "(IY+a),A" - >PSTR "(IY+a),a" - >PSTR "(IY+a),B" - >PSTR "(IY+a),C" - >PSTR "(IY+a),D" - >PSTR "(IY+a),E" - >PSTR "(IY+a),H" - >PSTR "(IY+a),L" - >PSTR "A,(aa)" - >PSTR "A,(BC)" - >PSTR "A,(DE)" - >PSTR "A,I" - >PSTR "A,R" - >PSTR "B,(HL)" - >PSTR "B,(IX+a)" - >PSTR "B,(IY+a)" - >PSTR "B,A" - >PSTR "B,a" - >PSTR "B,B" - >PSTR "B,C" - >PSTR "B,D" - >PSTR "B,E" - >PSTR "B,H" - >PSTR "B,L" - >PSTR "BC,(aa)" - >PSTR "BC,aa" - >PSTR "C,(HL)" - >PSTR "C,(IX+a)" - >PSTR "C,(IY+a)" - >PSTR "C,A" - >PSTR "C,a" - >PSTR "C,B" - >PSTR "C,C" - >PSTR "C,D" - >PSTR "C,E" - >PSTR "C,H" - >PSTR "C,L" - >PSTR "D,(HL)" - >PSTR "D,(IX+a)" - >PSTR "D,(IY+a)" - >PSTR "D,A" - >PSTR "D,a" - >PSTR "D,B" - >PSTR "D,C" - >PSTR "D,D" - >PSTR "D,E" - >PSTR "D,H" - >PSTR "D,L" - >PSTR "DE,(aa)" - >PSTR "DE,aa" - >PSTR "E,(HL)" - >PSTR "E,(IX+a)" - >PSTR "E,(IY+a)" - >PSTR "E,A" - >PSTR "E,a" - >PSTR "E,B" - >PSTR "E,C" - >PSTR "E,D" - >PSTR "E,E" - >PSTR "E,H" - >PSTR "E,L" - >PSTR "H,(HL)" - >PSTR "H,(IX+a)" - >PSTR "H,(IY+a)" - >PSTR "H,A" - >PSTR "H,a" - >PSTR "H,B" - >PSTR "H,C" - >PSTR "H,D" - >PSTR "H,E" - >PSTR "H,H" - >PSTR "H,L" - >PSTR "HL,(aa)" - >PSTR "HL,aa" - >PSTR "I,A" - >PSTR "IX,(aa)" - >PSTR "IX,aa" - >PSTR "IY,(aa)" - >PSTR "IY,aa" - >PSTR "L,(HL)" - >PSTR "L,(IX+a)" - >PSTR "L,(IY+a)" - >PSTR "L,A" - >PSTR "L,a" - >PSTR "L,B" - >PSTR "L,C" - >PSTR "L,D" - >PSTR "L,E" - >PSTR "L,H" - >PSTR "L,L" - >PSTR "R,A" - >PSTR "SP,(aa)" - >PSTR "SP,aa" - >PSTR "SP,HL" - >PSTR "SP,IX" - >PSTR "SP,IY" - >PSTR "(a),A" - >PSTR "(C),A" - >PSTR "(C),B" - >PSTR "(C),C" - >PSTR "(C),D" - >PSTR "(C),E" - >PSTR "(C),H" - >PSTR "(C),L" - >PSTR "AF" + .DA #6,$$"A,(HL)" + .DA #8,$$"A,(IX+a)" + .DA #8,$$"A,(IY+a)" + .DA #3,$$"A,A" + .DA #3,$$"A,a" + .DA #3,$$"A,B" + .DA #3,$$"A,C" + .DA #3,$$"A,D" + .DA #3,$$"A,E" + .DA #3,$$"A,H" + .DA #3,$$"A,L" + .DA #5,$$"HL,BC" + .DA #5,$$"HL,DE" + .DA #5,$$"HL,HL" + .DA #5,$$"HL,SP" + .DA #5,$$"IX,BC" + .DA #5,$$"IX,DE" + .DA #5,$$"IX,IX" + .DA #5,$$"IX,SP" + .DA #5,$$"IY,BC" + .DA #5,$$"IY,DE" + .DA #5,$$"IY,IY" + .DA #5,$$"IY,SP" + .DA #4,$$"(HL)" + .DA #6,$$"(IX+a)" + .DA #6,$$"(IY+a)" + .DA #1,$$"A" + .DA #1,$$"a" + .DA #1,$$"B" + .DA #1,$$"C" + .DA #1,$$"D" + .DA #1,$$"E" + .DA #1,$$"H" + .DA #1,$$"L" + .DA #2,$$"aa" + .DA #2,$$"BC" + .DA #2,$$"DE" + .DA #2,$$"HL" + .DA #2,$$"IX" + .DA #2,$$"IY" + .DA #2,$$"SP" + .DA #7,$$"(SP),HL" + .DA #7,$$"(SP),IX" + .DA #7,$$"(SP),IY" + .DA #5,$$"DE,HL" + .DA #5,$$"A,(a)" + .DA #5,$$"A,(C)" + .DA #5,$$"B,(C)" + .DA #5,$$"C,(C)" + .DA #5,$$"D,(C)" + .DA #5,$$"E,(C)" + .DA #5,$$"H,(C)" + .DA #5,$$"L,(C)" + .DA #4,$$"(IX)" + .DA #4,$$"(IY)" + .DA #6,$$"(aa),A" + .DA #7,$$"(aa),BC" + .DA #7,$$"(aa),DE" + .DA #7,$$"(aa),HL" + .DA #7,$$"(aa),IX" + .DA #7,$$"(aa),IY" + .DA #7,$$"(aa),SP" + .DA #6,$$"(BC),A" + .DA #6,$$"(DE),A" + .DA #6,$$"(HL),A" + .DA #6,$$"(HL),a" + .DA #6,$$"(HL),B" + .DA #6,$$"(HL),C" + .DA #6,$$"(HL),D" + .DA #6,$$"(HL),E" + .DA #6,$$"(HL),H" + .DA #6,$$"(HL),L" + .DA #8,$$"(IX+a),A" + .DA #8,$$"(IX+a),a" + .DA #8,$$"(IX+a),B" + .DA #8,$$"(IX+a),C" + .DA #8,$$"(IX+a),D" + .DA #8,$$"(IX+a),E" + .DA #8,$$"(IX+a),H" + .DA #8,$$"(IX+a),L" + .DA #8,$$"(IY+a),A" + .DA #8,$$"(IY+a),a" + .DA #8,$$"(IY+a),B" + .DA #8,$$"(IY+a),C" + .DA #8,$$"(IY+a),D" + .DA #8,$$"(IY+a),E" + .DA #8,$$"(IY+a),H" + .DA #8,$$"(IY+a),L" + .DA #6,$$"A,(aa)" + .DA #6,$$"A,(BC)" + .DA #6,$$"A,(DE)" + .DA #3,$$"A,I" + .DA #3,$$"A,R" + .DA #6,$$"B,(HL)" + .DA #8,$$"B,(IX+a)" + .DA #8,$$"B,(IY+a)" + .DA #3,$$"B,A" + .DA #3,$$"B,a" + .DA #3,$$"B,B" + .DA #3,$$"B,C" + .DA #3,$$"B,D" + .DA #3,$$"B,E" + .DA #3,$$"B,H" + .DA #3,$$"B,L" + .DA #7,$$"BC,(aa)" + .DA #5,$$"BC,aa" + .DA #6,$$"C,(HL)" + .DA #8,$$"C,(IX+a)" + .DA #8,$$"C,(IY+a)" + .DA #3,$$"C,A" + .DA #3,$$"C,a" + .DA #3,$$"C,B" + .DA #3,$$"C,C" + .DA #3,$$"C,D" + .DA #3,$$"C,E" + .DA #3,$$"C,H" + .DA #3,$$"C,L" + .DA #6,$$"D,(HL)" + .DA #8,$$"D,(IX+a)" + .DA #8,$$"D,(IY+a)" + .DA #3,$$"D,A" + .DA #3,$$"D,a" + .DA #3,$$"D,B" + .DA #3,$$"D,C" + .DA #3,$$"D,D" + .DA #3,$$"D,E" + .DA #3,$$"D,H" + .DA #3,$$"D,L" + .DA #7,$$"DE,(aa)" + .DA #5,$$"DE,aa" + .DA #6,$$"E,(HL)" + .DA #8,$$"E,(IX+a)" + .DA #8,$$"E,(IY+a)" + .DA #3,$$"E,A" + .DA #3,$$"E,a" + .DA #3,$$"E,B" + .DA #3,$$"E,C" + .DA #3,$$"E,D" + .DA #3,$$"E,E" + .DA #3,$$"E,H" + .DA #3,$$"E,L" + .DA #6,$$"H,(HL)" + .DA #8,$$"H,(IX+a)" + .DA #8,$$"H,(IY+a)" + .DA #3,$$"H,A" + .DA #3,$$"H,a" + .DA #3,$$"H,B" + .DA #3,$$"H,C" + .DA #3,$$"H,D" + .DA #3,$$"H,E" + .DA #3,$$"H,H" + .DA #3,$$"H,L" + .DA #7,$$"HL,(aa)" + .DA #5,$$"HL,aa" + .DA #3,$$"I,A" + .DA #7,$$"IX,(aa)" + .DA #5,$$"IX,aa" + .DA #7,$$"IY,(aa)" + .DA #5,$$"IY,aa" + .DA #6,$$"L,(HL)" + .DA #8,$$"L,(IX+a)" + .DA #8,$$"L,(IY+a)" + .DA #3,$$"L,A" + .DA #3,$$"L,a" + .DA #3,$$"L,B" + .DA #3,$$"L,C" + .DA #3,$$"L,D" + .DA #3,$$"L,E" + .DA #3,$$"L,H" + .DA #3,$$"L,L" + .DA #3,$$"R,A" + .DA #7,$$"SP,(aa)" + .DA #5,$$"SP,aa" + .DA #5,$$"SP,HL" + .DA #5,$$"SP,IX" + .DA #5,$$"SP,IY" + .DA #5,$$"(a),A" + .DA #5,$$"(C),A" + .DA #5,$$"(C),B" + .DA #5,$$"(C),C" + .DA #5,$$"(C),D" + .DA #5,$$"(C),E" + .DA #5,$$"(C),H" + .DA #5,$$"(C),L" + .DA #2,$$"AF" .HS 00 *--------------------------------------- T.REGISTERS .EQ * - >PSTR "A" - >PSTR "HL" - >PSTR "IX" - >PSTR "IY" - >PSTR "B" - >PSTR "C" - >PSTR "D" - >PSTR "E" - >PSTR "H" - >PSTR "L" - >PSTR "BC" - >PSTR "DE" - >PSTR "SP" - >PSTR "I" - >PSTR "R" - >PSTR "AF" + .DA #1,$$"A" + .DA #2,$$"HL" + .DA #2,$$"IX" + .DA #2,$$"IY" + .DA #1,$$"B" + .DA #1,$$"C" + .DA #1,$$"D" + .DA #1,$$"E" + .DA #1,$$"H" + .DA #1,$$"L" + .DA #2,$$"BC" + .DA #2,$$"DE" + .DA #2,$$"SP" + .DA #1,$$"I" + .DA #1,$$"R" + .DA #2,$$"AF" .HS 00 *--------------------------------------- MAN diff --git a/BIN/ASM.T.Z80.O.txt b/BIN/ASM.T.Z80.O.txt index 458cc368..cd991067 100644 --- a/BIN/ASM.T.Z80.O.txt +++ b/BIN/ASM.T.Z80.O.txt @@ -3,1777 +3,1077 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- T.OPCODES .EQ * -ADC .DA ADC.E+1-* - >PSTR "ADC" - .HS 01 - >PSTR "8E" - .HS 02 - >PSTR "DD8Ea" - .HS 03 - >PSTR "FD8Ea" - .HS 04 - >PSTR "8F" - .HS 05 - >PSTR "CEa" - .HS 06 - >PSTR "88" - .HS 07 - >PSTR "89" - .HS 08 - >PSTR "8A" - .HS 09 - >PSTR "8B" - .HS 0A - >PSTR "8C" - .HS 0B - >PSTR "8D" - .HS 0C - >PSTR "ED4A" - .HS 0D - >PSTR "ED5A" - .HS 0E - >PSTR "ED6A" - .HS 0F - >PSTR "ED7A" -ADC.E .HS 00 -ADD .DA ADD.E+1-* - >PSTR "ADD" - .HS 01 - >PSTR "86" - .HS 02 - >PSTR "DD86a" - .HS 03 - >PSTR "FD86a" - .HS 04 - >PSTR "87" - .HS 05 - >PSTR "C6a" - .HS 06 - >PSTR "80" - .HS 07 - >PSTR "81" - .HS 08 - >PSTR "82" - .HS 09 - >PSTR "83" - .HS 0A - >PSTR "84" - .HS 0B - >PSTR "85" - .HS 0C - >PSTR "09" - .HS 0D - >PSTR "19" - .HS 0E - >PSTR "29" - .HS 0F - >PSTR "39" - .HS 10 - >PSTR "DD09" - .HS 11 - >PSTR "DD19" - .HS 12 - >PSTR "DD29" - .HS 13 - >PSTR "DD39" - .HS 14 - >PSTR "FD09" - .HS 15 - >PSTR "FD19" - .HS 16 - >PSTR "FD29" - .HS 17 - >PSTR "FD39" -ADD.E .HS 00 -AND .DA AND.E+1-* - >PSTR "AND" - .HS 18 - >PSTR "A6" - .HS 19 - >PSTR "DDA6a" - .HS 1A - >PSTR "FDA6a" - .HS 1B - >PSTR "A7" - .HS 1C - >PSTR "E6a" - .HS 1D - >PSTR "A0" - .HS 1E - >PSTR "A1" - .HS 1F - >PSTR "A2" - .HS 20 - >PSTR "A3" - .HS 21 - >PSTR "A4" - .HS 22 - >PSTR "A5" -AND.E .HS 00 -BIT0 .DA BIT0.E+1-* - >PSTR "BIT0" - .HS 18 - >PSTR "CB46" - .HS 19 - >PSTR "DDCBa46" - .HS 1A - >PSTR "FDCBa46" - .HS 1B - >PSTR "CB47" - .HS 1D - >PSTR "CB40" - .HS 1E - >PSTR "CB41" - .HS 1F - >PSTR "CB42" - .HS 20 - >PSTR "CB43" - .HS 21 - >PSTR "CB44" - .HS 22 - >PSTR "CB45" -BIT0.E .HS 00 -BIT1 .DA BIT1.E+1-* - >PSTR "BIT1" - .HS 18 - >PSTR "CB4E" - .HS 19 - >PSTR "DDCBa4E" - .HS 1A - >PSTR "FDCBa4E" - .HS 1B - >PSTR "CB4F" - .HS 1D - >PSTR "CB48" - .HS 1E - >PSTR "CB49" - .HS 1F - >PSTR "CB4A" - .HS 20 - >PSTR "CB4B" - .HS 21 - >PSTR "CB4C" - .HS 22 - >PSTR "CB4D" -BIT1.E .HS 00 -BIT2 .DA BIT2.E+1-* - >PSTR "BIT2" - .HS 18 - >PSTR "CB56" - .HS 19 - >PSTR "DDCBa56" - .HS 1A - >PSTR "FDCBa56" - .HS 1B - >PSTR "CB57" - .HS 1D - >PSTR "CB50" - .HS 1E - >PSTR "CB51" - .HS 1F - >PSTR "CB52" - .HS 20 - >PSTR "CB53" - .HS 21 - >PSTR "CB54" - .HS 22 - >PSTR "CB55" -BIT2.E .HS 00 -BIT3 .DA BIT3.E+1-* - >PSTR "BIT3" - .HS 18 - >PSTR "CB5E" - .HS 19 - >PSTR "DDCBa5E" - .HS 1A - >PSTR "FDCBa5E" - .HS 1B - >PSTR "CB5F" - .HS 1D - >PSTR "CB58" - .HS 1E - >PSTR "CB59" - .HS 1F - >PSTR "CB5A" - .HS 20 - >PSTR "CB5B" - .HS 21 - >PSTR "CB5C" - .HS 22 - >PSTR "CB5D" -BIT3.E .HS 00 -BIT4 .DA BIT4.E+1-* - >PSTR "BIT4" - .HS 18 - >PSTR "CB66" - .HS 19 - >PSTR "DDCBa66" - .HS 1A - >PSTR "FDCBa66" - .HS 1B - >PSTR "CB67" - .HS 1D - >PSTR "CB60" - .HS 1E - >PSTR "CB61" - .HS 1F - >PSTR "CB62" - .HS 20 - >PSTR "CB63" - .HS 21 - >PSTR "CB64" - .HS 22 - >PSTR "CB65" -BIT4.E .HS 00 -BIT5 .DA BIT5.E+1-* - >PSTR "BIT5" - .HS 18 - >PSTR "CB6E" - .HS 19 - >PSTR "DDCBa6E" - .HS 1A - >PSTR "FDCBa6E" - .HS 1B - >PSTR "CB6F" - .HS 1D - >PSTR "CB68" - .HS 1E - >PSTR "CB69" - .HS 1F - >PSTR "CB6A" - .HS 20 - >PSTR "CB6B" - .HS 21 - >PSTR "CB6C" - .HS 22 - >PSTR "CB6D" -BIT5.E .HS 00 -BIT6 .DA BIT6.E+1-* - >PSTR "BIT6" - .HS 18 - >PSTR "CB76" - .HS 19 - >PSTR "DDCBa76" - .HS 1A - >PSTR "FDCBa76" - .HS 1B - >PSTR "CB77" - .HS 1D - >PSTR "CB70" - .HS 1E - >PSTR "CB71" - .HS 1F - >PSTR "CB72" - .HS 20 - >PSTR "CB73" - .HS 21 - >PSTR "CB74" - .HS 22 - >PSTR "CB75" -BIT6.E .HS 00 -BIT7 .DA BIT7.E+1-* - >PSTR "BIT7" - .HS 18 - >PSTR "CB7E" - .HS 19 - >PSTR "DDCBa7E" - .HS 1A - >PSTR "FDCBa7E" - .HS 1B - >PSTR "CB7F" - .HS 1D - >PSTR "CB78" - .HS 1E - >PSTR "CB79" - .HS 1F - >PSTR "CB7A" - .HS 20 - >PSTR "CB7B" - .HS 21 - >PSTR "CB7C" - .HS 22 - >PSTR "CB7D" -BIT7.E .HS 00 -CALL .DA CALL.E+1-* - >PSTR "CALL" - .HS 23 - >PSTR "CDaa" -CALL.E .HS 00 -CALLC .DA CALLC.E+1-* - >PSTR "CALLC" - .HS 23 - >PSTR "DCaa" -CALLC.E .HS 00 -CALLM .DA CALLM.E+1-* - >PSTR "CALLM" - .HS 23 - >PSTR "FCaa" -CALLM.E .HS 00 -CALLNC .DA CALLNC.E+1-* - >PSTR "CALLNC" - .HS 23 - >PSTR "D4aa" -CALLNC.E .HS 00 -CALLNZ .DA CALLNZ.E+1-* - >PSTR "CALLNZ" - .HS 23 - >PSTR "C4aa" -CALLNZ.E .HS 00 -CALLP .DA CALLP.E+1-* - >PSTR "CALLP" - .HS 23 - >PSTR "F4aa" -CALLP.E .HS 00 -CALLPE .DA CALLPE.E+1-* - >PSTR "CALLPE" - .HS 23 - >PSTR "ECaa" -CALLPE.E .HS 00 -CALLPO .DA CALLPO.E+1-* - >PSTR "CALLPO" - .HS 23 - >PSTR "E4aa" -CALLPO.E .HS 00 -CALLZ .DA CALLZ.E+1-* - >PSTR "CALLZ" - .HS 23 - >PSTR "CCaa" -CALLZ.E .HS 00 -CCF .DA CCF.E+1-* - >PSTR "CCF" - .HS FF - >PSTR "3F" -CCF.E .HS 00 -CP .DA CP.E+1-* - >PSTR "CP" - .HS 18 - >PSTR "BE" - .HS 19 - >PSTR "DDBEa" - .HS 1A - >PSTR "FDBEa" - .HS 1B - >PSTR "BF" - .HS 1C - >PSTR "FEa" - .HS 1D - >PSTR "B8" - .HS 1E - >PSTR "B9" - .HS 1F - >PSTR "BA" - .HS 20 - >PSTR "BB" - .HS 21 - >PSTR "BC" - .HS 22 - >PSTR "BD" -CP.E .HS 00 -CPD .DA CPD.E+1-* - >PSTR "CPD" - .HS FF - >PSTR "EDA9" -CPD.E .HS 00 -CPDR .DA CPDR.E+1-* - >PSTR "CPDR" - .HS FF - >PSTR "EDB9" -CPDR.E .HS 00 -CPI .DA CPI.E+1-* - >PSTR "CPI" - .HS FF - >PSTR "EDA1" -CPI.E .HS 00 -CPIR .DA CPIR.E+1-* - >PSTR "CPIR" - .HS FF - >PSTR "EDB1" -CPIR.E .HS 00 -CPL .DA CPL.E+1-* - >PSTR "CPL" - .HS FF - >PSTR "2F" -CPL.E .HS 00 -DAA .DA DAA.E+1-* - >PSTR "DAA" - .HS FF - >PSTR "27" -DAA.E .HS 00 -DEC .DA DEC.E+1-* - >PSTR "DEC" - .HS 18 - >PSTR "35" - .HS 19 - >PSTR "DD35a" - .HS 1A - >PSTR "FD35a" - .HS 1B - >PSTR "3D" - .HS 1D - >PSTR "05" - .HS 24 - >PSTR "0B" - .HS 1E - >PSTR "0D" - .HS 1F - >PSTR "15" - .HS 25 - >PSTR "1B" - .HS 20 - >PSTR "1D" - .HS 21 - >PSTR "25" - .HS 26 - >PSTR "2B" - .HS 27 - >PSTR "DD2B" - .HS 28 - >PSTR "FD2B" - .HS 22 - >PSTR "2D" - .HS 29 - >PSTR "3B" -DEC.E .HS 00 -DI .DA DI.E+1-* - >PSTR "DI" - .HS FF - >PSTR "F3" -DI.E .HS 00 -DJNZ .DA DJNZ.E+1-* - >PSTR "DJNZ" - .HS 23 - >PSTR "10r" -DJNZ.E .HS 00 -EI .DA EI.E+1-* - >PSTR "EI" - .HS FF - >PSTR "FB" -EI.E .HS 00 -EX .DA EX.E+1-* - >PSTR "EX" - .HS 2A - >PSTR "E3" - .HS 2B - >PSTR "DDE3" - .HS 2C - >PSTR "FDE3" - .HS 2D - >PSTR "EB" - .HS FF - >PSTR "08" -EX.E .HS 00 -EXX .DA EXX.E+1-* - >PSTR "EXX" - .HS FF - >PSTR "D9" -EXX.E .HS 00 -HLT .DA HLT.E+1-* - >PSTR "HLT" - .HS FF - >PSTR "76" -HLT.E .HS 00 -IM0 .DA IM0.E+1-* - >PSTR "IM0" - .HS FF - >PSTR "ED46" -IM0.E .HS 00 -IM1 .DA IM1.E+1-* - >PSTR "IM1" - .HS FF - >PSTR "ED56" -IM1.E .HS 00 -IM2 .DA IM2.E+1-* - >PSTR "IM2" - .HS FF - >PSTR "ED5E" -IM2.E .HS 00 -IN .DA IN.E+1-* - >PSTR "IN" - .HS 2E - >PSTR "DBa" - .HS 2F - >PSTR "ED78" - .HS 30 - >PSTR "ED40" - .HS 31 - >PSTR "ED48" - .HS 32 - >PSTR "ED50" - .HS 33 - >PSTR "ED58" - .HS 34 - >PSTR "ED60" - .HS 35 - >PSTR "ED68" -IN.E .HS 00 -INC .DA INC.E+1-* - >PSTR "INC" - .HS 18 - >PSTR "34" - .HS 19 - >PSTR "DD34a" - .HS 1A - >PSTR "FD34a" - .HS 1B - >PSTR "3C" - .HS 1D - >PSTR "04" - .HS 24 - >PSTR "03" - .HS 1E - >PSTR "0C" - .HS 1F - >PSTR "14" - .HS 25 - >PSTR "13" - .HS 20 - >PSTR "1C" - .HS 21 - >PSTR "24" - .HS 26 - >PSTR "23" - .HS 27 - >PSTR "DD23" - .HS 28 - >PSTR "FD23" - .HS 22 - >PSTR "2C" - .HS 29 - >PSTR "33" -INC.E .HS 00 -IND .DA IND.E+1-* - >PSTR "IND" - .HS FF - >PSTR "EDAA" -IND.E .HS 00 -INDR .DA INDR.E+1-* - >PSTR "INDR" - .HS FF - >PSTR "EDBA" -INDR.E .HS 00 -INI .DA INI.E+1-* - >PSTR "INI" - .HS FF - >PSTR "EDA2" -INI.E .HS 00 -INIR .DA INIR.E+1-* - >PSTR "INIR" - .HS FF - >PSTR "EDB2" -INIR.E .HS 00 -JP .DA JP.E+1-* - >PSTR "JP" - .HS 18 - >PSTR "E9" - .HS 36 - >PSTR "DDE9" - .HS 37 - >PSTR "FDE9" - .HS 23 - >PSTR "C3aa" -JP.E .HS 00 -JPC .DA JPC.E+1-* - >PSTR "JPC" - .HS 23 - >PSTR "DAaa" -JPC.E .HS 00 -JPM .DA JPM.E+1-* - >PSTR "JPM" - .HS 23 - >PSTR "FAaa" -JPM.E .HS 00 -JPNC .DA JPNC.E+1-* - >PSTR "JPNC" - .HS 23 - >PSTR "D2aa" -JPNC.E .HS 00 -JPNZ .DA JPNZ.E+1-* - >PSTR "JPNZ" - .HS 23 - >PSTR "C2aa" -JPNZ.E .HS 00 -JPP .DA JPP.E+1-* - >PSTR "JPP" - .HS 23 - >PSTR "F2aa" -JPP.E .HS 00 -JPPE .DA JPPE.E+1-* - >PSTR "JPPE" - .HS 23 - >PSTR "EAaa" -JPPE.E .HS 00 -JPPO .DA JPPO.E+1-* - >PSTR "JPPO" - .HS 23 - >PSTR "E2aa" -JPPO.E .HS 00 -JPZ .DA JPZ.E+1-* - >PSTR "JPZ" - .HS 23 - >PSTR "CAaa" -JPZ.E .HS 00 -JR .DA JR.E+1-* - >PSTR "JR" - .HS 23 - >PSTR "18r" -JR.E .HS 00 -JRC .DA JRC.E+1-* - >PSTR "JRC" - .HS 23 - >PSTR "38r" -JRC.E .HS 00 -JRNC .DA JRNC.E+1-* - >PSTR "JRNC" - .HS 23 - >PSTR "30r" -JRNC.E .HS 00 -JRNZ .DA JRNZ.E+1-* - >PSTR "JRNZ" - .HS 23 - >PSTR "20r" -JRNZ.E .HS 00 -JRZ .DA JRZ.E+1-* - >PSTR "JRZ" - .HS 23 - >PSTR "28r" -JRZ.E .HS 00 -LD .DA LD.E+1-* - >PSTR "LD" - .HS 38 - >PSTR "32aa" - .HS 39 - >PSTR "ED43aa" - .HS 3A - >PSTR "ED53aa" - .HS 3B - >PSTR "22aa" - .HS 3B - >PSTR "ED6Baa" - .HS 3C - >PSTR "DD22aa" - .HS 3D - >PSTR "DD22aa" - .HS 3E - >PSTR "ED73aa" - .HS 3F - >PSTR "02" - .HS 40 - >PSTR "12" - .HS 41 - >PSTR "77" - .HS 42 - >PSTR "36a" - .HS 43 - >PSTR "70" - .HS 44 - >PSTR "71" - .HS 45 - >PSTR "72" - .HS 46 - >PSTR "73" - .HS 47 - >PSTR "74" - .HS 48 - >PSTR "75" - .HS 49 - >PSTR "DD77a" - .HS 4A - >PSTR "DD36aa" - .HS 4A - >PSTR "DD76aa" - .HS 4B - >PSTR "DD70a" - .HS 4C - >PSTR "DD71a" - .HS 4D - >PSTR "DD72a" - .HS 4E - >PSTR "DD73a" - .HS 4F - >PSTR "DD74a" - .HS 50 - >PSTR "DD75a" - .HS 51 - >PSTR "FD77a" - .HS 52 - >PSTR "FD36aa" - .HS 52 - >PSTR "FD76aa" - .HS 53 - >PSTR "FD70a" - .HS 54 - >PSTR "FD71a" - .HS 55 - >PSTR "FD72a" - .HS 56 - >PSTR "FD73a" - .HS 57 - >PSTR "FD74a" - .HS 58 - >PSTR "FD75a" - .HS 59 - >PSTR "3Aaa" - .HS 5A - >PSTR "0A" - .HS 5B - >PSTR "1A" - .HS 01 - >PSTR "7E" - .HS 02 - >PSTR "DD7Ea" - .HS 03 - >PSTR "FD7Ea" - .HS 04 - >PSTR "7F" - .HS 05 - >PSTR "3Ea" - .HS 06 - >PSTR "78" - .HS 07 - >PSTR "79" - .HS 08 - >PSTR "7A" - .HS 09 - >PSTR "7B" - .HS 0A - >PSTR "7C" - .HS 5C - >PSTR "ED57" - .HS 0B - >PSTR "7D" - .HS 5D - >PSTR "ED5F" - .HS 5E - >PSTR "46" - .HS 5F - >PSTR "DD46r" - .HS 60 - >PSTR "FD46r" - .HS 61 - >PSTR "47" - .HS 62 - >PSTR "06a" - .HS 63 - >PSTR "40" - .HS 64 - >PSTR "41" - .HS 65 - >PSTR "42" - .HS 66 - >PSTR "43" - .HS 67 - >PSTR "44" - .HS 68 - >PSTR "45" - .HS 69 - >PSTR "ED4Baa" - .HS 6A - >PSTR "01aa" - .HS 6B - >PSTR "4E" - .HS 6C - >PSTR "DD4Er" - .HS 6D - >PSTR "FD4Er" - .HS 6E - >PSTR "4F" - .HS 6F - >PSTR "0Ea" - .HS 70 - >PSTR "48" - .HS 71 - >PSTR "49" - .HS 72 - >PSTR "4A" - .HS 73 - >PSTR "4B" - .HS 74 - >PSTR "4C" - .HS 75 - >PSTR "4D" - .HS 76 - >PSTR "56" - .HS 77 - >PSTR "DD56a" - .HS 78 - >PSTR "FD56a" - .HS 79 - >PSTR "57" - .HS 7A - >PSTR "16a" - .HS 7B - >PSTR "50" - .HS 7C - >PSTR "51" - .HS 7D - >PSTR "52" - .HS 7E - >PSTR "53" - .HS 7F - >PSTR "54" - .HS 80 - >PSTR "55" - .HS 81 - >PSTR "ED5Baa" - .HS 82 - >PSTR "11aa" - .HS 83 - >PSTR "5E" - .HS 84 - >PSTR "DD5Ea" - .HS 85 - >PSTR "FD5Ea" - .HS 86 - >PSTR "5F" - .HS 87 - >PSTR "1Ea" - .HS 88 - >PSTR "58" - .HS 89 - >PSTR "59" - .HS 8A - >PSTR "5A" - .HS 8B - >PSTR "5B" - .HS 8C - >PSTR "5C" - .HS 8D - >PSTR "5D" - .HS 8E - >PSTR "66" - .HS 8F - >PSTR "DD66a" - .HS 90 - >PSTR "FD66a" - .HS 91 - >PSTR "67" - .HS 92 - >PSTR "26a" - .HS 93 - >PSTR "60" - .HS 94 - >PSTR "61" - .HS 95 - >PSTR "62" - .HS 96 - >PSTR "63" - .HS 97 - >PSTR "64" - .HS 98 - >PSTR "65" - .HS 99 - >PSTR "2Aaa" - .HS 99 - >PSTR "ED6Baa" - .HS 9A - >PSTR "21aa" - .HS 9B - >PSTR "ED47" - .HS 9C - >PSTR "DD2Aaa" - .HS 9D - >PSTR "DD21aa" - .HS 9E - >PSTR "FD2Aaa" - .HS 9F - >PSTR "FD21aa" - .HS A0 - >PSTR "6E" - .HS A1 - >PSTR "DD6Ea" - .HS A2 - >PSTR "FD6Ea" - .HS A3 - >PSTR "6F" - .HS A4 - >PSTR "2Ea" - .HS A5 - >PSTR "68" - .HS A6 - >PSTR "69" - .HS A7 - >PSTR "6A" - .HS A8 - >PSTR "6B" - .HS A9 - >PSTR "6C" - .HS AA - >PSTR "6D" - .HS AB - >PSTR "ED4F" - .HS AC - >PSTR "ED7Baa" - .HS AD - >PSTR "31aa" - .HS AE - >PSTR "F9" - .HS AF - >PSTR "DDF9" - .HS B0 - >PSTR "FDF9" -LD.E .HS 00 -LDD .DA LDD.E+1-* - >PSTR "LDD" - .HS FF - >PSTR "EDA8" -LDD.E .HS 00 -LDDR .DA LDDR.E+1-* - >PSTR "LDDR" - .HS FF - >PSTR "EDB8" -LDDR.E .HS 00 -LDI .DA LDI.E+1-* - >PSTR "LDI" - .HS FF - >PSTR "EDA0" -LDI.E .HS 00 -LDIR .DA LDIR.E+1-* - >PSTR "LDIR" - .HS FF - >PSTR "EDB0" -LDIR.E .HS 00 -NEG .DA NEG.E+1-* - >PSTR "NEG" - .HS FF - >PSTR "ED44" -NEG.E .HS 00 -NOP .DA NOP.E+1-* - >PSTR "NOP" - .HS FF - >PSTR "00" -NOP.E .HS 00 -OR .DA OR.E+1-* - >PSTR "OR" - .HS 18 - >PSTR "B6" - .HS 19 - >PSTR "DDB6a" - .HS 1A - >PSTR "FDB6a" - .HS 1B - >PSTR "B7" - .HS 1C - >PSTR "F6a" - .HS 1D - >PSTR "B0" - .HS 1E - >PSTR "B1" - .HS 1F - >PSTR "B2" - .HS 20 - >PSTR "B3" - .HS 21 - >PSTR "B4" - .HS 22 - >PSTR "B5" -OR.E .HS 00 -OTDR .DA OTDR.E+1-* - >PSTR "OTDR" - .HS FF - >PSTR "EDBB" -OTDR.E .HS 00 -OTIR .DA OTIR.E+1-* - >PSTR "OTIR" - .HS FF - >PSTR "EDB3" -OTIR.E .HS 00 -OUT .DA OUT.E+1-* - >PSTR "OUT" - .HS B1 - >PSTR "D3a" - .HS B2 - >PSTR "ED79" - .HS B3 - >PSTR "ED41" - .HS B4 - >PSTR "ED49" - .HS B5 - >PSTR "ED51" - .HS B6 - >PSTR "ED59" - .HS B7 - >PSTR "ED61" - .HS B8 - >PSTR "ED69" -OUT.E .HS 00 -OUTD .DA OUTD.E+1-* - >PSTR "OUTD" - .HS FF - >PSTR "EDAB" -OUTD.E .HS 00 -OUTI .DA OUTI.E+1-* - >PSTR "OUTI" - .HS FF - >PSTR "EDA3" -OUTI.E .HS 00 -POP .DA POP.E+1-* - >PSTR "POP" - .HS B9 - >PSTR "F1" - .HS 24 - >PSTR "C1" - .HS 25 - >PSTR "D1" - .HS 26 - >PSTR "E1" - .HS 27 - >PSTR "DDE1" - .HS 28 - >PSTR "FDE1" -POP.E .HS 00 -PUSH .DA PUSH.E+1-* - >PSTR "PUSH" - .HS B9 - >PSTR "F5" - .HS 24 - >PSTR "C5" - .HS 25 - >PSTR "D5" - .HS 26 - >PSTR "E5" - .HS 27 - >PSTR "DDE5" - .HS 28 - >PSTR "FDE5" -PUSH.E .HS 00 -RES0 .DA RES0.E+1-* - >PSTR "RES0" - .HS 18 - >PSTR "CB86" - .HS 19 - >PSTR "DDCBa86" - .HS 1A - >PSTR "FDCBa86" - .HS 1B - >PSTR "CB87" - .HS 1D - >PSTR "CB80" - .HS 1E - >PSTR "CB81" - .HS 1F - >PSTR "CB82" - .HS 20 - >PSTR "CB83" - .HS 21 - >PSTR "CB84" - .HS 22 - >PSTR "CB85" -RES0.E .HS 00 -RES1 .DA RES1.E+1-* - >PSTR "RES1" - .HS 18 - >PSTR "CB8E" - .HS 19 - >PSTR "DDCBa8E" - .HS 1A - >PSTR "FDCBa8E" - .HS 1B - >PSTR "CB8F" - .HS 1D - >PSTR "CB88" - .HS 1E - >PSTR "CB89" - .HS 1F - >PSTR "CB8A" - .HS 20 - >PSTR "CB8B" - .HS 21 - >PSTR "CB8C" - .HS 22 - >PSTR "CB8D" -RES1.E .HS 00 -RES2 .DA RES2.E+1-* - >PSTR "RES2" - .HS 18 - >PSTR "CB96" - .HS 19 - >PSTR "DDCBa96" - .HS 1A - >PSTR "FDCBa96" - .HS 1B - >PSTR "CB97" - .HS 1D - >PSTR "CB90" - .HS 1E - >PSTR "CB91" - .HS 1F - >PSTR "CB92" - .HS 20 - >PSTR "CB93" - .HS 21 - >PSTR "CB94" - .HS 22 - >PSTR "CB95" -RES2.E .HS 00 -RES3 .DA RES3.E+1-* - >PSTR "RES3" - .HS 18 - >PSTR "CB9E" - .HS 19 - >PSTR "DDCBa9E" - .HS 1A - >PSTR "FDCBa9E" - .HS 1B - >PSTR "CB9F" - .HS 1D - >PSTR "CB98" - .HS 1E - >PSTR "CB99" - .HS 1F - >PSTR "CB9A" - .HS 20 - >PSTR "CB9B" - .HS 21 - >PSTR "CB9C" - .HS 22 - >PSTR "CB9D" -RES3.E .HS 00 -RES4 .DA RES4.E+1-* - >PSTR "RES4" - .HS 18 - >PSTR "CBA6" - .HS 19 - >PSTR "DDCBaA6" - .HS 1A - >PSTR "FDCBaA6" - .HS 1B - >PSTR "CBA7" - .HS 1D - >PSTR "CBA0" - .HS 1E - >PSTR "CBA1" - .HS 1F - >PSTR "CBA2" - .HS 20 - >PSTR "CBA3" - .HS 21 - >PSTR "CBA4" - .HS 22 - >PSTR "CBA5" -RES4.E .HS 00 -RES5 .DA RES5.E+1-* - >PSTR "RES5" - .HS 18 - >PSTR "CBAE" - .HS 19 - >PSTR "DDCBaAE" - .HS 1A - >PSTR "FDCBaAE" - .HS 1B - >PSTR "CBAF" - .HS 1D - >PSTR "CBA8" - .HS 1E - >PSTR "CBA9" - .HS 1F - >PSTR "CBAA" - .HS 20 - >PSTR "CBAB" - .HS 21 - >PSTR "CBAC" - .HS 22 - >PSTR "CBAD" -RES5.E .HS 00 -RES6 .DA RES6.E+1-* - >PSTR "RES6" - .HS 18 - >PSTR "CBB6" - .HS 19 - >PSTR "DDCBaB6" - .HS 1A - >PSTR "FDCBaB6" - .HS 1B - >PSTR "CBB7" - .HS 1D - >PSTR "CBB0" - .HS 1E - >PSTR "CBB1" - .HS 1F - >PSTR "CBB2" - .HS 20 - >PSTR "CBB3" - .HS 21 - >PSTR "CBB4" - .HS 22 - >PSTR "CBB5" -RES6.E .HS 00 -RES7 .DA RES7.E+1-* - >PSTR "RES7" - .HS 18 - >PSTR "CBBE" - .HS 19 - >PSTR "DDCBaBE" - .HS 1A - >PSTR "FDCBaBE" - .HS 1B - >PSTR "CBBF" - .HS 1D - >PSTR "CBB8" - .HS 1E - >PSTR "CBB9" - .HS 1F - >PSTR "CBBA" - .HS 20 - >PSTR "CBBB" - .HS 21 - >PSTR "CBBC" - .HS 22 - >PSTR "CBBD" -RES7.E .HS 00 -RET .DA RET.E+1-* - >PSTR "RET" - .HS FF - >PSTR "C9" -RET.E .HS 00 -RETC .DA RETC.E+1-* - >PSTR "RETC" - .HS FF - >PSTR "D8" -RETC.E .HS 00 -RETI .DA RETI.E+1-* - >PSTR "RETI" - .HS FF - >PSTR "ED4D" -RETI.E .HS 00 -RETM .DA RETM.E+1-* - >PSTR "RETM" - .HS FF - >PSTR "F8" -RETM.E .HS 00 -RETN .DA RETN.E+1-* - >PSTR "RETN" - .HS FF - >PSTR "ED45" -RETN.E .HS 00 -RETNC .DA RETNC.E+1-* - >PSTR "RETNC" - .HS FF - >PSTR "D0" -RETNC.E .HS 00 -RETNZ .DA RETNZ.E+1-* - >PSTR "RETNZ" - .HS FF - >PSTR "C0" -RETNZ.E .HS 00 -RETP .DA RETP.E+1-* - >PSTR "RETP" - .HS FF - >PSTR "F0" -RETP.E .HS 00 -RETPE .DA RETPE.E+1-* - >PSTR "RETPE" - .HS FF - >PSTR "E8" -RETPE.E .HS 00 -RETPO .DA RETPO.E+1-* - >PSTR "RETPO" - .HS FF - >PSTR "E0" -RETPO.E .HS 00 -RETZ .DA RETZ.E+1-* - >PSTR "RETZ" - .HS FF - >PSTR "C8" -RETZ.E .HS 00 -RL .DA RL.E+1-* - >PSTR "RL" - .HS 18 - >PSTR "CB16" - .HS 18 - >PSTR "CB1E" - .HS 19 - >PSTR "DDCBa16" - .HS 19 - >PSTR "DDCBa1E" - .HS 1A - >PSTR "FDCBa16" - .HS 1A - >PSTR "FDCBa1E" - .HS 1B - >PSTR "CB17" - .HS 1B - >PSTR "CB1F" - .HS 1D - >PSTR "CB10" - .HS 1D - >PSTR "CB18" - .HS 1E - >PSTR "CB11" - .HS 1E - >PSTR "CB19" - .HS 1F - >PSTR "CB12" - .HS 1F - >PSTR "CB1A" - .HS 20 - >PSTR "CB13" - .HS 20 - >PSTR "CB1B" - .HS 21 - >PSTR "CB14" - .HS 21 - >PSTR "CB1C" - .HS 22 - >PSTR "CB15" - .HS 22 - >PSTR "CB1D" -RL.E .HS 00 -RLA .DA RLA.E+1-* - >PSTR "RLA" - .HS FF - >PSTR "17" -RLA.E .HS 00 -RLC .DA RLC.E+1-* - >PSTR "RLC" - .HS 18 - >PSTR "CB06" - .HS 19 - >PSTR "DDCBa06" - .HS 1A - >PSTR "FDCBa06" - .HS 1B - >PSTR "CB07" - .HS 1D - >PSTR "CB00" - .HS 1E - >PSTR "CB01" - .HS 1F - >PSTR "CB02" - .HS 20 - >PSTR "CB03" - .HS 21 - >PSTR "CB04" - .HS 22 - >PSTR "CB05" -RLC.E .HS 00 -RLCA .DA RLCA.E+1-* - >PSTR "RLCA" - .HS FF - >PSTR "07" -RLCA.E .HS 00 -RLD .DA RLD.E+1-* - >PSTR "RLD" - .HS FF - >PSTR "ED6F" -RLD.E .HS 00 -RRA .DA RRA.E+1-* - >PSTR "RRA" - .HS FF - >PSTR "1F" -RRA.E .HS 00 -RRC .DA RRC.E+1-* - >PSTR "RRC" - .HS 18 - >PSTR "CB0E" - .HS 19 - >PSTR "DDCBa0E" - .HS 1A - >PSTR "FDCBa0E" - .HS 1B - >PSTR "CB0F" - .HS 1D - >PSTR "CB08" - .HS 1E - >PSTR "CB09" - .HS 1F - >PSTR "CB0A" - .HS 20 - >PSTR "CB0B" - .HS 21 - >PSTR "CB0C" - .HS 22 - >PSTR "CB0D" -RRC.E .HS 00 -RRCA .DA RRCA.E+1-* - >PSTR "RRCA" - .HS FF - >PSTR "0F" -RRCA.E .HS 00 -RRD .DA RRD.E+1-* - >PSTR "RRD" - .HS FF - >PSTR "ED67" -RRD.E .HS 00 -RST0 .DA RST0.E+1-* - >PSTR "RST0" - .HS FF - >PSTR "C7" -RST0.E .HS 00 -RST10 .DA RST10.E+1-* - >PSTR "RST10" - .HS FF - >PSTR "D7" -RST10.E .HS 00 -RST18 .DA RST18.E+1-* - >PSTR "RST18" - .HS FF - >PSTR "DF" -RST18.E .HS 00 -RST20 .DA RST20.E+1-* - >PSTR "RST20" - .HS FF - >PSTR "E7" -RST20.E .HS 00 -RST28 .DA RST28.E+1-* - >PSTR "RST28" - .HS FF - >PSTR "EF" -RST28.E .HS 00 -RST30 .DA RST30.E+1-* - >PSTR "RST30" - .HS FF - >PSTR "F7" -RST30.E .HS 00 -RST38 .DA RST38.E+1-* - >PSTR "RST38" - .HS FF - >PSTR "FF" -RST38.E .HS 00 -RST8 .DA RST8.E+1-* - >PSTR "RST8" - .HS FF - >PSTR "CF" -RST8.E .HS 00 -SBC .DA SBC.E+1-* - >PSTR "SBC" - .HS 18 - >PSTR "9E" - .HS 19 - >PSTR "DD9Ea" - .HS 1A - >PSTR "FD9Ea" - .HS 1B - >PSTR "9F" - .HS 1C - >PSTR "DEa" - .HS 1D - >PSTR "98" - .HS 1E - >PSTR "99" - .HS 1F - >PSTR "9A" - .HS 20 - >PSTR "9B" - .HS 21 - >PSTR "9C" - .HS 0C - >PSTR "ED42" - .HS 0D - >PSTR "ED52" - .HS 0E - >PSTR "ED62" - .HS 0F - >PSTR "ED72" - .HS 22 - >PSTR "9D" -SBC.E .HS 00 -SCF .DA SCF.E+1-* - >PSTR "SCF" - .HS FF - >PSTR "37" -SCF.E .HS 00 -SET0 .DA SET0.E+1-* - >PSTR "SET0" - .HS 18 - >PSTR "CBC6" - .HS 19 - >PSTR "DDCBaC6" - .HS 1A - >PSTR "FDCBaC6" - .HS 1B - >PSTR "CBC7" - .HS 1D - >PSTR "CBC0" - .HS 1E - >PSTR "CBC1" - .HS 1F - >PSTR "CBC2" - .HS 20 - >PSTR "CBC3" - .HS 21 - >PSTR "CBC4" - .HS 22 - >PSTR "CBC5" -SET0.E .HS 00 -SET1 .DA SET1.E+1-* - >PSTR "SET1" - .HS 18 - >PSTR "CBCE" - .HS 19 - >PSTR "DDCBaCE" - .HS 1A - >PSTR "FDCBaCE" - .HS 1B - >PSTR "CBCF" - .HS 1D - >PSTR "CBC8" - .HS 1E - >PSTR "CBC9" - .HS 1F - >PSTR "CBCA" - .HS 20 - >PSTR "CBCB" - .HS 21 - >PSTR "CBCC" - .HS 22 - >PSTR "CBCD" -SET1.E .HS 00 -SET2 .DA SET2.E+1-* - >PSTR "SET2" - .HS 18 - >PSTR "CBD6" - .HS 19 - >PSTR "DDCBaD6" - .HS 1A - >PSTR "FDCBaD6" - .HS 1B - >PSTR "CBD7" - .HS 1D - >PSTR "CBD0" - .HS 1E - >PSTR "CBD1" - .HS 1F - >PSTR "CBD2" - .HS 20 - >PSTR "CBD3" - .HS 21 - >PSTR "CBD4" - .HS 22 - >PSTR "CBD5" -SET2.E .HS 00 -SET3 .DA SET3.E+1-* - >PSTR "SET3" - .HS 18 - >PSTR "CBDE" - .HS 19 - >PSTR "DDCBaDE" - .HS 1A - >PSTR "FDCBaDE" - .HS 1B - >PSTR "CBDF" - .HS 1D - >PSTR "CBD8" - .HS 1E - >PSTR "CBD9" - .HS 1F - >PSTR "CBDA" - .HS 20 - >PSTR "CBDB" - .HS 21 - >PSTR "CBDC" - .HS 22 - >PSTR "CBDD" -SET3.E .HS 00 -SET4 .DA SET4.E+1-* - >PSTR "SET4" - .HS 18 - >PSTR "CBE6" - .HS 19 - >PSTR "DDCBaE6" - .HS 1A - >PSTR "FDCBaE6" - .HS 1B - >PSTR "CBE7" - .HS 1D - >PSTR "CBE0" - .HS 1E - >PSTR "CBE1" - .HS 1F - >PSTR "CBE2" - .HS 20 - >PSTR "CBE3" - .HS 21 - >PSTR "CBE4" - .HS 22 - >PSTR "CBE5" -SET4.E .HS 00 -SET5 .DA SET5.E+1-* - >PSTR "SET5" - .HS 18 - >PSTR "CBEE" - .HS 19 - >PSTR "DDCBaEE" - .HS 1A - >PSTR "FDCBaEE" - .HS 1B - >PSTR "CBEF" - .HS 1D - >PSTR "CBE8" - .HS 1E - >PSTR "CBE9" - .HS 1F - >PSTR "CBEA" - .HS 20 - >PSTR "CBEB" - .HS 21 - >PSTR "CBEC" - .HS 22 - >PSTR "CBED" -SET5.E .HS 00 -SET6 .DA SET6.E+1-* - >PSTR "SET6" - .HS 18 - >PSTR "CBF6" - .HS 19 - >PSTR "DDCBaF6" - .HS 1A - >PSTR "FDCBaF6" - .HS 1B - >PSTR "CBF7" - .HS 1D - >PSTR "CBF0" - .HS 1E - >PSTR "CBF1" - .HS 1F - >PSTR "CBF2" - .HS 20 - >PSTR "CBF3" - .HS 21 - >PSTR "CBF4" - .HS 22 - >PSTR "CBF5" -SET6.E .HS 00 -SET7 .DA SET7.E+1-* - >PSTR "SET7" - .HS 18 - >PSTR "CBFE" - .HS 19 - >PSTR "DDCBaFE" - .HS 1A - >PSTR "FDCBaFE" - .HS 1B - >PSTR "CBFF" - .HS 1D - >PSTR "CBF8" - .HS 1E - >PSTR "CBF9" - .HS 1F - >PSTR "CBFA" - .HS 20 - >PSTR "CBFB" - .HS 21 - >PSTR "CBFC" - .HS 22 - >PSTR "CBFD" -SET7.E .HS 00 -SLA .DA SLA.E+1-* - >PSTR "SLA" - .HS 18 - >PSTR "CB26" - .HS 19 - >PSTR "DDCBa26" - .HS 1A - >PSTR "FDCBa26" - .HS 1B - >PSTR "CB27" - .HS 1D - >PSTR "CB20" - .HS 1E - >PSTR "CB21" - .HS 1F - >PSTR "CB22" - .HS 20 - >PSTR "CB23" - .HS 21 - >PSTR "CB24" - .HS 22 - >PSTR "CB25" -SLA.E .HS 00 -SRA .DA SRA.E+1-* - >PSTR "SRA" - .HS 18 - >PSTR "CB2E" - .HS 19 - >PSTR "DDCBa2E" - .HS 1A - >PSTR "FDCBa2E" - .HS 1B - >PSTR "CB2F" - .HS 1D - >PSTR "CB28" - .HS 1E - >PSTR "CB29" - .HS 1F - >PSTR "CB2A" - .HS 20 - >PSTR "CB2B" - .HS 21 - >PSTR "CB2C" - .HS 22 - >PSTR "CB2D" -SRA.E .HS 00 -SRL .DA SRL.E+1-* - >PSTR "SRL" - .HS 18 - >PSTR "CB3E" - .HS 19 - >PSTR "DDCBa3E" - .HS 1A - >PSTR "FDCBa3E" - .HS 1B - >PSTR "CB3F" - .HS 1D - >PSTR "CB38" - .HS 1E - >PSTR "CB39" - .HS 1F - >PSTR "CB3A" - .HS 20 - >PSTR "CB3B" - .HS 21 - >PSTR "CB3C" - .HS 22 - >PSTR "CB3D" -SRL.E .HS 00 -SUB .DA SUB.E+1-* - >PSTR "SUB" - .HS 18 - >PSTR "96" - .HS 19 - >PSTR "DD96a" - .HS 1A - >PSTR "FD96a" - .HS 1B - >PSTR "97" - .HS 1C - >PSTR "D6a" - .HS 1D - >PSTR "90" - .HS 1E - >PSTR "91" - .HS 1F - >PSTR "92" - .HS 20 - >PSTR "93" - .HS 21 - >PSTR "94" - .HS 22 - >PSTR "95" -SUB.E .HS 00 -XOR .DA XOR.E+1-* - >PSTR "XOR" - .HS 18 - >PSTR "AE" - .HS 19 - >PSTR "DDAEa" - .HS 1A - >PSTR "FDAEa" - .HS 1B - >PSTR "AF" - .HS 1C - >PSTR "EEa" - .HS 1D - >PSTR "A8" - .HS 1E - >PSTR "A9" - .HS 1F - >PSTR "AA" - .HS 20 - >PSTR "AB" - .HS 21 - >PSTR "AC" - .HS 22 - >PSTR "AD" +ADC .DA ADC.E+1-* + .DA #3,$$"ADC" + .DA #1,#2,$$"8E" + .DA #2,#5,$$"DD8Ea" + .DA #3,#5,$$"FD8Ea" + .DA #4,#2,$$"8F" + .DA #5,#3,$$"CEa" + .DA #6,#2,$$"88" + .DA #7,#2,$$"89" + .DA #8,#2,$$"8A" + .DA #9,#2,$$"8B" + .DA #10,#2,$$"8C" + .DA #11,#2,$$"8D" + .DA #12,#4,$$"ED4A" + .DA #13,#4,$$"ED5A" + .DA #14,#4,$$"ED6A" + .DA #15,#4,$$"ED7A" +ADC.E .HS 00 +ADD .DA ADD.E+1-* + .DA #3,$$"ADD" + .DA #1,#2,$$"86" + .DA #2,#5,$$"DD86a" + .DA #3,#5,$$"FD86a" + .DA #4,#2,$$"87" + .DA #5,#3,$$"C6a" + .DA #6,#2,$$"80" + .DA #7,#2,$$"81" + .DA #8,#2,$$"82" + .DA #9,#2,$$"83" + .DA #10,#2,$$"84" + .DA #11,#2,$$"85" + .DA #12,#2,$$"09" + .DA #13,#2,$$"19" + .DA #14,#2,$$"29" + .DA #15,#2,$$"39" + .DA #16,#4,$$"DD09" + .DA #17,#4,$$"DD19" + .DA #18,#4,$$"DD29" + .DA #19,#4,$$"DD39" + .DA #20,#4,$$"FD09" + .DA #21,#4,$$"FD19" + .DA #22,#4,$$"FD29" + .DA #23,#4,$$"FD39" +ADD.E .HS 00 +AND .DA AND.E+1-* + .DA #3,$$"AND" + .DA #24,#2,$$"A6" + .DA #25,#5,$$"DDA6a" + .DA #26,#5,$$"FDA6a" + .DA #27,#2,$$"A7" + .DA #28,#3,$$"E6a" + .DA #29,#2,$$"A0" + .DA #30,#2,$$"A1" + .DA #31,#2,$$"A2" + .DA #32,#2,$$"A3" + .DA #33,#2,$$"A4" + .DA #34,#2,$$"A5" +AND.E .HS 00 +BIT0 .DA BIT0.E+1-* + .DA #4,$$"BIT0" + .DA #24,#4,$$"CB46" + .DA #25,#7,$$"DDCBa46" + .DA #26,#7,$$"FDCBa46" + .DA #27,#4,$$"CB47" + .DA #29,#4,$$"CB40" + .DA #30,#4,$$"CB41" + .DA #31,#4,$$"CB42" + .DA #32,#4,$$"CB43" + .DA #33,#4,$$"CB44" + .DA #34,#4,$$"CB45" +BIT0.E .HS 00 +BIT1 .DA BIT1.E+1-* + .DA #4,$$"BIT1" + .DA #24,#4,$$"CB4E" + .DA #25,#7,$$"DDCBa4E" + .DA #26,#7,$$"FDCBa4E" + .DA #27,#4,$$"CB4F" + .DA #29,#4,$$"CB48" + .DA #30,#4,$$"CB49" + .DA #31,#4,$$"CB4A" + .DA #32,#4,$$"CB4B" + .DA #33,#4,$$"CB4C" + .DA #34,#4,$$"CB4D" +BIT1.E .HS 00 +BIT2 .DA BIT2.E+1-* + .DA #4,$$"BIT2" + .DA #24,#4,$$"CB56" + .DA #25,#7,$$"DDCBa56" + .DA #26,#7,$$"FDCBa56" + .DA #27,#4,$$"CB57" + .DA #29,#4,$$"CB50" + .DA #30,#4,$$"CB51" + .DA #31,#4,$$"CB52" + .DA #32,#4,$$"CB53" + .DA #33,#4,$$"CB54" + .DA #34,#4,$$"CB55" +BIT2.E .HS 00 +BIT3 .DA BIT3.E+1-* + .DA #4,$$"BIT3" + .DA #24,#4,$$"CB5E" + .DA #25,#7,$$"DDCBa5E" + .DA #26,#7,$$"FDCBa5E" + .DA #27,#4,$$"CB5F" + .DA #29,#4,$$"CB58" + .DA #30,#4,$$"CB59" + .DA #31,#4,$$"CB5A" + .DA #32,#4,$$"CB5B" + .DA #33,#4,$$"CB5C" + .DA #34,#4,$$"CB5D" +BIT3.E .HS 00 +BIT4 .DA BIT4.E+1-* + .DA #4,$$"BIT4" + .DA #24,#4,$$"CB66" + .DA #25,#7,$$"DDCBa66" + .DA #26,#7,$$"FDCBa66" + .DA #27,#4,$$"CB67" + .DA #29,#4,$$"CB60" + .DA #30,#4,$$"CB61" + .DA #31,#4,$$"CB62" + .DA #32,#4,$$"CB63" + .DA #33,#4,$$"CB64" + .DA #34,#4,$$"CB65" +BIT4.E .HS 00 +BIT5 .DA BIT5.E+1-* + .DA #4,$$"BIT5" + .DA #24,#4,$$"CB6E" + .DA #25,#7,$$"DDCBa6E" + .DA #26,#7,$$"FDCBa6E" + .DA #27,#4,$$"CB6F" + .DA #29,#4,$$"CB68" + .DA #30,#4,$$"CB69" + .DA #31,#4,$$"CB6A" + .DA #32,#4,$$"CB6B" + .DA #33,#4,$$"CB6C" + .DA #34,#4,$$"CB6D" +BIT5.E .HS 00 +BIT6 .DA BIT6.E+1-* + .DA #4,$$"BIT6" + .DA #24,#4,$$"CB76" + .DA #25,#7,$$"DDCBa76" + .DA #26,#7,$$"FDCBa76" + .DA #27,#4,$$"CB77" + .DA #29,#4,$$"CB70" + .DA #30,#4,$$"CB71" + .DA #31,#4,$$"CB72" + .DA #32,#4,$$"CB73" + .DA #33,#4,$$"CB74" + .DA #34,#4,$$"CB75" +BIT6.E .HS 00 +BIT7 .DA BIT7.E+1-* + .DA #4,$$"BIT7" + .DA #24,#4,$$"CB7E" + .DA #25,#7,$$"DDCBa7E" + .DA #26,#7,$$"FDCBa7E" + .DA #27,#4,$$"CB7F" + .DA #29,#4,$$"CB78" + .DA #30,#4,$$"CB79" + .DA #31,#4,$$"CB7A" + .DA #32,#4,$$"CB7B" + .DA #33,#4,$$"CB7C" + .DA #34,#4,$$"CB7D" +BIT7.E .HS 00 +CALL .DA CALL.E+1-* + .DA #4,$$"CALL" + .DA #35,#4,$$"CDaa" +CALL.E .HS 00 +CALLC .DA CALLC.E+1-* + .DA #5,$$"CALLC" + .DA #35,#4,$$"DCaa" +CALLC.E .HS 00 +CALLM .DA CALLM.E+1-* + .DA #5,$$"CALLM" + .DA #35,#4,$$"FCaa" +CALLM.E .HS 00 +CALLNC .DA CALLNC.E+1-* + .DA #6,$$"CALLNC" + .DA #35,#4,$$"D4aa" +CALLNC.E .HS 00 +CALLNZ .DA CALLNZ.E+1-* + .DA #6,$$"CALLNZ" + .DA #35,#4,$$"C4aa" +CALLNZ.E .HS 00 +CALLP .DA CALLP.E+1-* + .DA #5,$$"CALLP" + .DA #35,#4,$$"F4aa" +CALLP.E .HS 00 +CALLPE .DA CALLPE.E+1-* + .DA #6,$$"CALLPE" + .DA #35,#4,$$"ECaa" +CALLPE.E .HS 00 +CALLPO .DA CALLPO.E+1-* + .DA #6,$$"CALLPO" + .DA #35,#4,$$"E4aa" +CALLPO.E .HS 00 +CALLZ .DA CALLZ.E+1-* + .DA #5,$$"CALLZ" + .DA #35,#4,$$"CCaa" +CALLZ.E .HS 00 +CCF .DA CCF.E+1-* + .DA #3,$$"CCF" + .DA #255,#2,$$"3F" +CCF.E .HS 00 +CP .DA CP.E+1-* + .DA #2,$$"CP" + .DA #24,#2,$$"BE" + .DA #25,#5,$$"DDBEa" + .DA #26,#5,$$"FDBEa" + .DA #27,#2,$$"BF" + .DA #28,#3,$$"FEa" + .DA #29,#2,$$"B8" + .DA #30,#2,$$"B9" + .DA #31,#2,$$"BA" + .DA #32,#2,$$"BB" + .DA #33,#2,$$"BC" + .DA #34,#2,$$"BD" +CP.E .HS 00 +CPD .DA CPD.E+1-* + .DA #3,$$"CPD" + .DA #255,#4,$$"EDA9" +CPD.E .HS 00 +CPDR .DA CPDR.E+1-* + .DA #4,$$"CPDR" + .DA #255,#4,$$"EDB9" +CPDR.E .HS 00 +CPI .DA CPI.E+1-* + .DA #3,$$"CPI" + .DA #255,#4,$$"EDA1" +CPI.E .HS 00 +CPIR .DA CPIR.E+1-* + .DA #4,$$"CPIR" + .DA #255,#4,$$"EDB1" +CPIR.E .HS 00 +CPL .DA CPL.E+1-* + .DA #3,$$"CPL" + .DA #255,#2,$$"2F" +CPL.E .HS 00 +DAA .DA DAA.E+1-* + .DA #3,$$"DAA" + .DA #255,#2,$$"27" +DAA.E .HS 00 +DEC .DA DEC.E+1-* + .DA #3,$$"DEC" + .DA #24,#2,$$"35" + .DA #25,#5,$$"DD35a" + .DA #26,#5,$$"FD35a" + .DA #27,#2,$$"3D" + .DA #29,#2,$$"05" + .DA #36,#2,$$"0B" + .DA #30,#2,$$"0D" + .DA #31,#2,$$"15" + .DA #37,#2,$$"1B" + .DA #32,#2,$$"1D" + .DA #33,#2,$$"25" + .DA #38,#2,$$"2B" + .DA #39,#4,$$"DD2B" + .DA #40,#4,$$"FD2B" + .DA #34,#2,$$"2D" + .DA #41,#2,$$"3B" +DEC.E .HS 00 +DI .DA DI.E+1-* + .DA #2,$$"DI" + .DA #255,#2,$$"F3" +DI.E .HS 00 +DJNZ .DA DJNZ.E+1-* + .DA #4,$$"DJNZ" + .DA #35,#3,$$"10r" +DJNZ.E .HS 00 +EI .DA EI.E+1-* + .DA #2,$$"EI" + .DA #255,#2,$$"FB" +EI.E .HS 00 +EX .DA EX.E+1-* + .DA #2,$$"EX" + .DA #42,#2,$$"E3" + .DA #43,#4,$$"DDE3" + .DA #44,#4,$$"FDE3" + .DA #45,#2,$$"EB" + .DA #255,#2,$$"08" +EX.E .HS 00 +EXX .DA EXX.E+1-* + .DA #3,$$"EXX" + .DA #255,#2,$$"D9" +EXX.E .HS 00 +HLT .DA HLT.E+1-* + .DA #3,$$"HLT" + .DA #255,#2,$$"76" +HLT.E .HS 00 +IM0 .DA IM0.E+1-* + .DA #3,$$"IM0" + .DA #255,#4,$$"ED46" +IM0.E .HS 00 +IM1 .DA IM1.E+1-* + .DA #3,$$"IM1" + .DA #255,#4,$$"ED56" +IM1.E .HS 00 +IM2 .DA IM2.E+1-* + .DA #3,$$"IM2" + .DA #255,#4,$$"ED5E" +IM2.E .HS 00 +IN .DA IN.E+1-* + .DA #2,$$"IN" + .DA #46,#3,$$"DBa" + .DA #47,#4,$$"ED78" + .DA #48,#4,$$"ED40" + .DA #49,#4,$$"ED48" + .DA #50,#4,$$"ED50" + .DA #51,#4,$$"ED58" + .DA #52,#4,$$"ED60" + .DA #53,#4,$$"ED68" +IN.E .HS 00 +INC .DA INC.E+1-* + .DA #3,$$"INC" + .DA #24,#2,$$"34" + .DA #25,#5,$$"DD34a" + .DA #26,#5,$$"FD34a" + .DA #27,#2,$$"3C" + .DA #29,#2,$$"04" + .DA #36,#2,$$"03" + .DA #30,#2,$$"0C" + .DA #31,#2,$$"14" + .DA #37,#2,$$"13" + .DA #32,#2,$$"1C" + .DA #33,#2,$$"24" + .DA #38,#2,$$"23" + .DA #39,#4,$$"DD23" + .DA #40,#4,$$"FD23" + .DA #34,#2,$$"2C" + .DA #41,#2,$$"33" +INC.E .HS 00 +IND .DA IND.E+1-* + .DA #3,$$"IND" + .DA #255,#4,$$"EDAA" +IND.E .HS 00 +INDR .DA INDR.E+1-* + .DA #4,$$"INDR" + .DA #255,#4,$$"EDBA" +INDR.E .HS 00 +INI .DA INI.E+1-* + .DA #3,$$"INI" + .DA #255,#4,$$"EDA2" +INI.E .HS 00 +INIR .DA INIR.E+1-* + .DA #4,$$"INIR" + .DA #255,#4,$$"EDB2" +INIR.E .HS 00 +JP .DA JP.E+1-* + .DA #2,$$"JP" + .DA #24,#2,$$"E9" + .DA #54,#4,$$"DDE9" + .DA #55,#4,$$"FDE9" + .DA #35,#4,$$"C3aa" +JP.E .HS 00 +JPC .DA JPC.E+1-* + .DA #3,$$"JPC" + .DA #35,#4,$$"DAaa" +JPC.E .HS 00 +JPM .DA JPM.E+1-* + .DA #3,$$"JPM" + .DA #35,#4,$$"FAaa" +JPM.E .HS 00 +JPNC .DA JPNC.E+1-* + .DA #4,$$"JPNC" + .DA #35,#4,$$"D2aa" +JPNC.E .HS 00 +JPNZ .DA JPNZ.E+1-* + .DA #4,$$"JPNZ" + .DA #35,#4,$$"C2aa" +JPNZ.E .HS 00 +JPP .DA JPP.E+1-* + .DA #3,$$"JPP" + .DA #35,#4,$$"F2aa" +JPP.E .HS 00 +JPPE .DA JPPE.E+1-* + .DA #4,$$"JPPE" + .DA #35,#4,$$"EAaa" +JPPE.E .HS 00 +JPPO .DA JPPO.E+1-* + .DA #4,$$"JPPO" + .DA #35,#4,$$"E2aa" +JPPO.E .HS 00 +JPZ .DA JPZ.E+1-* + .DA #3,$$"JPZ" + .DA #35,#4,$$"CAaa" +JPZ.E .HS 00 +JR .DA JR.E+1-* + .DA #2,$$"JR" + .DA #35,#3,$$"18r" +JR.E .HS 00 +JRC .DA JRC.E+1-* + .DA #3,$$"JRC" + .DA #35,#3,$$"38r" +JRC.E .HS 00 +JRNC .DA JRNC.E+1-* + .DA #4,$$"JRNC" + .DA #35,#3,$$"30r" +JRNC.E .HS 00 +JRNZ .DA JRNZ.E+1-* + .DA #4,$$"JRNZ" + .DA #35,#3,$$"20r" +JRNZ.E .HS 00 +JRZ .DA JRZ.E+1-* + .DA #3,$$"JRZ" + .DA #35,#3,$$"28r" +JRZ.E .HS 00 +LD .DA LD.E+1-* + .DA #2,$$"LD" + .DA #56,#4,$$"32aa" + .DA #57,#6,$$"ED43aa" + .DA #58,#6,$$"ED53aa" + .DA #59,#4,$$"22aa" + .DA #59,#6,$$"ED6Baa" + .DA #60,#6,$$"DD22aa" + .DA #61,#6,$$"DD22aa" + .DA #62,#6,$$"ED73aa" + .DA #63,#2,$$"02" + .DA #64,#2,$$"12" + .DA #65,#2,$$"77" + .DA #66,#3,$$"36a" + .DA #67,#2,$$"70" + .DA #68,#2,$$"71" + .DA #69,#2,$$"72" + .DA #70,#2,$$"73" + .DA #71,#2,$$"74" + .DA #72,#2,$$"75" + .DA #73,#5,$$"DD77a" + .DA #74,#6,$$"DD36aa" + .DA #74,#6,$$"DD76aa" + .DA #75,#5,$$"DD70a" + .DA #76,#5,$$"DD71a" + .DA #77,#5,$$"DD72a" + .DA #78,#5,$$"DD73a" + .DA #79,#5,$$"DD74a" + .DA #80,#5,$$"DD75a" + .DA #81,#5,$$"FD77a" + .DA #82,#6,$$"FD36aa" + .DA #82,#6,$$"FD76aa" + .DA #83,#5,$$"FD70a" + .DA #84,#5,$$"FD71a" + .DA #85,#5,$$"FD72a" + .DA #86,#5,$$"FD73a" + .DA #87,#5,$$"FD74a" + .DA #88,#5,$$"FD75a" + .DA #89,#4,$$"3Aaa" + .DA #90,#2,$$"0A" + .DA #91,#2,$$"1A" + .DA #1,#2,$$"7E" + .DA #2,#5,$$"DD7Ea" + .DA #3,#5,$$"FD7Ea" + .DA #4,#2,$$"7F" + .DA #5,#3,$$"3Ea" + .DA #6,#2,$$"78" + .DA #7,#2,$$"79" + .DA #8,#2,$$"7A" + .DA #9,#2,$$"7B" + .DA #10,#2,$$"7C" + .DA #92,#4,$$"ED57" + .DA #11,#2,$$"7D" + .DA #93,#4,$$"ED5F" + .DA #94,#2,$$"46" + .DA #95,#5,$$"DD46r" + .DA #96,#5,$$"FD46r" + .DA #97,#2,$$"47" + .DA #98,#3,$$"06a" + .DA #99,#2,$$"40" + .DA #100,#2,$$"41" + .DA #101,#2,$$"42" + .DA #102,#2,$$"43" + .DA #103,#2,$$"44" + .DA #104,#2,$$"45" + .DA #105,#6,$$"ED4Baa" + .DA #106,#4,$$"01aa" + .DA #107,#2,$$"4E" + .DA #108,#5,$$"DD4Er" + .DA #109,#5,$$"FD4Er" + .DA #110,#2,$$"4F" + .DA #111,#3,$$"0Ea" + .DA #112,#2,$$"48" + .DA #113,#2,$$"49" + .DA #114,#2,$$"4A" + .DA #115,#2,$$"4B" + .DA #116,#2,$$"4C" + .DA #117,#2,$$"4D" + .DA #118,#2,$$"56" + .DA #119,#5,$$"DD56a" + .DA #120,#5,$$"FD56a" + .DA #121,#2,$$"57" + .DA #122,#3,$$"16a" + .DA #123,#2,$$"50" + .DA #124,#2,$$"51" + .DA #125,#2,$$"52" + .DA #126,#2,$$"53" + .DA #127,#2,$$"54" + .DA #128,#2,$$"55" + .DA #129,#6,$$"ED5Baa" + .DA #130,#4,$$"11aa" + .DA #131,#2,$$"5E" + .DA #132,#5,$$"DD5Ea" + .DA #133,#5,$$"FD5Ea" + .DA #134,#2,$$"5F" + .DA #135,#3,$$"1Ea" + .DA #136,#2,$$"58" + .DA #137,#2,$$"59" + .DA #138,#2,$$"5A" + .DA #139,#2,$$"5B" + .DA #140,#2,$$"5C" + .DA #141,#2,$$"5D" + .DA #142,#2,$$"66" + .DA #143,#5,$$"DD66a" + .DA #144,#5,$$"FD66a" + .DA #145,#2,$$"67" + .DA #146,#3,$$"26a" + .DA #147,#2,$$"60" + .DA #148,#2,$$"61" + .DA #149,#2,$$"62" + .DA #150,#2,$$"63" + .DA #151,#2,$$"64" + .DA #152,#2,$$"65" + .DA #153,#4,$$"2Aaa" + .DA #153,#6,$$"ED6Baa" + .DA #154,#4,$$"21aa" + .DA #155,#4,$$"ED47" + .DA #156,#6,$$"DD2Aaa" + .DA #157,#6,$$"DD21aa" + .DA #158,#6,$$"FD2Aaa" + .DA #159,#6,$$"FD21aa" + .DA #160,#2,$$"6E" + .DA #161,#5,$$"DD6Ea" + .DA #162,#5,$$"FD6Ea" + .DA #163,#2,$$"6F" + .DA #164,#3,$$"2Ea" + .DA #165,#2,$$"68" + .DA #166,#2,$$"69" + .DA #167,#2,$$"6A" + .DA #168,#2,$$"6B" + .DA #169,#2,$$"6C" + .DA #170,#2,$$"6D" + .DA #171,#4,$$"ED4F" + .DA #172,#6,$$"ED7Baa" + .DA #173,#4,$$"31aa" + .DA #174,#2,$$"F9" + .DA #175,#4,$$"DDF9" + .DA #176,#4,$$"FDF9" +LD.E .HS 00 +LDD .DA LDD.E+1-* + .DA #3,$$"LDD" + .DA #255,#4,$$"EDA8" +LDD.E .HS 00 +LDDR .DA LDDR.E+1-* + .DA #4,$$"LDDR" + .DA #255,#4,$$"EDB8" +LDDR.E .HS 00 +LDI .DA LDI.E+1-* + .DA #3,$$"LDI" + .DA #255,#4,$$"EDA0" +LDI.E .HS 00 +LDIR .DA LDIR.E+1-* + .DA #4,$$"LDIR" + .DA #255,#4,$$"EDB0" +LDIR.E .HS 00 +NEG .DA NEG.E+1-* + .DA #3,$$"NEG" + .DA #255,#4,$$"ED44" +NEG.E .HS 00 +NOP .DA NOP.E+1-* + .DA #3,$$"NOP" + .DA #255,#2,$$"00" +NOP.E .HS 00 +OR .DA OR.E+1-* + .DA #2,$$"OR" + .DA #24,#2,$$"B6" + .DA #25,#5,$$"DDB6a" + .DA #26,#5,$$"FDB6a" + .DA #27,#2,$$"B7" + .DA #28,#3,$$"F6a" + .DA #29,#2,$$"B0" + .DA #30,#2,$$"B1" + .DA #31,#2,$$"B2" + .DA #32,#2,$$"B3" + .DA #33,#2,$$"B4" + .DA #34,#2,$$"B5" +OR.E .HS 00 +OTDR .DA OTDR.E+1-* + .DA #4,$$"OTDR" + .DA #255,#4,$$"EDBB" +OTDR.E .HS 00 +OTIR .DA OTIR.E+1-* + .DA #4,$$"OTIR" + .DA #255,#4,$$"EDB3" +OTIR.E .HS 00 +OUT .DA OUT.E+1-* + .DA #3,$$"OUT" + .DA #177,#3,$$"D3a" + .DA #178,#4,$$"ED79" + .DA #179,#4,$$"ED41" + .DA #180,#4,$$"ED49" + .DA #181,#4,$$"ED51" + .DA #182,#4,$$"ED59" + .DA #183,#4,$$"ED61" + .DA #184,#4,$$"ED69" +OUT.E .HS 00 +OUTD .DA OUTD.E+1-* + .DA #4,$$"OUTD" + .DA #255,#4,$$"EDAB" +OUTD.E .HS 00 +OUTI .DA OUTI.E+1-* + .DA #4,$$"OUTI" + .DA #255,#4,$$"EDA3" +OUTI.E .HS 00 +POP .DA POP.E+1-* + .DA #3,$$"POP" + .DA #185,#2,$$"F1" + .DA #36,#2,$$"C1" + .DA #37,#2,$$"D1" + .DA #38,#2,$$"E1" + .DA #39,#4,$$"DDE1" + .DA #40,#4,$$"FDE1" +POP.E .HS 00 +PUSH .DA PUSH.E+1-* + .DA #4,$$"PUSH" + .DA #185,#2,$$"F5" + .DA #36,#2,$$"C5" + .DA #37,#2,$$"D5" + .DA #38,#2,$$"E5" + .DA #39,#4,$$"DDE5" + .DA #40,#4,$$"FDE5" +PUSH.E .HS 00 +RES0 .DA RES0.E+1-* + .DA #4,$$"RES0" + .DA #24,#4,$$"CB86" + .DA #25,#7,$$"DDCBa86" + .DA #26,#7,$$"FDCBa86" + .DA #27,#4,$$"CB87" + .DA #29,#4,$$"CB80" + .DA #30,#4,$$"CB81" + .DA #31,#4,$$"CB82" + .DA #32,#4,$$"CB83" + .DA #33,#4,$$"CB84" + .DA #34,#4,$$"CB85" +RES0.E .HS 00 +RES1 .DA RES1.E+1-* + .DA #4,$$"RES1" + .DA #24,#4,$$"CB8E" + .DA #25,#7,$$"DDCBa8E" + .DA #26,#7,$$"FDCBa8E" + .DA #27,#4,$$"CB8F" + .DA #29,#4,$$"CB88" + .DA #30,#4,$$"CB89" + .DA #31,#4,$$"CB8A" + .DA #32,#4,$$"CB8B" + .DA #33,#4,$$"CB8C" + .DA #34,#4,$$"CB8D" +RES1.E .HS 00 +RES2 .DA RES2.E+1-* + .DA #4,$$"RES2" + .DA #24,#4,$$"CB96" + .DA #25,#7,$$"DDCBa96" + .DA #26,#7,$$"FDCBa96" + .DA #27,#4,$$"CB97" + .DA #29,#4,$$"CB90" + .DA #30,#4,$$"CB91" + .DA #31,#4,$$"CB92" + .DA #32,#4,$$"CB93" + .DA #33,#4,$$"CB94" + .DA #34,#4,$$"CB95" +RES2.E .HS 00 +RES3 .DA RES3.E+1-* + .DA #4,$$"RES3" + .DA #24,#4,$$"CB9E" + .DA #25,#7,$$"DDCBa9E" + .DA #26,#7,$$"FDCBa9E" + .DA #27,#4,$$"CB9F" + .DA #29,#4,$$"CB98" + .DA #30,#4,$$"CB99" + .DA #31,#4,$$"CB9A" + .DA #32,#4,$$"CB9B" + .DA #33,#4,$$"CB9C" + .DA #34,#4,$$"CB9D" +RES3.E .HS 00 +RES4 .DA RES4.E+1-* + .DA #4,$$"RES4" + .DA #24,#4,$$"CBA6" + .DA #25,#7,$$"DDCBaA6" + .DA #26,#7,$$"FDCBaA6" + .DA #27,#4,$$"CBA7" + .DA #29,#4,$$"CBA0" + .DA #30,#4,$$"CBA1" + .DA #31,#4,$$"CBA2" + .DA #32,#4,$$"CBA3" + .DA #33,#4,$$"CBA4" + .DA #34,#4,$$"CBA5" +RES4.E .HS 00 +RES5 .DA RES5.E+1-* + .DA #4,$$"RES5" + .DA #24,#4,$$"CBAE" + .DA #25,#7,$$"DDCBaAE" + .DA #26,#7,$$"FDCBaAE" + .DA #27,#4,$$"CBAF" + .DA #29,#4,$$"CBA8" + .DA #30,#4,$$"CBA9" + .DA #31,#4,$$"CBAA" + .DA #32,#4,$$"CBAB" + .DA #33,#4,$$"CBAC" + .DA #34,#4,$$"CBAD" +RES5.E .HS 00 +RES6 .DA RES6.E+1-* + .DA #4,$$"RES6" + .DA #24,#4,$$"CBB6" + .DA #25,#7,$$"DDCBaB6" + .DA #26,#7,$$"FDCBaB6" + .DA #27,#4,$$"CBB7" + .DA #29,#4,$$"CBB0" + .DA #30,#4,$$"CBB1" + .DA #31,#4,$$"CBB2" + .DA #32,#4,$$"CBB3" + .DA #33,#4,$$"CBB4" + .DA #34,#4,$$"CBB5" +RES6.E .HS 00 +RES7 .DA RES7.E+1-* + .DA #4,$$"RES7" + .DA #24,#4,$$"CBBE" + .DA #25,#7,$$"DDCBaBE" + .DA #26,#7,$$"FDCBaBE" + .DA #27,#4,$$"CBBF" + .DA #29,#4,$$"CBB8" + .DA #30,#4,$$"CBB9" + .DA #31,#4,$$"CBBA" + .DA #32,#4,$$"CBBB" + .DA #33,#4,$$"CBBC" + .DA #34,#4,$$"CBBD" +RES7.E .HS 00 +RET .DA RET.E+1-* + .DA #3,$$"RET" + .DA #255,#2,$$"C9" +RET.E .HS 00 +RETC .DA RETC.E+1-* + .DA #4,$$"RETC" + .DA #255,#2,$$"D8" +RETC.E .HS 00 +RETI .DA RETI.E+1-* + .DA #4,$$"RETI" + .DA #255,#4,$$"ED4D" +RETI.E .HS 00 +RETM .DA RETM.E+1-* + .DA #4,$$"RETM" + .DA #255,#2,$$"F8" +RETM.E .HS 00 +RETN .DA RETN.E+1-* + .DA #4,$$"RETN" + .DA #255,#4,$$"ED45" +RETN.E .HS 00 +RETNC .DA RETNC.E+1-* + .DA #5,$$"RETNC" + .DA #255,#2,$$"D0" +RETNC.E .HS 00 +RETNZ .DA RETNZ.E+1-* + .DA #5,$$"RETNZ" + .DA #255,#2,$$"C0" +RETNZ.E .HS 00 +RETP .DA RETP.E+1-* + .DA #4,$$"RETP" + .DA #255,#2,$$"F0" +RETP.E .HS 00 +RETPE .DA RETPE.E+1-* + .DA #5,$$"RETPE" + .DA #255,#2,$$"E8" +RETPE.E .HS 00 +RETPO .DA RETPO.E+1-* + .DA #5,$$"RETPO" + .DA #255,#2,$$"E0" +RETPO.E .HS 00 +RETZ .DA RETZ.E+1-* + .DA #4,$$"RETZ" + .DA #255,#2,$$"C8" +RETZ.E .HS 00 +RL .DA RL.E+1-* + .DA #2,$$"RL" + .DA #24,#4,$$"CB16" + .DA #24,#4,$$"CB1E" + .DA #25,#7,$$"DDCBa16" + .DA #25,#7,$$"DDCBa1E" + .DA #26,#7,$$"FDCBa16" + .DA #26,#7,$$"FDCBa1E" + .DA #27,#4,$$"CB17" + .DA #27,#4,$$"CB1F" + .DA #29,#4,$$"CB10" + .DA #29,#4,$$"CB18" + .DA #30,#4,$$"CB11" + .DA #30,#4,$$"CB19" + .DA #31,#4,$$"CB12" + .DA #31,#4,$$"CB1A" + .DA #32,#4,$$"CB13" + .DA #32,#4,$$"CB1B" + .DA #33,#4,$$"CB14" + .DA #33,#4,$$"CB1C" + .DA #34,#4,$$"CB15" + .DA #34,#4,$$"CB1D" +RL.E .HS 00 +RLA .DA RLA.E+1-* + .DA #3,$$"RLA" + .DA #255,#2,$$"17" +RLA.E .HS 00 +RLC .DA RLC.E+1-* + .DA #3,$$"RLC" + .DA #24,#4,$$"CB06" + .DA #25,#7,$$"DDCBa06" + .DA #26,#7,$$"FDCBa06" + .DA #27,#4,$$"CB07" + .DA #29,#4,$$"CB00" + .DA #30,#4,$$"CB01" + .DA #31,#4,$$"CB02" + .DA #32,#4,$$"CB03" + .DA #33,#4,$$"CB04" + .DA #34,#4,$$"CB05" +RLC.E .HS 00 +RLCA .DA RLCA.E+1-* + .DA #4,$$"RLCA" + .DA #255,#2,$$"07" +RLCA.E .HS 00 +RLD .DA RLD.E+1-* + .DA #3,$$"RLD" + .DA #255,#4,$$"ED6F" +RLD.E .HS 00 +RRA .DA RRA.E+1-* + .DA #3,$$"RRA" + .DA #255,#2,$$"1F" +RRA.E .HS 00 +RRC .DA RRC.E+1-* + .DA #3,$$"RRC" + .DA #24,#4,$$"CB0E" + .DA #25,#7,$$"DDCBa0E" + .DA #26,#7,$$"FDCBa0E" + .DA #27,#4,$$"CB0F" + .DA #29,#4,$$"CB08" + .DA #30,#4,$$"CB09" + .DA #31,#4,$$"CB0A" + .DA #32,#4,$$"CB0B" + .DA #33,#4,$$"CB0C" + .DA #34,#4,$$"CB0D" +RRC.E .HS 00 +RRCA .DA RRCA.E+1-* + .DA #4,$$"RRCA" + .DA #255,#2,$$"0F" +RRCA.E .HS 00 +RRD .DA RRD.E+1-* + .DA #3,$$"RRD" + .DA #255,#4,$$"ED67" +RRD.E .HS 00 +RST0 .DA RST0.E+1-* + .DA #4,$$"RST0" + .DA #255,#2,$$"C7" +RST0.E .HS 00 +RST10 .DA RST10.E+1-* + .DA #5,$$"RST10" + .DA #255,#2,$$"D7" +RST10.E .HS 00 +RST18 .DA RST18.E+1-* + .DA #5,$$"RST18" + .DA #255,#2,$$"DF" +RST18.E .HS 00 +RST20 .DA RST20.E+1-* + .DA #5,$$"RST20" + .DA #255,#2,$$"E7" +RST20.E .HS 00 +RST28 .DA RST28.E+1-* + .DA #5,$$"RST28" + .DA #255,#2,$$"EF" +RST28.E .HS 00 +RST30 .DA RST30.E+1-* + .DA #5,$$"RST30" + .DA #255,#2,$$"F7" +RST30.E .HS 00 +RST38 .DA RST38.E+1-* + .DA #5,$$"RST38" + .DA #255,#2,$$"FF" +RST38.E .HS 00 +RST8 .DA RST8.E+1-* + .DA #4,$$"RST8" + .DA #255,#2,$$"CF" +RST8.E .HS 00 +SBC .DA SBC.E+1-* + .DA #3,$$"SBC" + .DA #24,#2,$$"9E" + .DA #25,#5,$$"DD9Ea" + .DA #26,#5,$$"FD9Ea" + .DA #27,#2,$$"9F" + .DA #28,#3,$$"DEa" + .DA #29,#2,$$"98" + .DA #30,#2,$$"99" + .DA #31,#2,$$"9A" + .DA #32,#2,$$"9B" + .DA #33,#2,$$"9C" + .DA #12,#4,$$"ED42" + .DA #13,#4,$$"ED52" + .DA #14,#4,$$"ED62" + .DA #15,#4,$$"ED72" + .DA #34,#2,$$"9D" +SBC.E .HS 00 +SCF .DA SCF.E+1-* + .DA #3,$$"SCF" + .DA #255,#2,$$"37" +SCF.E .HS 00 +SET0 .DA SET0.E+1-* + .DA #4,$$"SET0" + .DA #24,#4,$$"CBC6" + .DA #25,#7,$$"DDCBaC6" + .DA #26,#7,$$"FDCBaC6" + .DA #27,#4,$$"CBC7" + .DA #29,#4,$$"CBC0" + .DA #30,#4,$$"CBC1" + .DA #31,#4,$$"CBC2" + .DA #32,#4,$$"CBC3" + .DA #33,#4,$$"CBC4" + .DA #34,#4,$$"CBC5" +SET0.E .HS 00 +SET1 .DA SET1.E+1-* + .DA #4,$$"SET1" + .DA #24,#4,$$"CBCE" + .DA #25,#7,$$"DDCBaCE" + .DA #26,#7,$$"FDCBaCE" + .DA #27,#4,$$"CBCF" + .DA #29,#4,$$"CBC8" + .DA #30,#4,$$"CBC9" + .DA #31,#4,$$"CBCA" + .DA #32,#4,$$"CBCB" + .DA #33,#4,$$"CBCC" + .DA #34,#4,$$"CBCD" +SET1.E .HS 00 +SET2 .DA SET2.E+1-* + .DA #4,$$"SET2" + .DA #24,#4,$$"CBD6" + .DA #25,#7,$$"DDCBaD6" + .DA #26,#7,$$"FDCBaD6" + .DA #27,#4,$$"CBD7" + .DA #29,#4,$$"CBD0" + .DA #30,#4,$$"CBD1" + .DA #31,#4,$$"CBD2" + .DA #32,#4,$$"CBD3" + .DA #33,#4,$$"CBD4" + .DA #34,#4,$$"CBD5" +SET2.E .HS 00 +SET3 .DA SET3.E+1-* + .DA #4,$$"SET3" + .DA #24,#4,$$"CBDE" + .DA #25,#7,$$"DDCBaDE" + .DA #26,#7,$$"FDCBaDE" + .DA #27,#4,$$"CBDF" + .DA #29,#4,$$"CBD8" + .DA #30,#4,$$"CBD9" + .DA #31,#4,$$"CBDA" + .DA #32,#4,$$"CBDB" + .DA #33,#4,$$"CBDC" + .DA #34,#4,$$"CBDD" +SET3.E .HS 00 +SET4 .DA SET4.E+1-* + .DA #4,$$"SET4" + .DA #24,#4,$$"CBE6" + .DA #25,#7,$$"DDCBaE6" + .DA #26,#7,$$"FDCBaE6" + .DA #27,#4,$$"CBE7" + .DA #29,#4,$$"CBE0" + .DA #30,#4,$$"CBE1" + .DA #31,#4,$$"CBE2" + .DA #32,#4,$$"CBE3" + .DA #33,#4,$$"CBE4" + .DA #34,#4,$$"CBE5" +SET4.E .HS 00 +SET5 .DA SET5.E+1-* + .DA #4,$$"SET5" + .DA #24,#4,$$"CBEE" + .DA #25,#7,$$"DDCBaEE" + .DA #26,#7,$$"FDCBaEE" + .DA #27,#4,$$"CBEF" + .DA #29,#4,$$"CBE8" + .DA #30,#4,$$"CBE9" + .DA #31,#4,$$"CBEA" + .DA #32,#4,$$"CBEB" + .DA #33,#4,$$"CBEC" + .DA #34,#4,$$"CBED" +SET5.E .HS 00 +SET6 .DA SET6.E+1-* + .DA #4,$$"SET6" + .DA #24,#4,$$"CBF6" + .DA #25,#7,$$"DDCBaF6" + .DA #26,#7,$$"FDCBaF6" + .DA #27,#4,$$"CBF7" + .DA #29,#4,$$"CBF0" + .DA #30,#4,$$"CBF1" + .DA #31,#4,$$"CBF2" + .DA #32,#4,$$"CBF3" + .DA #33,#4,$$"CBF4" + .DA #34,#4,$$"CBF5" +SET6.E .HS 00 +SET7 .DA SET7.E+1-* + .DA #4,$$"SET7" + .DA #24,#4,$$"CBFE" + .DA #25,#7,$$"DDCBaFE" + .DA #26,#7,$$"FDCBaFE" + .DA #27,#4,$$"CBFF" + .DA #29,#4,$$"CBF8" + .DA #30,#4,$$"CBF9" + .DA #31,#4,$$"CBFA" + .DA #32,#4,$$"CBFB" + .DA #33,#4,$$"CBFC" + .DA #34,#4,$$"CBFD" +SET7.E .HS 00 +SLA .DA SLA.E+1-* + .DA #3,$$"SLA" + .DA #24,#4,$$"CB26" + .DA #25,#7,$$"DDCBa26" + .DA #26,#7,$$"FDCBa26" + .DA #27,#4,$$"CB27" + .DA #29,#4,$$"CB20" + .DA #30,#4,$$"CB21" + .DA #31,#4,$$"CB22" + .DA #32,#4,$$"CB23" + .DA #33,#4,$$"CB24" + .DA #34,#4,$$"CB25" +SLA.E .HS 00 +SRA .DA SRA.E+1-* + .DA #3,$$"SRA" + .DA #24,#4,$$"CB2E" + .DA #25,#7,$$"DDCBa2E" + .DA #26,#7,$$"FDCBa2E" + .DA #27,#4,$$"CB2F" + .DA #29,#4,$$"CB28" + .DA #30,#4,$$"CB29" + .DA #31,#4,$$"CB2A" + .DA #32,#4,$$"CB2B" + .DA #33,#4,$$"CB2C" + .DA #34,#4,$$"CB2D" +SRA.E .HS 00 +SRL .DA SRL.E+1-* + .DA #3,$$"SRL" + .DA #24,#4,$$"CB3E" + .DA #25,#7,$$"DDCBa3E" + .DA #26,#7,$$"FDCBa3E" + .DA #27,#4,$$"CB3F" + .DA #29,#4,$$"CB38" + .DA #30,#4,$$"CB39" + .DA #31,#4,$$"CB3A" + .DA #32,#4,$$"CB3B" + .DA #33,#4,$$"CB3C" + .DA #34,#4,$$"CB3D" +SRL.E .HS 00 +SUB .DA SUB.E+1-* + .DA #3,$$"SUB" + .DA #24,#2,$$"96" + .DA #25,#5,$$"DD96a" + .DA #26,#5,$$"FD96a" + .DA #27,#2,$$"97" + .DA #28,#3,$$"D6a" + .DA #29,#2,$$"90" + .DA #30,#2,$$"91" + .DA #31,#2,$$"92" + .DA #32,#2,$$"93" + .DA #33,#2,$$"94" + .DA #34,#2,$$"95" +SUB.E .HS 00 +XOR .DA XOR.E+1-* + .DA #3,$$"XOR" + .DA #24,#2,$$"AE" + .DA #25,#5,$$"DDAEa" + .DA #26,#5,$$"FDAEa" + .DA #27,#2,$$"AF" + .DA #28,#3,$$"EEa" + .DA #29,#2,$$"A8" + .DA #30,#2,$$"A9" + .DA #31,#2,$$"AA" + .DA #32,#2,$$"AB" + .DA #33,#2,$$"AC" + .DA #34,#2,$$"AD" XOR.E .HS 00 .HS 0000 *--------------------------------------- diff --git a/BIN/ASM.T.Z80.S.txt b/BIN/ASM.T.Z80.S.txt index 33499868..356d9474 100644 --- a/BIN/ASM.T.Z80.S.txt +++ b/BIN/ASM.T.Z80.S.txt @@ -4,12 +4,6 @@ AUTO 4,1 .LIST OFF .OR $0 .TF /A2OSX.BUILD/BIN/DEV/ASM.T.Z80 -*--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM *--------------------------------------- .DA T.ADDR.MODES .DA T.REGISTERS diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 541e9a9c..031f193c 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -584,6 +584,11 @@ MEM.GetKeyCharY sta CLRREADAUX .9 sec rts *-------------------------------------- +MEM.SetKeyCharY sta CLRWRITEAUX + sta (ZPSListKey),y + sta SETWRITEAUX + rts +*-------------------------------------- MEM.GetDataByte sta CLRREADAUX lda (ZPSListData) sta SETREADAUX