spo600:assembler_basics
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| spo600:assembler_basics [2024/05/14 06:33] – external edit 127.0.0.1 | spo600:assembler_basics [2025/02/11 11:58] (current) – chris | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== Format of an Assembly Language program | ===== Format of an Assembly Language program | ||
| - | The traditional extension for assembly-language source files is '' | + | The traditional extension for assembly-language source files that will be used as input to an assembler |
| An assembly-language program consists of: | An assembly-language program consists of: | ||
| Line 62: | Line 62: | ||
| ===== 6502 Assembly Language in the Emulator | ===== 6502 Assembly Language in the Emulator | ||
| - | The [[6502 Emulator]] provides a very simple assembler for [[6502]] code: | + | The [[6502 Emulator]] provides a very simple assembler for [[6502]] code. Each line contains one instruction in assembly language, or one of these directives: |
| * Simple text-substitution macros can be defined with '' | * Simple text-substitution macros can be defined with '' | ||
| < | < | ||
| Line 72: | Line 73: | ||
| dcb " | dcb " | ||
| dcb " | dcb " | ||
| - | * The current assembly pointer starts at $0600 and increments with output bytes; it can be changed with this syntax: | + | * The current assembly pointer starts at $0600 and increments with output bytes; it can be changed with this directive: |
| < | < | ||
| *=$0800</ | *=$0800</ | ||
| Line 81: | Line 82: | ||
| On a Linux system, you will need to meet three requirements to get your assembly language program to work: | On a Linux system, you will need to meet three requirements to get your assembly language program to work: | ||
| - | - Code must be placed in the '' | + | - Code must be placed in the '' |
| - Data must be placed in either the '' | - Data must be placed in either the '' | ||
| - There must be a globally-defined symbol which the linker ('' | - There must be a globally-defined symbol which the linker ('' | ||
| Line 92: | Line 93: | ||
| - Run the linker: '' | - Run the linker: '' | ||
| - | Note that the '' | + | Note that the '' |
| ==== Compiling an Assembly Language Program using the NASM Assembler | ==== Compiling an Assembly Language Program using the NASM Assembler | ||
| Line 100: | Line 101: | ||
| Notes: | Notes: | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| ==== Compiling an Assembly Language program using GCC ==== | ==== Compiling an Assembly Language program using GCC ==== | ||
spo600/assembler_basics.1715668390.txt.gz · Last modified: 2024/05/14 06:33 by 127.0.0.1
