Hello, I already have the answers to this assembly language code, but will someo
ID: 2266343 • Letter: H
Question
Hello, I already have the answers to this assembly language code, but will someone please explain how to get those answers?
Thanks
2) (9 pts) The following assembly subroutine looks for the largest unsigned byte in a block of data ORG $B600 LARGEST LDS #$30 LDAB 50 CLRA LDX #$0100 CMPA 0,X BCC NOCHG LDAA 0,X INX DECB BNE MAXM PSHA RTS MAXM NOCHG a) How many bytes are contained in the block of data? b) Indicate the address of the memory location where the first byte of the data block is saved c) At what memory location is the result (largest unsigned byte) stored?Explanation / Answer
a) Third instruction LDAB #50 , loads immediate decimal 50 in B reg. In tenth instruction DECB is used to decrement and branch back if not zero. Hence total 50 numbers are searched.
b) LDX #$0100 initializes index register X with 0100 address and the first number is compared here with 0 in CMPA0, X. Hence the first number sits in address represented by hexadecimal number 100
c) LDS #$30 initializes stack pointer with hexadecimal 30. PSHA pushes accumulator content on stack after coming out of loop. Hence $30 is the address where largest number is stored
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.