Save
A-level Computer Science
School Notes
Assembly Theory and Addressing Modes
Save
Share
Learn
Content
Leaderboard
Share
Learn
Created by
Ana Saker
Visit profile
Cards (28)
What is one reason to use a low-level language?
It
reflects
the
design
of the
processor
View source
What is a characteristic of machine code?
It
uses
binary notation
View source
How is machine code specific to a processor?
It depends
on
the
hardware design
of the
processor
View source
What do instructions in machine code operate on?
Bytes of data
View source
What are the differences between machine code and assembly language?
Machine code:
written
in
binary
and
hexadecimal
Assembly language:
includes
mnemonics
Machine code:
no
translation
needed
Assembly language:
translated
by an
assembler
Machine code:
very
difficult
to
write
Assembly language:
easier
than
machine
code
,
harder
than
high-level languages
View source
What steps do assemblers perform to produce machine code?
Reserves
storage
for
instructions
&
data
Replaces
mnemonic opcodes
with
machine
codes
Replaces
symbolic addresses
with
numeric
addresses
Creates a
symbol
table
for
labels
&
addresses
Checks
syntax
and
provides
error
diagnostics
View source
What is a mnemonic in assembly language?
A
three-letter
code
for an
instruction
View source
What does an opcode indicate?
What
operation
the
instruction
is to
perform
View source
What is the purpose of an operand in an instruction?
It holds
data
for the
operation
specified
View source
What is flow control in programming?
The
order
in which
instructions
are
executed
View source
What is symbolic addressing?
Using
characters
to
represent
memory addresses
View source
How is a jump command executed?
By
changing
the
contents
of
the
PC
View source
What happens when an instruction arrives in the processor?
The processor
decodes
the
instruction
Determines the
addressing
mode
to
access
data
Multiple
versions
of
each
instruction
may
exist
View source
What does #ADD signify in addressing modes?
Addition
using
direct addressing
View source
What does %ADD signify in addressing modes?
Addition
using
immediate addressing
View source
What does $ADD signify in addressing modes?
Addition
using
indirect addressing
View source
If the Accumulator equals 5 and we %ADD 6, what is the result?
11
View source
If the Accumulator equals 5 and we #ADD 2, what is the result?
6
View source
If the Accumulator equals 5 and we $ADD 4, what is the result?
6
View source
What is immediate addressing?
Operand
is the
value
to
be
used
Used in
assembly language
View source
What is direct addressing?
Operand
is the
memory location
of
data
Simplest
and
most
common
method
of
addressing
View source
What is indirect addressing?
Operand
is a
memory location
holding
a
value
Increases
the
memory
locations
that can be
addressed
View source
What is indexed addressing?
Operand
is
added
to
contents
of
Index Register
Allows
efficient
access
to a
range
of
memory locations
View source
Why can't we only use direct addressing?
Addresses
are
limited
by
the
address field size
View source
What is an indexed register?
Used
in
indexed addressing
Stores
a
number
to
modify
an
address
Allows
access
to a
range
of
memory locations
View source
Compare direct addressing and indirect addressing.
Direct:
simplest
method,
uses
address
field
directly
Indirect:
uses
address
field
as
a
pointer,
increases
addressable
memory
View source
What is relative addressing?
Calculates
a
real
address
from a
base
address
Uses
an
offset
as a
relative
address
Useful
for
arrays
and
branching
View source
What does indexed addressing modify?
Modifies
the
address
by
adding
a
number
Uses
the
index register
to
determine
the
final address
View source