[ Main Page | Pseudocode | Source Code | Sample Output ]
Below is the Mac-1 program being used as input to the assembler:
K = 4020 X = 4000 Y = 3980 A = 4 B = 3 P = 1 J = 0 V = 5 ANS = 4 SUM = 1 I = 0 C1 = 1 C20 = 20 JUMP MAIN PMUL: DESP 2 LODL A JNZE ANOTZ LOCO 0 JUMP DONE ANOTZ: LODL B JNZE BNOTZ LOCO 0 JUMP DONE BNOTZ: LOCO 0 STOL P LOCO 1 STOL J LODL A JNEG L2 JZER L2 L1: LODL P ADDL B STOL P LOCO 1 ADDL J STOL J SUBL A JNEG L1 JZER L1 L2: LODL P DONE: INSP 2 RETN INNER: DESP 2 LOCO 0 STOL SUM LOCO 1 STOL I L3: LOCO X ADDL I PSHI LODL V ADDL I SUBD C1 PSHI CALL PMUL INSP 2 ADDL SUM STOL SUM LOCO 1 ADDL I STOL I SUBD C20 JNEG L3 JZER L3 LODL SUM PUSH LODL ANS POPI INSP 2 RETN MAIN: DESP 96 LOCO 1 STOD K L4: LODD K PUSH LOCO X ADDD K POPI LOCO 2 PUSH LODD K PUSH CALL PMUL INSP 2 ADDD C1 PUSH LOCO Y ADDD K POPI LOCO 1 ADDD K STOD K SUBD C20 JNEG L4 JZER L4 LOCO Y PUSH LOCO K PUSH CALL INNER INSP 2 LODD K PUSH INSP 1 HALT
Below is the binary output from the assembly process:
0110001110010000 1111111000000010 1000000000000100 1101000001100000 0111000000000000 0110000110110000 1000000000000011 1101000010100000 0111000000000000 0110000110110000 0111000000000000 1001000000000001 0111000000000001 1001000000000000 1000000000000100 1100000110100000 0101000110100000 1000000000000001 1010000000000011 1001000000000001 0111000000000001 1010000000000000 1001000000000000 1011000000000100 1100000100010000 0101000100010000 1000000000000001 1111110000000010 1111100000000000 1111111000000010 0111000000000000 1001000000000001 0111000000000001 1001000000000000 0111111110100000 1010000000000000 1111000000000000 1000000000000101 1010000000000000 0011000000000001 1111000000000000 1110000000010000 1111110000000010 1010000000000001 1001000000000001 0111000000000001 1010000000000000 1001000000000000 0011000000010100 1100001000100000 0101001000100000 1000000000000001 1111010000000000 1000000000000100 1111001000000000 1111110000000010 1111100000000000 1111111001100000 0111000000000001 0001111110110100 0000111110110100 1111010000000000 0111111110100000 0010111110110100 1111001000000000 0111000000000010 1111010000000000 0000111110110100 1111010000000000 1110000000010000 1111110000000010 0010000000000001 1111010000000000 0111111110001100 0010111110110100 1111001000000000 0111000000000001 0010111110110100 0001111110110100 0011000000010100 1100001111000000 0101001111000000 0111111110001100 1111010000000000 0111111110110100 1111010000000000 1110000111010000 1111110000000010 0000111110110100 1111010000000000 1111110000000001 1111111111111111
[ Main Page | Pseudocode | Source Code | Sample Output ]