Create a HACK program Div.asm

1 min read

Create a HACK program Div.asm that performs integer (Euclidean) division (see hereLinks to an external site. and hereLinks to an external site. for explanations and examples). Your program should divide the dividend stored in R0 by the divisor stored in R1 and put the quotient in R2 and the remainder in R3. If an exception division condition is encountered, then R2 (quotient) should be set to 0 and R3 (remainder) should be set to -1 if a non-zero divide by 0 is encountered or to -2 if 0 divide by 0 (NaN) is encountered. Your program should assume input registers R0 (dividend) and R1 (divisor) have already been loaded with values and should not modify them. For readability, your program should use the following self-explanatory variables which will need to be either loaded from the input registers R0 (dividend) and R1 (divisor) or copied into the output registers R2 (quotient) and R3 (remainder): dividend, divisor, quotient, and remainder.
Below is some pseudocode you may use to develop your program (note that the switch construct is used for clarity and the numbers in parentheses beside the cases could be convenient in the Hack language for identifying those cases).

PAYE Tax Calculator

Popular Posts
01
ielts speaking test

ielts speaking test

Getting Started
02
How to Start a Pharmacy or Chemist Business in Kenya - difference

How to Start a Pharmacy or Chemist Business in Kenya - difference

Getting Started
03
Free KCSE Past Papers from 1995 to 2023 with Answers  Freekcsepastpapers

Free KCSE Past Papers from 1995 to 2023 with Answers Freekcsepastpapers

Getting Started
04
List of kenya primary school knec codes

List of kenya primary school knec codes

Getting Started
05
Mortgage Calculator: A Comprehensive Tool for Your Home Loan Needs

Mortgage Calculator: A Comprehensive Tool for Your Home Loan Needs

Getting Started
06
KCSE Results 2024 Top 200 Schools and Factors Contributing to Their Success

KCSE Results 2024 Top 200 Schools and Factors Contributing to Their Success

Getting Started