Quiz on third week's material.
The following ask about details of the assembly syntax we will use for this course (AT&T syntax assembly). This is not because the topic is important in and of itself, but because knowing it will be important to learn what will follow.
Question 1: (see above) The instruction addq %rax, %rbx
changes what?
Question 2: (see above) What is the difference between 15
and $15
?
Question 3: There are no labels in an executable binary program, but there are labels in assembly; for example, in the following foo:
is a label definition and baz
is a label use
foo:
jmp baz
The assembler and linker remove the labels from assembly to create a binary executable by
Question 4: When we say that the PC and Condition Codes are not program registers, we mean that
Consider the assembly operation popq %r11
.
Question 5: (see above) How many program registers need to be read to complete this instruction?
In other words, how many program registers' values can impact the result of this popq
?
Question 6: (see above) How many program registers are written by this instruction?
In other words, how many program registers' values change as a consequence of executing this popq
?
Question 7: An ISA specifies
Select all that apply
Question 8: RISC processors are typically described as
Select all that apply
Question 9: Y86-64 lacks which of the following instructions?
Select all that apply
Question 10: The Y86-64 assembly
irmovq $3, %rax
andq %rax, %rax
je whee