Week 2 - Class I
Introduction to 6502 Assembly
Video
- Summary video recording from class
- Calculating 6502 Program Execution Time
- Reminder: The Wednesday classes are live. An edited recording is provided for reference only - it is no substitute for attending class (via Zoom), taking notes, and asking questions!
Machine Language, Assembly Language
Follow the Links!: To get the full benefit of the following material, please follow the links embedded within it. For additional detail, see the Category links at the bottom of those pages -- for example, the category linked from many of the following pages has over 30 pages of content.
- Although we program computers in a variety of languages, they can really only execute one language: Machine Language, which is encoded in an architecture-specific binary code, sometimes called object code.
- Machine language is not easy to read. Assembly Language corresponds very closely to machine language, but is (sort of!) human-readable.
- Assembly language is converted into machine code by a particular type of compiler called an Assembler (sometimes the language itself is also referred to as "Assembler").
6502
Modern processors are complex - the reference manual for 64-bit ARM processors is over 11000 pages long! - so we're going to look at assembly language on a much simpler processor to get started. This processor is the 6502, a processor used in many early home and personal computers as well as video game systems, including the Commodore PET, VIC-20, C64; the Apple II; the Atari 400 and 800 computers and 2600 video game systems; and many others.
- Introduction to the 6502 (note the Resources links on that page)
- Introduction to the 6502 Instructions
- Introduction to the 6502 Addressing Modes
- Information about the 6502 Emulator which we will use in this course, and some example code
- Link to the actual 6502 emulator