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 5270 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) 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 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...