about summary refs log tree commit diff
path: root/example.S
blob: 530501a0a8630c1ff8548f6d34c97ebda8768450 (plain)
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
63
64
65
66
67
; Fibonacci sequence program by qubane

; address for var A
CA
MOVC MR

; write 0
WT

; address for var B
LDA 1
MOVC MR

; write 1
WT

; loop start
; load address for var A
CA
MOVC MR

; move var A to BR
RD
MOV BR

; load address for var B
CA
LDA 1
MOVC MR

; read var B
RD

; A + B -> B
ADD
WT

; move A + B to BR
MOV BR

; load address for var A
CA
; clear carry flag
AND
MOVC MR

; read var A
RD

; compute -(A - B)
SUB

MOV BR

CA
SUB

; write B - A to var A
WT

; load jump address
CA
; reset carry flag
and
LDA 1
LDA 2
MOVC PC