; Matt Heffernan ; Machine Language Program ; 84 ;[00] LDS $7ffe 7f ;[01] fe ;[02] c0 ;[03] NOP c4 ;[04] CLA -> AC = 0 c6 ;[05] CMA -> AC = -1 = $ff c1 ;[06] INC -> AC = 0, C = 1 c2 ;[07] SCL -> AC = 1 81 ;[08] ADDI 4 -> AC = 5 04 ;[09] 81 ;[0a] ADDI 125 -> AC = -126 = $82, V=1, N=1 7d ;[0b] 82 ;[0c] ANDI $7F -> AC = 2 7f ;[0d] 82 ;[0e] ANDI $00 -> AC = 0 00 ;[0f] 83 ;[10] ORI $80 -> AC = -128 = $80, N=1 80 ;[11] 00 ;[12] LDA $001d -> AC = 2 00 ;[13] 1d ;[14] 41 ;[15] ADD ($001b) -> AC = 4 00 ;[16] 1b ;[17] 0d ;[18] JMP $001f 00 ;[19] 1f ;[1a] ; Data 00 ;[1b] pointer to $001d 1d ;[1c] 02 ;[1d] 2 ff ;[1e] variable byte ; More Instructions 08 ;[1f] STA $001e 00 ;[20] 1e ;[21] 0b ;[22] JNE $0026 00 ;[23] 26 ;[24] c1 ;[25] INC -> if Z then inc(AC) -> AC = 1 01 ;[26] ADD $001e 00 ;[27] 1e ;[28] 07 ;[29] JCS $0033 00 ;[2a] 33 ;[2b] 80 ;[2c] LDAI -1 -> AC = -1 = $ff ff ;[2d] c1 ;[2e] INC 07 ;[2f] JCS $0033 00 ;[30] 33 ;[31] c1 ;[32] INC 0e ;[33] JSR $0037 00 ;[34] 37 ;[35] c5 ;[36] HLT ; Subroutine c1 ;[37] INC c3 ;[38] RET