Gordons Projects

--> Projects Top-Level GIT

Initial GIT creation
[lmc] / countd.lmc
1 // Countdown:
2 //      LMC Example from wikipedia
3 //
4 // Program asks for a number, then subtracts one from it until it reaches zero.
5
6      INP
7 LOOP SUB ONE    // Label this memory address as LOOP
8      OUT        // Calculator to the output register
9      BRZ QUIT   // If the calculator value is 0, jump to the memory address labeled QUIT
10      BRA LOOP   // If the calculator value is not 0, jump to the memory address labeled LOOP
11
12 QUIT HLT        // Label this memory address as QUIT
13
14 ONE  DAT 1      // Store the value 1 in this memory address, and label it ONE (variable declaration)