Translate the following high-level language code segment to ARM assembly language. Use the registers indicated in the code. while (R8 > 20) do        if (R8 < 100) OR (R8 > 200) then            R7 = R8            R8 = R8 - 10       else            R8 = R8 - R7       end if       R7 = R6 + 4 end whil

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

 

Translate the following high-level language code segment to ARM assembly language. Use the registers indicated in the code.

while (R8 > 20) do

       if (R8 < 100) OR (R8 > 200) then

           R7 = R8

           R8 = R8 - 10

      else

           R8 = R8 - R7

      end if

      R7 = R6 + 4

end while

Consider some common ARM Assembly language instructions:
Type of Instruction
ARM Assembly
Language
LDR R1, Mem
Register Transfer Language
Description
R1 + Mem (PC-relative; 32-bit operand)
Mem-RI (PC-relative; 32-bit operand)
Memory Access
STR RI, Mem
Address
ADR R1, Mem
R1+ load address of Mem
Move
MOV RI, R2
R1+ R2
MOV R1, #10
R1+ 10
Arithmetic Instruction
ADD RI, R2, R3
R1+ R2 + R3
(reg. or immediate operands
only)
SUB R1, R2, R3
R1+ R2 - R3
MUL R1, R2, R3
R1+ (R2 x R3)131:01
ADD R1, R2, #10
R1+ R2 + R3 + C
SUB RI, R2, #1
R1+ R2 - 1
Bit-wise Logical Instructions
AND R1, R2, R3
R1+ R2 and R3
ORR RI, R2, R3
BIC RI, R2, R3
R1+ R2 or R3
R1- R2 and (not R3)
ERR R1, R2, R3
R1- R2 xor R3
Comparison Instructions
(set the condition codes, cc)
Conditional
CMP RI, R2
Sets condition codes on R1 - R2
Branch to LABEL if condition codes are set for >
Branch to LABEL if condition codes are set for >=
Branch to LABEL if condition codes are set for <
Branch to LABEL if condition codes are set for <=
Branch to LABEL if condition codes are set for =
Branch to LABEL if condition codes are set for !=
Always Branch to LABEL
BGT LABEL
Branch
BGE LABEL
BLT LABEL
BLE LABEL
BEQ LABEL
BNE LABEL
Unconditional
B LABEL
Branch
or BAL LABEL
BL LABEL
Branch to LABEL and Link (save return value to LR (R14))
Transcribed Image Text:Consider some common ARM Assembly language instructions: Type of Instruction ARM Assembly Language LDR R1, Mem Register Transfer Language Description R1 + Mem (PC-relative; 32-bit operand) Mem-RI (PC-relative; 32-bit operand) Memory Access STR RI, Mem Address ADR R1, Mem R1+ load address of Mem Move MOV RI, R2 R1+ R2 MOV R1, #10 R1+ 10 Arithmetic Instruction ADD RI, R2, R3 R1+ R2 + R3 (reg. or immediate operands only) SUB R1, R2, R3 R1+ R2 - R3 MUL R1, R2, R3 R1+ (R2 x R3)131:01 ADD R1, R2, #10 R1+ R2 + R3 + C SUB RI, R2, #1 R1+ R2 - 1 Bit-wise Logical Instructions AND R1, R2, R3 R1+ R2 and R3 ORR RI, R2, R3 BIC RI, R2, R3 R1+ R2 or R3 R1- R2 and (not R3) ERR R1, R2, R3 R1- R2 xor R3 Comparison Instructions (set the condition codes, cc) Conditional CMP RI, R2 Sets condition codes on R1 - R2 Branch to LABEL if condition codes are set for > Branch to LABEL if condition codes are set for >= Branch to LABEL if condition codes are set for < Branch to LABEL if condition codes are set for <= Branch to LABEL if condition codes are set for = Branch to LABEL if condition codes are set for != Always Branch to LABEL BGT LABEL Branch BGE LABEL BLT LABEL BLE LABEL BEQ LABEL BNE LABEL Unconditional B LABEL Branch or BAL LABEL BL LABEL Branch to LABEL and Link (save return value to LR (R14))
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

Translate the following high-level language code segment to ARM assembly language. Use the registers indicated in the code.

if X < Y then

   min = X

else

   min = Y

end if

Solution
Bartleby Expert
SEE SOLUTION
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY