System Software – SIC/XE Program to divide BETA by GAMMA and set quotient and remainder

Published on June 26, 2016 by abundantcode

Filed under Assembly Language

Last modified June 26, 2016

Print this page

rate 1 star rate 2 star rate 3 star rate 4 star rate 5 star
Your rating: none, Average: 5 (1 votes)

This article have been viewed 2647 times

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)CodeDescription
1LDA BETALoad the value of BETA to accumulator
2LDS GAMMALoad the value of GAMMA to register S
3DIVR S, ADivide the value of accumulator with the Register S
4STA ALPHAStore the accumulator value to ALPHA
5MULR S, AMultiply the value of accumulator with Register S and store the result in accumulator.
6LDS BETALoad the value of BETA to Register S
7SUBR A, SSubtract the value of Register S from Accumulator  and store the result in Register A
8STS DELTAStore the value of register S to DELTA
9ALPHA RESW 1Reserve 1 word for ALPHA
10BETA RESW 1Reserve 1 word for BETA
11GAMMA RESW 1Reserve 1 word for GAMMA
12DELTA RESW 1Reserve 1 word for DELTA
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Leave a Comment


x

You might be Interested in these Posts

System Software - SIC program to set 100 elements of array to Zero

Problem Statement Suppose that ALPHA is an array of 100 words, as defined in Fig. 1.5(a). Write a s...

System Software - SIC/XE program to clear 20 byte string using Immediate addressing mode.

Problem Statement Write a sequence of instructions for SIC/XE to clear a 20-byte string to all blan...

System Software - SIC/XE Program to clear 20 byte string to empty

Problem Statement Write a sequence of instructions for SIC/XE to clear a 20-byte string to all blan...