From b2933a50a096196c3839d29c4dc784746c612281 Mon Sep 17 00:00:00 2001 From: n loewen Date: Sat, 23 Sep 2023 20:47:16 -0700 Subject: [PATCH] (docs) readme - Change 'register and flags' section to improve style and clarity --- readme.md | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/readme.md b/readme.md index dda9759..4928863 100644 --- a/readme.md +++ b/readme.md @@ -55,15 +55,22 @@ Usage: ./cardiograph.js [-i ] ### Registers and Flags -- `A` - accumulator -- `IP` - instruction pointer (aka program counter) -- `FLAGS` - flags: **O**verflow, **N**egative, **Z**ero, **C**arry - - in machine language, each flag is given a number: - - O = 3 - N = 2 - Z = 1 - C = 0 - - (bitwise, `0000 = ONZC`) +There are three registers: + +1. **A**, an 8-bit accumulator +2. **IP**, an 8-bit instruction pointer (aka program counter) +3. **flags**, a 4-bit flag register + +The four flags are **O**verflow, **N**egative, **Z**ero, and **C**arry. + +(Overflow is the high bit and carry is the low bit.) + +In decimal: + +| O | N | Z | C | +|---|---|---|---| +| 3 | 2 | 1 | 0 | + ### Instruction set