Parse Instructions into My Assembler – Superscalar 8-Bit CPU #23

Описание к видео Parse Instructions into My Assembler – Superscalar 8-Bit CPU #23

We have been manually assembling programs for our CPU. After writing up the assembly instructions in human-readable form, we would pull up the Instruction Set specification and translate the instructions into their binary format. It's time to write an assembler that does this for us. In this video we come up with a sample program that we want to assemble, take a closer look at reading and parsing files using Python, and how to store a program's instructions as Python objects.

This video series explores the concepts and techniques that make modern computer processors so incredibly fast and powerful. I build my very own 8-bit processor from individual logic gates and gradually evolve it to become a superscalar out-of-order machine. Along the way, we take a deep dive into contemporary computer architecture in a hands-on fashion and rediscover some of the foundations of modern computing.

Previous Video:    • My CPU Does 16 Bit Jumps Now – Supers...  
Series Playlist:    • Build a Superscalar CPU  
Assembler Playlist:    • Assembler from Scratch  
GitHub Repository: https://github.com/fabianschuiki/supe...

Assembly Language: https://en.wikipedia.org/wiki/Assembl...

Python Packages:
Argparse: https://docs.python.org/3/library/arg...
Termcolor: https://pypi.org/project/termcolor/

00:00 - Intro
01:29 - Sample Program
03:38 - Argument Parsing
05:06 - Parser Class
06:49 - Whitespace Parsing
14:57 - LDI Instruction
17:22 - Error Reporting
23:42 - Register Operands
29:15 - Immediate Operands
35:46 - Operand Class
39:02 - Instruction Class
41:02 - MV Instruction
42:19 - JRELI Instruction
42:49 - ORG Directive
44:13 - JRELR Instruction
44:50 - NOP Instruction
45:10 - JABSR Instruction
45:42 - 16 bit Register Operands
49:15 - HALT Instruction
50:09 - Collecting the Instructions
51:12 - Outro

#assembly #coding #tutorial
#homebrew #8bit #breadboard #superscalar #computer

Комментарии

Информация по комментариям в разработке