quartz/content/notes/6809.md
2022-08-01 10:10:54 +12:00

49 lines
683 B
Markdown

---
title: "6809"
aliases:
tags:
- cosc204
---
# Routines
All variables are global so there is no params or local vars.
There are three way to "Branch" to a subroutine.
- lbsr
- bsr
- jsr
There are subtle differences but we will use bsr mostly
```
bsr myroutine:
myroutine:
rts
```
# Iteration
Done using GOTOs
```
clra //A = 0
more:
cmpa #$06 //compare A to $06 (sets the equal flag in CC if true)
beq done //if the equal flag is set, branch to done
inca //increment a
bra more //branch to more
done:
```
other instructions set flags too
# Input/Output
![screen](https://i.imgur.com/IEiGKtj.png)
# Hello World
# Assembler