Download Merlin 128 manual

Transcript
Merlin 128 User's Manual
The Assembler
USING DATA TABLES IN PROGRAMS
Merlin's various data commands are used by the programmer to store pure data bytes (as
opposed to executable program instruction bytes) in memory for use by the program. As an
example, here is a program that prints the sum of two numbers squared.
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
* DATA TABLE DEMO *
ORG
$8000
CLEAR
CHROUT
SCNKEY
GETIN
EQU
EQU
EQU
EQU
$E544
$FFD2
$FE9F
$FFE4
START
JSR
LDY
INY
LDA
JSR
LDX
LDA
BEQ
JSR
INX
BNE
LDA
JSR
LDA
JSR
CPY
BCS
JMP
JSR
JSR
BEQ
CMP
BEQ
JMP
RTS
DFB
ASC
HEX
DFB
CLEAR
#-1
PRINT1
LOOP1
PRINT2
WAIT
DONE
DATA1
DATA2
DATA3
Page 78
DATA1,Y
CHROUT
#0
DATA2,X
PRINT2
CHROUT
LOOP1
DATA3,Y
CHROUT
#$8D
CHROUT
#$03
WAIT
PRINT1
SCNKEY
GETIN
WAIT
#$0D
DONE
WAIT
#48,49,50,51
“ SQUARED IS”
00
#48,49,52,57
;START WITH 1 LESS THAN '0' ($FF)
;Y = Y + 1
;GET CHAR FROM TABLE
;PRINT NUMBER TO SE SQUARED
;LOOP TO PRINT TEXT
;PRINT SQUARED VALUE
;THREE LOOPS COMPLETE?
;IF SO WAIT FOR RETURN
;IF NOT BEGIN AGAIN
;WAS RETURN PRESSED?