Computer-science_A-level_Cie
-
computers-and-components6 主题
-
logic-gates-and-logic-circuits2 主题
-
central-processing-unit-cpu-architecture6 主题
-
assembly-language-4 主题
-
bit-manipulation1 主题
-
operating-systems3 主题
-
language-translators2 主题
-
data-security3 主题
-
data-integrity1 主题
-
ethics-and-ownership3 主题
-
database-concepts3 主题
-
database-management-systems-dbms-1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml1 主题
-
computational-thinking-skills1 主题
-
algorithms14 主题
-
data-types-and-records2 主题
-
arrays2 主题
-
files1 主题
-
introduction-to-abstract-data-types-adt1 主题
-
programming-basics1 主题
-
constructs2 主题
-
structured-programming1 主题
-
program-development-life-cycle2 主题
-
program-design-2 主题
-
program-testing-and-maintenance3 主题
-
user-defined-data-types1 主题
-
file-organisation-and-access-3 主题
-
floating-point-numbers-representation-and-manipulation3 主题
-
protocols2 主题
-
circuit-switching-packet-switching1 主题
-
processors-parallel-processing-and-virtual-machines5 主题
-
boolean-algebra-and-logic-circuits4 主题
-
purposes-of-an-operating-system-os3 主题
-
translation-software3 主题
-
encryption-encryption-protocols-and-digital-certificates3 主题
-
artificial-intelligence-ai4 主题
-
recursion1 主题
-
programming-paradigms4 主题
-
object-oriented-programming7 主题
-
file-processing-and-exception-handling2 主题
-
data-representation5 主题
-
multimedia3 主题
-
compression2 主题
-
networks-and-the-internet11 主题
assembly-language-basics
Machine code vs assembly
What is machine code?
-
Machine code is a first-generation language
-
Instructions are directly executable by the processor
-
Written in binary code

What is assembly?
-
Assembly code is a second-generation language
-
The code is written using mnemonics, abbreviated text commands such as LDA (Load), STA(Store)
-
Using this language programmers can write human-readable programs that correspond almost exactly to machine code
-
One assembly language instruction translates to one machine code instruction
-
Needs to be translated into machine code for the computer to be able to execute it
-
Each type of computer CPU has a specific instruction set
Instruction set
-
An instruction set is a list of all the commands that can be processed by a CPU
-
Each command has a binary code which is the machine code
-
In assembly the binary code is written using mnemonics and split into an opcode and operand
-
The opcode is the part of an instruction that tells the CPU what operation to perform
-
It’s short for “operation code”
-
Example operations: LDA (load), STA (store), ADD, INP, OUT, BRZ, BRA
-
The operand is the data or memory address the opcode will work with
-
It gives the extra detail the CPU needs to complete the instruction
-
Often used to specify a memory address, a value, or a label
|
Opcode |
Operand |
Explanation |
|---|---|---|
|
|
|
Immediate addressing. Load the number |
|
|
|
Direct addressing. Load the contents of the location at the given address to ACC. |
|
|
|
Indirect addressing. Use the value at the given address as a new address. Load contents to ACC. |
|
|
|
Indexed addressing. Use |
|
|
|
Immediate addressing. Load the number |
|
|
|
Move the contents of ACC to the given register (e.g. IX). |
|
|
|
Store the contents of ACC at the given memory address. |
|
|
|
Add the contents of the given address to ACC. |
|
|
|
Subtract the contents of the given address from ACC. |
|
|
|
Increment the contents of the register (ACC or IX) by 1. |
|
|
|
Decrement the contents of the register (ACC or IX) by 1. |
|
|
|
Unconditional jump to the given address. |
|
|
|
Compare the contents of ACC with the contents of the given address. |
|
|
|
Compare the contents of ACC with the number |
|
|
|
Indirect addressing. Compare ACC with the contents at the address stored in |
|
|
|
Jump to |
|
|
<address> |
Jump to |
|
|
Take input from the keyboard and store its ASCII value in ACC. |
|
|
|
Output to the screen the character stored in ACC. |
|
|
|
End the program and return control to the operating system |
|
|
All questions will assume there is only one general purpose register available (Accumulator)
|
||
Responses