Instruction Set Architecture Summary Flashcards
Summarise ISA Lectures
What does the compiler do?
Converts high level language to machine code.
What is Assembly language?
Human representation of computer’s native language.
How would you multiply by 2 in ARM code?
LSL (logical shift left).
e.g. LSL R0, R0, #1; R0=R0*2.
How would you divide by 2 in ARM code?
ASR (arithmetic shift right)
What does bit rotation do?
Expands number of bits, e.g. 4-bit to 8-bit etc.
Why is conditional execution used?
User may not want to execute code sequentially. Hence, branch, B, is used.
What are the conditional flags?
Negative (N), Zero (Z), Carry (C) and Overflow (V). //Held in Current Program Status Register (CPSR)//
What does the program counter do?
Points to the location of the next instruction in memory.
What are the 3 instruction formats?
Data-processing
Memory
Branch
In the register, what do the I, P, U, B, W, L acronyms stand for?
Immediate, PreIndex, Add, Branch, Writeback and Load.
What is the Branch Target Address (BTA)?
Next PC when branch taken is relative to current PC+8.
//imm24 encodes BTA.
imm24=#of words BTA is away from PC+8//