1/35
Vocabulary flashcards covering microprocessor architecture, computer types, programming tools, and NASM assembler directives based on Unit I lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Mainframes
The largest and most powerful computers with a data word length of 64 bits or more, used for complex scientific calculations and military defense control.
Minicomputers
A scaled-down version of a mainframe computer designed to process smaller data words of 32 bits.
Microcomputers
Small computers containing a single CPU (MPU) that operate at word lengths of 4, 8, 16, or 32 bits; examples include the Intel 8051.
Microprocessor
A general-purpose digital CPU on a single chip.
Firmware
A type of software embedded in hardware that provides basic instructions and system controls to help hardware start up and perform basic input/output tasks.
Von Neumann Architecture
A computer architecture where both program and data are stored in the same memory unit and instructions are executed in a sequential fashion.
Harvard Architecture
A computer architecture with physically separate storage and signal pathways for instructions and data, allowing the CPU to read both simultaneously.
CISC
Complex Instruction Set Computer; features a large number of instructions (200 to 300), variable length formats, and emphasizes hardware to maximize performance.
RISC
Reduced Instruction Set Computer; features relatively few instructions (around 50), fixed length formats, and relies on software and pipelining for performance.
Machine Language
The lowest-level language consisting of strings of 1's and 0's that a processor understands directly.
Assembly Language
A low-level, processor-dependent language that represents machine instructions using symbolic codes called mnemonics.
Assembler
A tool that translates a source file into binary or object code through two passes, creating an object file and a list file.
Linker
A program used to join several object files into one large, re-locatable executable file and produce a link map.
Absolute Loader
A type of loader that brings a file into memory at a specific location outlined in the file header without performing relocation.
Relocating Loader
A loader that determines the location of a program in memory and calculates relative offsets, which may produce a delay.
Locator
A program (such as EXE2BIN) used to assign specific physical addresses to segments of object code for loading into memory.
Debugger
A program that allows a user to load object code, set breakpoints, and execute instructions one by one to check and alter memory or register contents.
Emulator
A combination of hardware and software used to substitute, test, and debug the internal behavior of an external system.
Simulator
A software-only tool used to study and analyze different environments using high-level languages, typically faster than emulators due to a lack of binary translation.
Assembler Directives
Non-executable statements (pseudo-ops) that control the assembly process and layout of the program but do not generate machine code.
.STACK [size]
An assembler directive used to define the stack size; the default size is 1024 bytes.
DB (Define Byte)
A directive that allocates 1 byte of storage; range is −128 to +127 (signed) or 0 to 255 (unsigned).
DW (Define Word)
A directive that allocates 1 word (2 bytes) of storage; range is −32,768 to +32,767 (signed) or 0 to 65,535 (unsigned).
DQ (Define Quadword)
A directive used to reserve or declare variables that are 4 words (8 bytes) in length.
DT (Define Ten Bytes)
A directive that defines data items 10 bytes long and stores data directly in decimal form.
DUP Operator
A duplicate operator used with storage allocation directives (DB, DW, etc.) to repeat values for tables or arrays.
EQU (Equate)
A directive used to assign a name to a value or symbol, which the assembler replaces throughout the program.
%assign
A case-sensitive NASM directive used to define numeric constants that allows for redefinition.
%define
A NASM directive, similar to #define in C, used to define both numeric and string constants which can be redefined.
EXTRN
A directive signaling that labels or names follow are located in a different assembly module.
OFFSET
An operator that tells the assembler to determine the distance (in bytes) from a base starting location to a specific data element or memory address.
ORG (Originate)
A directive that sets the location counter to a specific value; uses symbol S to represent the current value of the location counter.
Near Procedure
A procedure declared in the same segment as the main program; only the IP is pushed to the stack during a call.
Far Procedure
A procedure declared in a different segment than the main program; both the IP and CS are pushed to the stack during a call.
Macros
A text substitution mechanism used to reduce repetitive coding; the machine code is regenerated every time it is called.
NASM
Netwide Assembler; a popular assembler for the Intel x86 architecture used in Linux, originally written by Simon Tatham.