mirror of
https://github.com/mist64/msbasic.git
synced 2024-12-22 08:29:21 +00:00
108 lines
2.2 KiB
ArmAsm
108 lines
2.2 KiB
ArmAsm
.segment "CODE"
|
|
|
|
.ifdef KBD
|
|
LF422:
|
|
lda VARTAB
|
|
sec
|
|
sbc #$02
|
|
ldy VARTAB+1
|
|
bcs LF42C
|
|
dey
|
|
LF42C:
|
|
rts
|
|
LF42D:
|
|
lda Z00,x
|
|
LF430:
|
|
cmp #$61
|
|
bcc LF43A
|
|
cmp #$7B
|
|
bcs LF43A
|
|
LF438:
|
|
sbc #$1F
|
|
LF43A:
|
|
rts
|
|
LF43B:
|
|
ldx #$5D
|
|
LF43D:
|
|
txa
|
|
and #$7F
|
|
cmp $0340
|
|
beq LF44D
|
|
sta $0340
|
|
lda #$03
|
|
jsr LDE48
|
|
LF44D:
|
|
jsr LDE7F
|
|
bne RTS4
|
|
cpx #$80
|
|
bcc LF44D
|
|
RTS4:
|
|
rts
|
|
LF457:
|
|
lda TXTTAB
|
|
ldx TXTTAB+1
|
|
LF45B:
|
|
sta JMPADRS+1
|
|
stx JMPADRS+2
|
|
ldy #$01
|
|
lda (JMPADRS+1),y
|
|
beq LF438
|
|
iny
|
|
iny
|
|
lda (JMPADRS+1),y
|
|
dey
|
|
cmp $14
|
|
bne LF472
|
|
lda (JMPADRS+1),y
|
|
cmp $13
|
|
LF472:
|
|
bcs LF43A
|
|
dey
|
|
lda (JMPADRS+1),y
|
|
tax
|
|
dey
|
|
lda (JMPADRS+1),y
|
|
bcc LF45B
|
|
LF47D:
|
|
jmp (JMPADRS+1)
|
|
.else
|
|
|
|
; ----------------------------------------------------------------------------
|
|
; EVALUATE "EXP1,EXP2"
|
|
;
|
|
; CONVERT EXP1 TO 16-BIT NUMBER IN LINNUM
|
|
; CONVERT EXP2 TO 8-BIT NUMBER IN X-REG
|
|
; ----------------------------------------------------------------------------
|
|
GTNUM:
|
|
jsr FRMNUM
|
|
jsr GETADR
|
|
|
|
; ----------------------------------------------------------------------------
|
|
; EVALUATE ",EXPRESSION"
|
|
; CONVERT EXPRESSION TO SINGLE BYTE IN X-REG
|
|
; ----------------------------------------------------------------------------
|
|
COMBYTE:
|
|
jsr CHKCOM
|
|
jmp GETBYT
|
|
|
|
; ----------------------------------------------------------------------------
|
|
; CONVERT (FAC) TO A 16-BIT VALUE IN LINNUM
|
|
; ----------------------------------------------------------------------------
|
|
GETADR:
|
|
lda FACSIGN
|
|
.ifdef APPLE
|
|
nop
|
|
nop
|
|
.else
|
|
bmi GOIQ
|
|
.endif
|
|
lda FAC
|
|
cmp #$91
|
|
bcs GOIQ
|
|
jsr QINT
|
|
lda FAC_LAST-1
|
|
ldy FAC_LAST
|
|
sty LINNUM
|
|
sta LINNUM+1
|
|
rts
|
|
.endif |