Problem Statement
Write a sequence of instructions for SIC/XE to divide BETA by GAMMA, setting ALPHA to the integer portion of the quotient and DELTA to the remainder. Use register-to-register instructions to make the calculation as efficient as possible.
Solution
Line Number(ac) | Code | Description |
1 | LDA BETA | Load the value of BETA to accumulator |
2 | LDS GAMMA | Load the value of GAMMA to register S |
3 | DIVR S, A | Divide the value of accumulator with the Register S |
4 | STA ALPHA | Store the accumulator value to ALPHA |
5 | MULR S, A | Multiply the value of accumulator with Register S and store the result in accumulator. |
6 | LDS BETA | Load the value of BETA to Register S |
7 | SUBR A, S | Subtract the value of Register S from Accumulator and store the result in Register A |
8 | STS DELTA | Store the value of register S to DELTA |
9 | ALPHA RESW 1 | Reserve 1 word for ALPHA |
10 | BETA RESW 1 | Reserve 1 word for BETA |
11 | GAMMA RESW 1 | Reserve 1 word for GAMMA |
12 | DELTA RESW 1 | Reserve 1 word for DELTA |
Leave a Reply