-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlibBASICRoutines.asm
63 lines (53 loc) · 2.24 KB
/
libBASICRoutines.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
;*******************************************************************************
;* Get Number From Command Line Routine *
;* Output Variables : *
;* Accumulator has HiByte Value *
;* X Register has LoByte Value *
;*******************************************************************************
LineNumberLo = $14
LineNumberHi = $15
GetNumberFromCommandLine
jsr bas_CHRGOT$
bcs GNFCL_Return ; No number on command line
jsr bas_LineGet$ ; Get Integer Value From Command Line
lda LineNumberHi ; Stores Hi Integer Value
ldx LineNumberLo ; Stores Lo Integer Value
clc
GNFCL_Return
rts
;*******************************************************************************
;* Print out a String *
;* Input Variables : *
;* Accumulator has LoByte Value *
;* y Register has HiByte Value *
;*******************************************************************************
ABIE
sty 248
sta 247
@ABIELooper
ldy #0
lda (247),y
cmp #0
beq @ABIE_EXIT
jsr krljmp_CHROUT$
inc 247
bne @ABIE
inc 248
@ABIE
jmp @ABIELooper
@ABIE_EXIT
jmp bas_ReadyPrompt$
;*******************************************************************************
;* GETNo2 Function *
;* This function gets a number from BASIC and returns the value in 2 bytes *
;* *****************************************************************************
;* Inputs : *
;*******************************************************************************
;* Outputs : LineNumberLo = Acc, LineNumberHi = Yreg *
;*******************************************************************************
GETNo2
jsr bas_FRMNUM$
jsr bas_GETADR$
lda LineNumberLo
ldy LineNumberHi
rts