--- 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