User Tools

Site Tools


spo600:6502_emulator

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
spo600:6502_emulator [2025/01/27 16:20] – [Using the Monitor] chrisspo600:6502_emulator [2025/04/09 21:14] (current) chris
Line 1: Line 1:
 ====== 6502 Emulator ====== ====== 6502 Emulator ======
  
-A simple web-based [[6502]] emulator is available at [[http://6502.cdot.systems]] (note that this is an http link, not an https link). This emulator is used in the [[start|SPO600]] course to teach 8-bit [[Assembly Language|assembly language]] before transitioning to more complex 64-bit x86_64 and [[ARMv8#AArch64]] assembly language.+A simple web-based [[6502]] emulator is available at [[http://6502.proximity.on.ca]] (note that this is an http link, not an https link). This emulator is used in the [[start|SPO600]] course to teach 8-bit [[Assembly Language|assembly language]] before transitioning to more complex 64-bit x86_64 and [[ARMv8#AArch64]] assembly language.
  
 In most 6502 documentation, including this page, the ''$'' prefix indicates hexadecimal notation. (Note that in some other contexts, hexadecimal is indicated by a ''0x'' prefix or an ''h'' suffix). In most 6502 documentation, including this page, the ''$'' prefix indicates hexadecimal notation. (Note that in some other contexts, hexadecimal is indicated by a ''0x'' prefix or an ''h'' suffix).
Line 33: Line 33:
   *  Origin assignment: You can tell the assembler where to assemble the following code with this syntax: ''*=$XXXX'' where XXXX is an address in hexadecimal. Multiple origin assignments may be used. Example: ''*=$1800''   *  Origin assignment: You can tell the assembler where to assemble the following code with this syntax: ''*=$XXXX'' where XXXX is an address in hexadecimal. Multiple origin assignments may be used. Example: ''*=$1800''
   *  "define" directive: Macro assignments may be created with the "define" directive: ''define macro value'' -- for example: ''define WHITE $01'' -- the macro value will be substituted into lines wherever the macro name appears (e.g., ''LDA #WHITE'').   *  "define" directive: Macro assignments may be created with the "define" directive: ''define macro value'' -- for example: ''define WHITE $01'' -- the macro value will be substituted into lines wherever the macro name appears (e.g., ''LDA #WHITE'').
-  *  "dcb" directive: the Define Constant Byte (dcb) directive will cause the assembler to place individual byte values into memory. These byte values may be in hexadecimal prefixed with $, decimal with no prefix, or single printable non-space characters quoted with double quotes.+  *  "dcb" directive: the Define Constant Byte (dcb) directive will cause the assembler to place individual byte values into memory. These byte values may be in hexadecimal prefixed with $, decimal with no prefix, or single printable non-space characters quoted with double quotes. A label may be placed in front of a dcb directive.
  
 ====  High and Low Label Bytes  ==== ====  High and Low Label Bytes  ====
spo600/6502_emulator.1737994829.txt.gz · Last modified: 2025/01/27 16:20 by chris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki