Question: Consider the following AVR assembly code for Lab. #5 that performs 16-bit by 16-bit multiplication (with some information missing). Assume the data memory locations $0100

 Consider the following AVR assembly code for Lab. #5 that performs

16-bit by 16-bit multiplication (with some information missing). Assume the data memory

Consider the following AVR assembly code for Lab. #5 that performs 16-bit by 16-bit multiplication (with some information missing). Assume the data memory locations $0100 through $0107 initially have the following values: 3. Data Memory Address content 0100 0101 0102 0103 0104 0105 0106 0107 08 01 14 include "m128def.inc" def r10=r0 def rhi=r1 def zero - r2 iInclude definition file i Low byte of MUL result i High byte of MUL result i Zero register i An operand .def A - r3 Another operand def oloopr17 i Outer Loop Counter .def 1100p=r18 .org $0000 Inner Loop Counter jmp INIT .org $0046 2. INIT: 3. MAIN: i Set zero register to zero ldiYL, low (addrB) Load low byte ldiYH, high (addrB) i Load high byte ldiZL, low (LAddrP) i Load low byte ldiZH, high (LAddrP) i Load high byte ldi oloop,2 5 6 7 8. MUL 16 OLOOP: Idi 9 10 11. MUL16 ILOOP: ld i Load counter XL, Iow(addrA) ; Load low byte iloop, 2 B, Y ldiXH, high (addrA) i Load high byte ldi ld mulA,B ld ld add adc rhi, B ld i Load counter i Get byte of A operand i Get byte of B operand i Multiply A and B i Get a result byte from memory i Get the next result byte from memory ; rio

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!