Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ PROGRAM INTO ASSEMBLY PEP/8 HOW DO I DO % 16 IN ASSEMBLY? WHAT I HAVE SO FAR

ID: 3860907 • Letter: C

Question

C++ PROGRAM INTO ASSEMBLY PEP/8

HOW DO I DO % 16 IN ASSEMBLY?

WHAT I HAVE SO FAR IN ASSEMBLY:

BR main

num: .BLOCK 2 ;variable

;

main: DECI num,d ;cin >> exam1

LDA num,d ;num = (num

ASRA ;%16 HAVING A PROBLEM HERE

STA num,d ;store the num

STRO msg,d ;cout << "num = "

DECO num,d ; << num

CHARO ' ',i ; << endl

STOP

msg: .ASCII "num = "

.END

+++++++++++++   

C++PROGRAM:

#include
using namespace std;

int num;

int main () {

cin >> num;
num = num % 16;
cout << "num = " << num << endl;
return 0;

}

Explanation / Answer

Ans:

As you need assmebly to get reminder when num is divided by 16.

The DIV instruction in assembly provide both quotient and remainder (modulo) as needed in question. DIV r16 divides a 32-bit number in DX:AX by a 16-bit operand. Result is stored as : quotient in AX and remainder in DX.

Example:

So, DX will contain the reminder part.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote