Chapter 2 Vocab Flashcards

(74 cards)

1
Q

lui

A

load upper immediate

puts the upper 16 bits of a constant into a register, allowing a subsequent instruction to specify the lower 16 bits of the constant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

$fp

A

frame pointer

a value denoting the location of the saved registers and local variables for a given procedure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

$gp

A

global pointer

the register that is reserved for pointing to the static area

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

$sp

A

stack pointer

a value denoting the most recently allocated address in the stack that shows where registers should be spilled or where old register values can be found

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

(PC)

A

program counter

the register containing the address of the instruction in the program currently being executed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

procedure frame

A

also called the activation record

the segment of the stack containing a procedure’s saved registers and local variables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

data transfer instructions

A

a command that moves data between memory and registers (sw, lw)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

PC-relative addressing

A

an addressing regime in which the address is the sum of the PC and a constant in the instruction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

immediate addressing

A

the operand is a constant within the instruction itself

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

register addressing

A

the operand(s) is a register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

base addressing

A

the operand is at the memory location whose address is the sum of a register and a constant in the instruction

instructions that use this:
- lw
- sw

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

pseudo-direct addressing

A

the jump address is the 26 bits of the instruction concatenated with the upper bit of the PC

instructions that use this:
- j
- jal

format:
op (6 bits) address (26 bits)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

ble

A

branch on less than or equal (pseudo instruction)

ble rs, rt, Label

translates to: slt, bne

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

instruction set

A

the vocabulary of a computer’s language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

stored-program concept

A

the idea that instructions and data of many types can be stored in memory as numbers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

address

A

a value used to delineate the location of a specific data element within a memory array

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

offset

A

a constant value added to a base address to locate a particular element

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

alignment restriction

A

a requirement that data be aligned in memory on natural boundaries

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

spilling registers

A

the process of putting less commonly use variables into memory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

overflow

A

when the results of an operation are larger than can be represented in a register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

instruction format

A

a form of representation of an instruction composed of fields of binary numbers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

machine language

A

a binary representation of machine instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

machine code

A

a sequence of instructions in machine language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

basic block

A

a sequence of instructions without branches (except maybe at the end) and without branch targets (except maybe at the beginning)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
instruction
the words of a computer's language
26
jump address table
also called jump table a table of addresses of alternative instruction sequences
27
procedure
a stored subroutine that performs a specific task based on the parameters with which it is provided in the execution of a procedure
28
caller
the program that instigates a procedure and provides the necessary parameter values
29
callee
a procedure that executes a series of stored instructions based on parameters provided by the caller and then returns control to the caller
30
stack
a data structure for spilling registers organized as a last-in-first-out queue
31
addressing mode
one of several addressing regimes delimited by their varied use of operands and/or addresses
32
pseudo instruction
a common variation of assembly instructions often treated as if it were an instruction in its own right
33
symbol table
a table that matches names of label to the addresses of the memory that instructions occupy
34
linker
also called link editor a systems program that combines independently assembled machine
35
linker
also called link editor a systems program that combines independently assembled machine language programs and resolves any undefined labels into an executable file
36
executable file
a functional program in the format of an object file that contains no unresolved references
37
loader
a systems program that places an object program in main memory so that it is ready to execute
38
dynamically linked libraries
library routines that are linked to a program during execution
39
$ra
return address a link to the calling site that allows a procedure to return to the proper address
40
word
the natural unit of access in a computer consists of 4 bytes or 32 bits
41
base address
the starting address of an array in memory
42
conditional branch
an instruction that requires the comparison of two values and that allows for a subsequent transfer of control to a new address in the program based on the outcome of the comparison
43
$v#
value register used for returning values from procedures $v0 - $v1
44
ASCII
American Standard Code for Information Interchange
45
sll
shift left logical this is the same as multiplying by 2^n sll rd, rt, shamt
46
$at
assembler temporary
47
sc
store conditional will store a new value only if no updates have occurred to the memory location since 11 was called always used with ll sc rt, offset(rs)
48
move
pseudo instruction equivalent to add rd, rs, $zero move rd, rs
49
blt
branch on less than (pseudo instruction) equivalent to slt, bne blt rs, rt, Label
50
bgt
branch on greater than (pseudo instruction) equivalent to slt, beq bgt rs, rt, Label
51
bge
branch on greater than or equal (pseudo instruction) equivalent to slt, beq bge rs, rt, Label
52
jal
jump and link an instruction that jumps to an address and simultaneously saves the address of the following instruction in a register ($ra) always used with jr
53
jr
jump register an instruction that jumps to the register stored in $ra always used with jal
54
registers
fast locations for data
55
base register
holds the base address of the array
56
least significant bit
right most bit
57
most significant bit
left most bit
58
two's complement
a signed number representation where a leading 0 represents a positive number and a leading 1 represents a negative number invert each bit then add 1
59
unconditional branch
an instruction that is always followed
60
$a#
argument registers used to pass parameters to a procedure $a0 - $a3
61
add
addition register addressing add rd, rs, rt
62
sub
subtraction register addressing sub rd, rs, rt
63
lw
load word base addressing lw rt, offset(base address)
64
sw
store word base addressing sw rt, offset(base address)
65
addi
add immediate immediate addressing addi rd, rs, immediate
66
srl
shift right logical register addressing srl rd, rs, shamt
67
bne
branch on not equal PC-relative addressing bne rs, rt, Label
68
beq
branch on equal PC-relative addressing beq rs, rt, Label
69
j
jump pseudo-direct addressing j Label
70
lb
load byte (1 byte) lb rt, offset(base address)
71
sb
store byte (1 byte) sb rt, offset(base address)
72
lh
load halfword (2 bytes) lh rt, offset(base address)
73
sh
store halfword (2 bytes) sh rt, offset(base address)
74
ll
load link returns the current value of a memory location always used with sc ll rt, offset(rs)