## 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