Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

[25 pts] 4. Consider the AVR assembly code in Problem #3 with its equivalent (partially completed) address and binaries shown on the right. Determine the

image text in transcribed

[25 pts] 4. Consider the AVR assembly code in Problem #3 with its equivalent (partially completed) address and binaries shown on the right. Determine the values for (a) kkkk kkkk kkkk (@address $0000) (b) rd dddd rrrr (@address $0054) (c) KKKK dddd KKKK (@address $0057) (d) d dddd (@address $005D) (e) rd dddd rrrr @ address $005F) (f) kk kkkk k (@address $006B) (g) Kidd KKKK @ address $006C) (h) kkkk kkkk kkkk (@address $0070) .include "m128 def.inc" .def rlo - ro .def rhi - rl .def A-r2 .def B-r3 .def zero - r4 .def oloop - r17 .def loop - r18 ; Include definition file ; Low byte of MUL result ; High byte of MUL result ; An operand Another operand Zero register Outer Loop Counter i Inner Loop Counter Address 0000: Binary kkkk kkkk 1100 kkkk .org 90000 rjmpINIT .org $0054 INIT: alr zero MAIN: ldi YL, low (addrB) ldi YH, high (addrB) ldi ZL, low (LAddre) ldi ZH, high (LAddrP) 1 di oloop, 2 MUL16_OLOOP: ldi XL, low(addra) ldi XH, high (addra) ldi iloop, 2 MUL16 ILOOP: ld A, X+ ld mul A, B ld A, 2+ ld B, 2+ add rlo, A adc rhi, B A, 2 adc A, zero st 2, A st -2, rhi st -2, rlo adiw ZH:ZL, 1 deciloop brne MUL16 ILOOP sbin ZH:2L, adiw YH:YL. 1 dec oloop brne MUL16_OLOOP Done: rjmp Done .dseg .org $0100 addxA: .byte 2 addrB: .byte 2 LAddr: .byte 4 0054: 0055: 0056: 0057: 0058: 0059: 005A: 005B: 005C: 005D: 005E: 005F: 0060: 0061: 0062: 0063: 0064: 0065: 0066: 0067: 0068: 0069: 006A: 006B: 006C: 006D: 006E: 006F: 0070: 001001rd dddd rrrr 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1001 000d dddd 1101 1000 000 dddd 1000 1001 lrd ddddrrrr 1001 000d dddd 0001 1001 000 dddd 0001 0000 11rd dddd rrrr 0001 1lrd ddddrrrr 000d dddd 0000 0001 1lrd dddd 1000 001ddddd 0000 1001 001ddddd 0010 1001 001ddddd 0010 1001 0110 Kidd KKKK 1001 010ddddd 1010 1111 01kk kkkk k001 1001 0111 Kidd KKKK 1001 0111 Kidd 1001 010ddddd 1010 1111 01kk kkkk k001 1100 kkkk kkkk kkkk ld 1000 [25 pts] 4. Consider the AVR assembly code in Problem #3 with its equivalent (partially completed) address and binaries shown on the right. Determine the values for (a) kkkk kkkk kkkk (@address $0000) (b) rd dddd rrrr (@address $0054) (c) KKKK dddd KKKK (@address $0057) (d) d dddd (@address $005D) (e) rd dddd rrrr @ address $005F) (f) kk kkkk k (@address $006B) (g) Kidd KKKK @ address $006C) (h) kkkk kkkk kkkk (@address $0070) .include "m128 def.inc" .def rlo - ro .def rhi - rl .def A-r2 .def B-r3 .def zero - r4 .def oloop - r17 .def loop - r18 ; Include definition file ; Low byte of MUL result ; High byte of MUL result ; An operand Another operand Zero register Outer Loop Counter i Inner Loop Counter Address 0000: Binary kkkk kkkk 1100 kkkk .org 90000 rjmpINIT .org $0054 INIT: alr zero MAIN: ldi YL, low (addrB) ldi YH, high (addrB) ldi ZL, low (LAddre) ldi ZH, high (LAddrP) 1 di oloop, 2 MUL16_OLOOP: ldi XL, low(addra) ldi XH, high (addra) ldi iloop, 2 MUL16 ILOOP: ld A, X+ ld mul A, B ld A, 2+ ld B, 2+ add rlo, A adc rhi, B A, 2 adc A, zero st 2, A st -2, rhi st -2, rlo adiw ZH:ZL, 1 deciloop brne MUL16 ILOOP sbin ZH:2L, adiw YH:YL. 1 dec oloop brne MUL16_OLOOP Done: rjmp Done .dseg .org $0100 addxA: .byte 2 addrB: .byte 2 LAddr: .byte 4 0054: 0055: 0056: 0057: 0058: 0059: 005A: 005B: 005C: 005D: 005E: 005F: 0060: 0061: 0062: 0063: 0064: 0065: 0066: 0067: 0068: 0069: 006A: 006B: 006C: 006D: 006E: 006F: 0070: 001001rd dddd rrrr 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1110 KKKK dddd KKKK 1001 000d dddd 1101 1000 000 dddd 1000 1001 lrd ddddrrrr 1001 000d dddd 0001 1001 000 dddd 0001 0000 11rd dddd rrrr 0001 1lrd ddddrrrr 000d dddd 0000 0001 1lrd dddd 1000 001ddddd 0000 1001 001ddddd 0010 1001 001ddddd 0010 1001 0110 Kidd KKKK 1001 010ddddd 1010 1111 01kk kkkk k001 1001 0111 Kidd KKKK 1001 0111 Kidd 1001 010ddddd 1010 1111 01kk kkkk k001 1100 kkkk kkkk kkkk ld 1000

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Beginning Microsoft SQL Server 2012 Programming

Authors: Paul Atkinson, Robert Vieira

1st Edition

1118102282, 9781118102282

More Books

Students also viewed these Databases questions