1,885
edits
Changes
no edit summary
# Optional: Purchase an AArch64 development board (such as a Raspberry Pi 4, Raspberry Pi 400, or [http://96boards.org 96Boards] device. (Note: install a 64-bit Linux operating system on it, not a 32-bit version).
# Start work on [[SPO600 Code Review Lab|Lab 1]]. Blog your work.
== Week 2 ==
=== Week 2 - Class I ===
==== Video ====
* A summary video will be posted after editing.
==== Machine Language, Assembly Language ====
{{Admon/tip|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:Computer Architecture|Computer Architecture]] 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 langauge: [[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 7000 pages long! - so we 're going to look at assembly lanaguage on a much simpler processor to get started. This processor is the 6502.
* Introduction to the [[6502]] (note the Resources links on that page)
* Information about the [[6502 Emulator]] which we will use in this course, and some [[6502_Emulator_Example_Code|example code]]
* Link to the actual [http://6502.cdot.system 6502 emulator]