5.84 · exercise

Advanced quiz: ARMv8 assembly

Convert a loop by hand, then account for exception levels, the program counter, multiply-accumulate, and integer division by zero.

0 of 5 correct

Multiple choice

When a C while loop (pre-test) is hand-translated to AArch64, why is the branch at the top of the loop usually written with the complement (the opposite) of the C condition?

Multiple choice

Which ARMv8-A Exception Level is reserved for a hypervisor running guest operating systems?

Multiple choice

The multiply-add instruction madd Wd, Wn, Wm, Wa computes which expression?

Multiple choice

Why can the program counter not be named as an operand the way x0 can in AArch64?

Multiple choice

What does an integer divide instruction (sdiv or udiv) do when the divisor register holds 0?