Chapter 2 Vocab Flashcards

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
Q

instruction

A

the words of a computer’s language

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

jump address table

A

also called jump table

a table of addresses of alternative instruction sequences

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

procedure

A

a stored subroutine that performs a specific task based on the parameters with which it is provided in the execution of a procedure

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

caller

A

the program that instigates a procedure and provides the necessary parameter values

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

callee

A

a procedure that executes a series of stored instructions based on parameters provided by the caller and then returns control to the caller

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

stack

A

a data structure for spilling registers organized as a last-in-first-out queue

31
Q

addressing mode

A

one of several addressing regimes delimited by their varied use of operands and/or addresses

32
Q

pseudo instruction

A

a common variation of assembly instructions often treated as if it were an instruction in its own right

33
Q

symbol table

A

a table that matches names of label to the addresses of the memory that instructions occupy

34
Q

linker

A

also called link editor

a systems program that combines independently assembled machine

35
Q

linker

A

also called link editor

a systems program that combines independently assembled machine language programs and resolves any undefined labels into an executable file

36
Q

executable file

A

a functional program in the format of an object file that contains no unresolved references

37
Q

loader

A

a systems program that places an object program in main memory so that it is ready to execute

38
Q

dynamically linked libraries

A

library routines that are linked to a program during execution

39
Q

$ra

A

return address

a link to the calling site that allows a procedure to return to the proper address

40
Q

word

A

the natural unit of access in a computer

consists of 4 bytes or 32 bits

41
Q

base address

A

the starting address of an array in memory

42
Q

conditional branch

A

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
Q

$v#

A

value register

used for returning values from procedures

$v0 - $v1

44
Q

ASCII

A

American Standard Code for Information Interchange

45
Q

sll

A

shift left logical

this is the same as multiplying by 2^n

sll rd, rt, shamt

46
Q

$at

A

assembler temporary

47
Q

sc

A

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
Q

move

A

pseudo instruction

equivalent to add rd, rs, $zero

move rd, rs

49
Q

blt

A

branch on less than (pseudo instruction)

equivalent to slt, bne

blt rs, rt, Label

50
Q

bgt

A

branch on greater than (pseudo instruction)

equivalent to slt, beq

bgt rs, rt, Label

51
Q

bge

A

branch on greater than or equal (pseudo instruction)

equivalent to slt, beq

bge rs, rt, Label

52
Q

jal

A

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
Q

jr

A

jump register

an instruction that jumps to the register stored in $ra

always used with jal

54
Q

registers

A

fast locations for data

55
Q

base register

A

holds the base address of the array

56
Q

least significant bit

A

right most bit

57
Q

most significant bit

A

left most bit

58
Q

two’s complement

A

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
Q

unconditional branch

A

an instruction that is always followed

60
Q

$a#

A

argument registers

used to pass parameters to a procedure

$a0 - $a3

61
Q

add

A

addition

register addressing

add rd, rs, rt

62
Q

sub

A

subtraction

register addressing

sub rd, rs, rt

63
Q

lw

A

load word

base addressing

lw rt, offset(base address)

64
Q

sw

A

store word

base addressing

sw rt, offset(base address)

65
Q

addi

A

add immediate

immediate addressing

addi rd, rs, immediate

66
Q

srl

A

shift right logical

register addressing

srl rd, rs, shamt

67
Q

bne

A

branch on not equal

PC-relative addressing

bne rs, rt, Label

68
Q

beq

A

branch on equal

PC-relative addressing

beq rs, rt, Label

69
Q

j

A

jump

pseudo-direct addressing

j Label

70
Q

lb

A

load byte (1 byte)

lb rt, offset(base address)

71
Q

sb

A

store byte (1 byte)

sb rt, offset(base address)

72
Q

lh

A

load halfword (2 bytes)

lh rt, offset(base address)

73
Q

sh

A

store halfword (2 bytes)

sh rt, offset(base address)

74
Q

ll

A

load link

returns the current value of a memory location

always used with sc

ll rt, offset(rs)