Misch
A MIX emulator.
Source code
Example
Echo
Primes
Vigenere
Toggle Theme
Run to Completion
Idle
MIXAL Program
* Prime printer with double output buffers. * Reads one 5-char decimal word from paper tape (unit 16), * prints that many primes to the line printer (unit 18). PTAPE EQU 16 PRINTER EQU 18 START EQU 3000 ORIG START IN INWORD(PTAPE) ENTA 0 LDX INWORD NUM STA TARGETN ENT1 0 ENTA 2 STA CAND ENTA 1 STA WHICH LOOP CMP1 TARGETN JGE DONE ENTA 2 STA DIVISOR 1H LDA DIVISOR MUL DIVISOR CMPX CAND JG 2F ENTA 0 LDX CAND DIV DIVISOR JXZ 3F LDA DIVISOR INCA 1 STA DIVISOR JMP 1B 2H LDA CAND CHAR LDA WHICH CMPA =1= JNE 4F STX BUF1 OUT BUF1(PRINTER) ENTA 2 STA WHICH JMP 5F 4H STX BUF2 OUT BUF2(PRINTER) ENTA 1 STA WHICH 5H OUT SPACE(PRINTER) INC1 1 3H LDA CAND INCA 1 STA CAND JMP LOOP DONE HLT ORIG *+2 INWORD CON 0 TARGETN CON 0 CAND CON 0 DIVISOR CON 0 WHICH CON 1 SPACE ALF " " BUF1 CON 0 BUF2 CON 0 END START
Paper Tape Input (Unit 16)
00017
MIXAL Program
* Prime printer with double output buffers. * Reads one 5-char decimal word from paper tape (unit 16), * prints that many primes to the line printer (unit 18). PTAPE EQU 16 PRINTER EQU 18 START EQU 3000 ORIG START IN INWORD(PTAPE) ENTA 0 LDX INWORD NUM STA TARGETN ENT1 0 ENTA 2 STA CAND ENTA 1 STA WHICH LOOP CMP1 TARGETN JGE DONE ENTA 2 STA DIVISOR 1H LDA DIVISOR MUL DIVISOR CMPX CAND JG 2F ENTA 0 LDX CAND DIV DIVISOR JXZ 3F LDA DIVISOR INCA 1 STA DIVISOR JMP 1B 2H LDA CAND CHAR LDA WHICH CMPA =1= JNE 4F STX BUF1 OUT BUF1(PRINTER) ENTA 2 STA WHICH JMP 5F 4H STX BUF2 OUT BUF2(PRINTER) ENTA 1 STA WHICH 5H OUT SPACE(PRINTER) INC1 1 3H LDA CAND INCA 1 STA CAND JMP LOOP DONE HLT ORIG *+2 INWORD CON 0 TARGETN CON 0 CAND CON 0 DIVISOR CON 0 WHICH CON 1 SPACE ALF " " BUF1 CON 0 BUF2 CON 0 END START
Paper Tape Input (Unit 16)
00017
Line Writer Output (Unit 18)
Program output will appear here after running.