Lecture 02 Flashcards
Is assembler code portable across different architectures?
No
Assembler code is ISA specific
Do assembly languages have the following feature?
Labels
Yes
Do assembly languages have the following feature?
Data moves
Yes
Do assembly languages have the following feature?
Arithmetic operations
Yes
Do assembly languages have the following feature?
Loops and conditional constructs
No
Do assembly languages have the following feature?
Variable names
No
Do assembly languages have the following feature?
Data types
No
Do assembly languages have the following feature?
Method calls and returns
No
Do assembly languages have the following feature?
Conditional branches (or ‘branches’)
Yes
Do assembly languages have the following feature?
Unconditional branches (or ‘jumps’)
Yes
Can you choose the name for a register?
No
How many general purpose registers do x86 architectures have?
16
What makes an ISA ‘orthogonal’?
An ISA is ‘orthogonal’ if each instruction performs a unique task without overlapping with other instructions
Is x86 historically considered an orthogonal architecture?
No
Is ARM architecture considered orthogonal?
Yes
Why are intermediate results of calculations written to registers instead of back into memory?
It is much cheaper to keep the data in the registers as often moving the data to/from memory can take longer than the calculations themselves
What is an operand?
An operator is something that an operator is applied to. For example, in 2 + 3, 2 and 3 are the operands and + is the operator.