From 22e4ea8a15b76c874a4b12000f74670884405629 Mon Sep 17 00:00:00 2001 From: ATherkel Date: Mon, 6 May 2024 11:56:02 +0200 Subject: [PATCH 1/4] Create .hdl files --- nand2tetris/projects/3/a/Bit.hdl | 3 +- nand2tetris/projects/3/a/PC.hdl | 49 ++++++++++++++++++++++++++- nand2tetris/projects/3/a/RAM64.hdl | 31 ++++++++++++++++- nand2tetris/projects/3/a/RAM8.hdl | 32 ++++++++++++++++- nand2tetris/projects/3/a/Register.hdl | 17 +++++++++- nand2tetris/projects/3/b/RAM16K.hdl | 19 ++++++++++- nand2tetris/projects/3/b/RAM4K.hdl | 31 ++++++++++++++++- nand2tetris/projects/3/b/RAM512.hdl | 31 ++++++++++++++++- 8 files changed, 205 insertions(+), 8 deletions(-) diff --git a/nand2tetris/projects/3/a/Bit.hdl b/nand2tetris/projects/3/a/Bit.hdl index ce83c76..093bede 100644 --- a/nand2tetris/projects/3/a/Bit.hdl +++ b/nand2tetris/projects/3/a/Bit.hdl @@ -13,5 +13,6 @@ CHIP Bit { OUT out; PARTS: - //// Replace this comment with your code. + Mux(a = dffout, b = in, sel = load, out = dffin); + DFF(in = dffin, out = out, out = dffout); } diff --git a/nand2tetris/projects/3/a/PC.hdl b/nand2tetris/projects/3/a/PC.hdl index bc6cdb3..f659f48 100644 --- a/nand2tetris/projects/3/a/PC.hdl +++ b/nand2tetris/projects/3/a/PC.hdl @@ -14,5 +14,52 @@ CHIP PC { OUT out[16]; PARTS: - //// Replace this comment with your code. + + /* + reset = 1: + 0 + reset = 0: + load = 1: + in + load = 0: + inc = 1: + out + 1 + inc = 0 + out + + */ + + Inc16( + in = regout, + out = incout + ); + + Mux16( + a = regout, + b = incout, + sel = inc, + out = outOrInc + ); + + Mux16( + a = outOrInc, + b = in, + sel = load, + out = outOrIncOrLoad + ); + + Mux16( + a = outOrIncOrLoad, + b = false, + sel = reset, + out = regin + ); + + + Register( + in = regin, + load = true, + out = regout, + out = out + ); } diff --git a/nand2tetris/projects/3/a/RAM64.hdl b/nand2tetris/projects/3/a/RAM64.hdl index 9ec3c8f..1535e08 100644 --- a/nand2tetris/projects/3/a/RAM64.hdl +++ b/nand2tetris/projects/3/a/RAM64.hdl @@ -13,5 +13,34 @@ CHIP RAM64 { OUT out[16]; PARTS: - //// Replace this comment with your code. + DMux8Way(in = load, sel = address[3..5], + a = selram0, + b = selram1, + c = selram2, + d = selram3, + e = selram4, + f = selram5, + g = selram6, + h = selram7); + + RAM8(in = in, load = selram0, address = address[0..2], out = ram0); + RAM8(in = in, load = selram1, address = address[0..2], out = ram1); + RAM8(in = in, load = selram2, address = address[0..2], out = ram2); + RAM8(in = in, load = selram3, address = address[0..2], out = ram3); + RAM8(in = in, load = selram4, address = address[0..2], out = ram4); + RAM8(in = in, load = selram5, address = address[0..2], out = ram5); + RAM8(in = in, load = selram6, address = address[0..2], out = ram6); + RAM8(in = in, load = selram7, address = address[0..2], out = ram7); + + Mux8Way16( + a = ram0, + b = ram1, + c = ram2, + d = ram3, + e = ram4, + f = ram5, + g = ram6, + h = ram7, + sel = address[3..5], + out = out); } diff --git a/nand2tetris/projects/3/a/RAM8.hdl b/nand2tetris/projects/3/a/RAM8.hdl index beb4e92..9ad6b2a 100644 --- a/nand2tetris/projects/3/a/RAM8.hdl +++ b/nand2tetris/projects/3/a/RAM8.hdl @@ -13,5 +13,35 @@ CHIP RAM8 { OUT out[16]; PARTS: - //// Replace this comment with your code. + DMux8Way(in = load, sel = address, + a = a, + b = b, + c = c, + d = d, + e = e, + f = f, + g = g, + h = h); + + + Register(in = in, load = a, out = reg0); + Register(in = in, load = b, out = reg1); + Register(in = in, load = c, out = reg2); + Register(in = in, load = d, out = reg3); + Register(in = in, load = e, out = reg4); + Register(in = in, load = f, out = reg5); + Register(in = in, load = g, out = reg6); + Register(in = in, load = h, out = reg7); + + Mux8Way16( + a = reg0, + b = reg1, + c = reg2, + d = reg3, + e = reg4, + f = reg5, + g = reg6, + h = reg7, + sel = address, + out = out); } diff --git a/nand2tetris/projects/3/a/Register.hdl b/nand2tetris/projects/3/a/Register.hdl index f4a1d40..0275dff 100644 --- a/nand2tetris/projects/3/a/Register.hdl +++ b/nand2tetris/projects/3/a/Register.hdl @@ -13,5 +13,20 @@ CHIP Register { OUT out[16]; PARTS: - //// Replace this comment with your code. + Bit(in = in[0], load = load, out = out[0]); + Bit(in = in[1], load = load, out = out[1]); + Bit(in = in[2], load = load, out = out[2]); + Bit(in = in[3], load = load, out = out[3]); + Bit(in = in[4], load = load, out = out[4]); + Bit(in = in[5], load = load, out = out[5]); + Bit(in = in[6], load = load, out = out[6]); + Bit(in = in[7], load = load, out = out[7]); + Bit(in = in[8], load = load, out = out[8]); + Bit(in = in[9], load = load, out = out[9]); + Bit(in = in[10], load = load, out = out[10]); + Bit(in = in[11], load = load, out = out[11]); + Bit(in = in[12], load = load, out = out[12]); + Bit(in = in[13], load = load, out = out[13]); + Bit(in = in[14], load = load, out = out[14]); + Bit(in = in[15], load = load, out = out[15]); } diff --git a/nand2tetris/projects/3/b/RAM16K.hdl b/nand2tetris/projects/3/b/RAM16K.hdl index 135f6bd..050610b 100644 --- a/nand2tetris/projects/3/b/RAM16K.hdl +++ b/nand2tetris/projects/3/b/RAM16K.hdl @@ -13,5 +13,22 @@ CHIP RAM16K { OUT out[16]; PARTS: - //// Replace this comment with your code. + DMux4Way(in = load, sel = address[12..13], + a = selram0, + b = selram1, + c = selram2, + d = selram3); + + RAM4K(in = in, load = selram0, address = address[0..11], out = ram0); + RAM4K(in = in, load = selram1, address = address[0..11], out = ram1); + RAM4K(in = in, load = selram2, address = address[0..11], out = ram2); + RAM4K(in = in, load = selram3, address = address[0..11], out = ram3); + + Mux4Way16( + a = ram0, + b = ram1, + c = ram2, + d = ram3, + sel = address[12..13], + out = out); } diff --git a/nand2tetris/projects/3/b/RAM4K.hdl b/nand2tetris/projects/3/b/RAM4K.hdl index c84ec05..f2b4611 100644 --- a/nand2tetris/projects/3/b/RAM4K.hdl +++ b/nand2tetris/projects/3/b/RAM4K.hdl @@ -13,5 +13,34 @@ CHIP RAM4K { OUT out[16]; PARTS: - //// Replace this comment with your code. + DMux8Way(in = load, sel = address[9..11], + a = selram0, + b = selram1, + c = selram2, + d = selram3, + e = selram4, + f = selram5, + g = selram6, + h = selram7); + + RAM512(in = in, load = selram0, address = address[0..8], out = ram0); + RAM512(in = in, load = selram1, address = address[0..8], out = ram1); + RAM512(in = in, load = selram2, address = address[0..8], out = ram2); + RAM512(in = in, load = selram3, address = address[0..8], out = ram3); + RAM512(in = in, load = selram4, address = address[0..8], out = ram4); + RAM512(in = in, load = selram5, address = address[0..8], out = ram5); + RAM512(in = in, load = selram6, address = address[0..8], out = ram6); + RAM512(in = in, load = selram7, address = address[0..8], out = ram7); + + Mux8Way16( + a = ram0, + b = ram1, + c = ram2, + d = ram3, + e = ram4, + f = ram5, + g = ram6, + h = ram7, + sel = address[9..11], + out = out); } diff --git a/nand2tetris/projects/3/b/RAM512.hdl b/nand2tetris/projects/3/b/RAM512.hdl index a36da08..c6aa0b1 100644 --- a/nand2tetris/projects/3/b/RAM512.hdl +++ b/nand2tetris/projects/3/b/RAM512.hdl @@ -13,5 +13,34 @@ CHIP RAM512 { OUT out[16]; PARTS: - //// Replace this comment with your code. + DMux8Way(in = load, sel = address[6..8], + a = selram0, + b = selram1, + c = selram2, + d = selram3, + e = selram4, + f = selram5, + g = selram6, + h = selram7); + + RAM64(in = in, load = selram0, address = address[0..5], out = ram0); + RAM64(in = in, load = selram1, address = address[0..5], out = ram1); + RAM64(in = in, load = selram2, address = address[0..5], out = ram2); + RAM64(in = in, load = selram3, address = address[0..5], out = ram3); + RAM64(in = in, load = selram4, address = address[0..5], out = ram4); + RAM64(in = in, load = selram5, address = address[0..5], out = ram5); + RAM64(in = in, load = selram6, address = address[0..5], out = ram6); + RAM64(in = in, load = selram7, address = address[0..5], out = ram7); + + Mux8Way16( + a = ram0, + b = ram1, + c = ram2, + d = ram3, + e = ram4, + f = ram5, + g = ram6, + h = ram7, + sel = address[6..8], + out = out); } From c55d26d0afa6ba7b060558c33de81bd1e673bc0d Mon Sep 17 00:00:00 2001 From: ATherkel Date: Mon, 6 May 2024 11:56:34 +0200 Subject: [PATCH 2/4] Out files --- nand2tetris/projects/3/a/Bit.out | 215 +++++++++++++++++ nand2tetris/projects/3/a/PC.out | 31 +++ nand2tetris/projects/3/a/RAM64.out | 320 ++++++++++++++++++++++++++ nand2tetris/projects/3/a/RAM8.out | 173 ++++++++++++++ nand2tetris/projects/3/a/Register.out | 149 ++++++++++++ nand2tetris/projects/3/b/RAM16K.out | 320 ++++++++++++++++++++++++++ nand2tetris/projects/3/b/RAM4K.out | 320 ++++++++++++++++++++++++++ nand2tetris/projects/3/b/RAM512.out | 320 ++++++++++++++++++++++++++ 8 files changed, 1848 insertions(+) create mode 100644 nand2tetris/projects/3/a/Bit.out create mode 100644 nand2tetris/projects/3/a/PC.out create mode 100644 nand2tetris/projects/3/a/RAM64.out create mode 100644 nand2tetris/projects/3/a/RAM8.out create mode 100644 nand2tetris/projects/3/a/Register.out create mode 100644 nand2tetris/projects/3/b/RAM16K.out create mode 100644 nand2tetris/projects/3/b/RAM4K.out create mode 100644 nand2tetris/projects/3/b/RAM512.out diff --git a/nand2tetris/projects/3/a/Bit.out b/nand2tetris/projects/3/a/Bit.out new file mode 100644 index 0000000..ff218c3 --- /dev/null +++ b/nand2tetris/projects/3/a/Bit.out @@ -0,0 +1,215 @@ +| time |in |load|out| +| 0+ | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | +| 2 | 0 | 1 | 0 | +| 2+ | 1 | 0 | 0 | +| 3 | 1 | 0 | 0 | +| 3+ | 1 | 1 | 0 | +| 4 | 1 | 1 | 1 | +| 4+ | 0 | 0 | 1 | +| 5 | 0 | 0 | 1 | +| 5+ | 1 | 0 | 1 | +| 6 | 1 | 0 | 1 | +| 6+ | 0 | 1 | 1 | +| 7 | 0 | 1 | 0 | +| 7+ | 1 | 1 | 0 | +| 8 | 1 | 1 | 1 | +| 8+ | 0 | 0 | 1 | +| 9 | 0 | 0 | 1 | +| 9+ | 0 | 0 | 1 | +| 10 | 0 | 0 | 1 | +| 10+ | 0 | 0 | 1 | +| 11 | 0 | 0 | 1 | +| 11+ | 0 | 0 | 1 | +| 12 | 0 | 0 | 1 | +| 12+ | 0 | 0 | 1 | +| 13 | 0 | 0 | 1 | +| 13+ | 0 | 0 | 1 | +| 14 | 0 | 0 | 1 | +| 14+ | 0 | 0 | 1 | +| 15 | 0 | 0 | 1 | +| 15+ | 0 | 0 | 1 | +| 16 | 0 | 0 | 1 | +| 16+ | 0 | 0 | 1 | +| 17 | 0 | 0 | 1 | +| 17+ | 0 | 0 | 1 | +| 18 | 0 | 0 | 1 | +| 18+ | 0 | 0 | 1 | +| 19 | 0 | 0 | 1 | +| 19+ | 0 | 0 | 1 | +| 20 | 0 | 0 | 1 | +| 20+ | 0 | 0 | 1 | +| 21 | 0 | 0 | 1 | +| 21+ | 0 | 0 | 1 | +| 22 | 0 | 0 | 1 | +| 22+ | 0 | 0 | 1 | +| 23 | 0 | 0 | 1 | +| 23+ | 0 | 0 | 1 | +| 24 | 0 | 0 | 1 | +| 24+ | 0 | 0 | 1 | +| 25 | 0 | 0 | 1 | +| 25+ | 0 | 0 | 1 | +| 26 | 0 | 0 | 1 | +| 26+ | 0 | 0 | 1 | +| 27 | 0 | 0 | 1 | +| 27+ | 0 | 0 | 1 | +| 28 | 0 | 0 | 1 | +| 28+ | 0 | 0 | 1 | +| 29 | 0 | 0 | 1 | +| 29+ | 0 | 0 | 1 | +| 30 | 0 | 0 | 1 | +| 30+ | 0 | 0 | 1 | +| 31 | 0 | 0 | 1 | +| 31+ | 0 | 0 | 1 | +| 32 | 0 | 0 | 1 | +| 32+ | 0 | 0 | 1 | +| 33 | 0 | 0 | 1 | +| 33+ | 0 | 0 | 1 | +| 34 | 0 | 0 | 1 | +| 34+ | 0 | 0 | 1 | +| 35 | 0 | 0 | 1 | +| 35+ | 0 | 0 | 1 | +| 36 | 0 | 0 | 1 | +| 36+ | 0 | 0 | 1 | +| 37 | 0 | 0 | 1 | +| 37+ | 0 | 0 | 1 | +| 38 | 0 | 0 | 1 | +| 38+ | 0 | 0 | 1 | +| 39 | 0 | 0 | 1 | +| 39+ | 0 | 0 | 1 | +| 40 | 0 | 0 | 1 | +| 40+ | 0 | 0 | 1 | +| 41 | 0 | 0 | 1 | +| 41+ | 0 | 0 | 1 | +| 42 | 0 | 0 | 1 | +| 42+ | 0 | 0 | 1 | +| 43 | 0 | 0 | 1 | +| 43+ | 0 | 0 | 1 | +| 44 | 0 | 0 | 1 | +| 44+ | 0 | 0 | 1 | +| 45 | 0 | 0 | 1 | +| 45+ | 0 | 0 | 1 | +| 46 | 0 | 0 | 1 | +| 46+ | 0 | 0 | 1 | +| 47 | 0 | 0 | 1 | +| 47+ | 0 | 0 | 1 | +| 48 | 0 | 0 | 1 | +| 48+ | 0 | 0 | 1 | +| 49 | 0 | 0 | 1 | +| 49+ | 0 | 0 | 1 | +| 50 | 0 | 0 | 1 | +| 50+ | 0 | 0 | 1 | +| 51 | 0 | 0 | 1 | +| 51+ | 0 | 0 | 1 | +| 52 | 0 | 0 | 1 | +| 52+ | 0 | 0 | 1 | +| 53 | 0 | 0 | 1 | +| 53+ | 0 | 0 | 1 | +| 54 | 0 | 0 | 1 | +| 54+ | 0 | 0 | 1 | +| 55 | 0 | 0 | 1 | +| 55+ | 0 | 0 | 1 | +| 56 | 0 | 0 | 1 | +| 56+ | 0 | 0 | 1 | +| 57 | 0 | 0 | 1 | +| 57+ | 0 | 1 | 1 | +| 58 | 0 | 1 | 0 | +| 58+ | 1 | 0 | 0 | +| 59 | 1 | 0 | 0 | +| 59+ | 1 | 0 | 0 | +| 60 | 1 | 0 | 0 | +| 60+ | 1 | 0 | 0 | +| 61 | 1 | 0 | 0 | +| 61+ | 1 | 0 | 0 | +| 62 | 1 | 0 | 0 | +| 62+ | 1 | 0 | 0 | +| 63 | 1 | 0 | 0 | +| 63+ | 1 | 0 | 0 | +| 64 | 1 | 0 | 0 | +| 64+ | 1 | 0 | 0 | +| 65 | 1 | 0 | 0 | +| 65+ | 1 | 0 | 0 | +| 66 | 1 | 0 | 0 | +| 66+ | 1 | 0 | 0 | +| 67 | 1 | 0 | 0 | +| 67+ | 1 | 0 | 0 | +| 68 | 1 | 0 | 0 | +| 68+ | 1 | 0 | 0 | +| 69 | 1 | 0 | 0 | +| 69+ | 1 | 0 | 0 | +| 70 | 1 | 0 | 0 | +| 70+ | 1 | 0 | 0 | +| 71 | 1 | 0 | 0 | +| 71+ | 1 | 0 | 0 | +| 72 | 1 | 0 | 0 | +| 72+ | 1 | 0 | 0 | +| 73 | 1 | 0 | 0 | +| 73+ | 1 | 0 | 0 | +| 74 | 1 | 0 | 0 | +| 74+ | 1 | 0 | 0 | +| 75 | 1 | 0 | 0 | +| 75+ | 1 | 0 | 0 | +| 76 | 1 | 0 | 0 | +| 76+ | 1 | 0 | 0 | +| 77 | 1 | 0 | 0 | +| 77+ | 1 | 0 | 0 | +| 78 | 1 | 0 | 0 | +| 78+ | 1 | 0 | 0 | +| 79 | 1 | 0 | 0 | +| 79+ | 1 | 0 | 0 | +| 80 | 1 | 0 | 0 | +| 80+ | 1 | 0 | 0 | +| 81 | 1 | 0 | 0 | +| 81+ | 1 | 0 | 0 | +| 82 | 1 | 0 | 0 | +| 82+ | 1 | 0 | 0 | +| 83 | 1 | 0 | 0 | +| 83+ | 1 | 0 | 0 | +| 84 | 1 | 0 | 0 | +| 84+ | 1 | 0 | 0 | +| 85 | 1 | 0 | 0 | +| 85+ | 1 | 0 | 0 | +| 86 | 1 | 0 | 0 | +| 86+ | 1 | 0 | 0 | +| 87 | 1 | 0 | 0 | +| 87+ | 1 | 0 | 0 | +| 88 | 1 | 0 | 0 | +| 88+ | 1 | 0 | 0 | +| 89 | 1 | 0 | 0 | +| 89+ | 1 | 0 | 0 | +| 90 | 1 | 0 | 0 | +| 90+ | 1 | 0 | 0 | +| 91 | 1 | 0 | 0 | +| 91+ | 1 | 0 | 0 | +| 92 | 1 | 0 | 0 | +| 92+ | 1 | 0 | 0 | +| 93 | 1 | 0 | 0 | +| 93+ | 1 | 0 | 0 | +| 94 | 1 | 0 | 0 | +| 94+ | 1 | 0 | 0 | +| 95 | 1 | 0 | 0 | +| 95+ | 1 | 0 | 0 | +| 96 | 1 | 0 | 0 | +| 96+ | 1 | 0 | 0 | +| 97 | 1 | 0 | 0 | +| 97+ | 1 | 0 | 0 | +| 98 | 1 | 0 | 0 | +| 98+ | 1 | 0 | 0 | +| 99 | 1 | 0 | 0 | +| 99+ | 1 | 0 | 0 | +| 100 | 1 | 0 | 0 | +| 100+ | 1 | 0 | 0 | +| 101 | 1 | 0 | 0 | +| 101+ | 1 | 0 | 0 | +| 102 | 1 | 0 | 0 | +| 102+ | 1 | 0 | 0 | +| 103 | 1 | 0 | 0 | +| 103+ | 1 | 0 | 0 | +| 104 | 1 | 0 | 0 | +| 104+ | 1 | 0 | 0 | +| 105 | 1 | 0 | 0 | +| 105+ | 1 | 0 | 0 | +| 106 | 1 | 0 | 0 | +| 106+ | 1 | 0 | 0 | +| 107 | 1 | 0 | 0 | diff --git a/nand2tetris/projects/3/a/PC.out b/nand2tetris/projects/3/a/PC.out new file mode 100644 index 0000000..80bbe0e --- /dev/null +++ b/nand2tetris/projects/3/a/PC.out @@ -0,0 +1,31 @@ +|time | in |reset|load | inc | out | +| 0+ | 0 | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 0 | 0 | 1 | 0 | +| 2 | 0 | 0 | 0 | 1 | 1 | +| 2+ | -32123 | 0 | 0 | 1 | 1 | +| 3 | -32123 | 0 | 0 | 1 | 2 | +| 3+ | -32123 | 0 | 1 | 1 | 2 | +| 4 | -32123 | 0 | 1 | 1 | -32123 | +| 4+ | -32123 | 0 | 0 | 1 | -32123 | +| 5 | -32123 | 0 | 0 | 1 | -32122 | +| 5+ | -32123 | 0 | 0 | 1 | -32122 | +| 6 | -32123 | 0 | 0 | 1 | -32121 | +| 6+ | 12345 | 0 | 1 | 0 | -32121 | +| 7 | 12345 | 0 | 1 | 0 | 12345 | +| 7+ | 12345 | 1 | 1 | 0 | 12345 | +| 8 | 12345 | 1 | 1 | 0 | 0 | +| 8+ | 12345 | 0 | 1 | 1 | 0 | +| 9 | 12345 | 0 | 1 | 1 | 12345 | +| 9+ | 12345 | 1 | 1 | 1 | 12345 | +| 10 | 12345 | 1 | 1 | 1 | 0 | +| 10+ | 12345 | 0 | 0 | 1 | 0 | +| 11 | 12345 | 0 | 0 | 1 | 1 | +| 11+ | 12345 | 1 | 0 | 1 | 1 | +| 12 | 12345 | 1 | 0 | 1 | 0 | +| 12+ | 0 | 0 | 1 | 1 | 0 | +| 13 | 0 | 0 | 1 | 1 | 0 | +| 13+ | 0 | 0 | 0 | 1 | 0 | +| 14 | 0 | 0 | 0 | 1 | 1 | +| 14+ | 22222 | 1 | 0 | 0 | 1 | +| 15 | 22222 | 1 | 0 | 0 | 0 | diff --git a/nand2tetris/projects/3/a/RAM64.out b/nand2tetris/projects/3/a/RAM64.out new file mode 100644 index 0000000..3fe1145 --- /dev/null +++ b/nand2tetris/projects/3/a/RAM64.out @@ -0,0 +1,320 @@ +|time | in |load|address| out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 1313 | 0 | 0 | 0 | +| 3 | 1313 | 0 | 0 | 0 | +| 3+ | 1313 | 1 | 13 | 0 | +| 4 | 1313 | 1 | 13 | 1313 | +| 4+ | 1313 | 0 | 0 | 0 | +| 5 | 1313 | 0 | 0 | 0 | +| 5+ | 4747 | 0 | 47 | 0 | +| 6 | 4747 | 0 | 47 | 0 | +| 6+ | 4747 | 1 | 47 | 0 | +| 7 | 4747 | 1 | 47 | 4747 | +| 7+ | 4747 | 0 | 47 | 4747 | +| 8 | 4747 | 0 | 47 | 4747 | +| 8 | 4747 | 0 | 13 | 1313 | +| 8+ | 6363 | 0 | 13 | 1313 | +| 9 | 6363 | 0 | 13 | 1313 | +| 9+ | 6363 | 1 | 63 | 0 | +| 10 | 6363 | 1 | 63 | 6363 | +| 10+ | 6363 | 0 | 63 | 6363 | +| 11 | 6363 | 0 | 63 | 6363 | +| 11 | 6363 | 0 | 47 | 4747 | +| 11 | 6363 | 0 | 63 | 6363 | +| 11+ | 6363 | 0 | 40 | 0 | +| 12 | 6363 | 0 | 40 | 0 | +| 12 | 6363 | 0 | 41 | 0 | +| 12 | 6363 | 0 | 42 | 0 | +| 12 | 6363 | 0 | 43 | 0 | +| 12 | 6363 | 0 | 44 | 0 | +| 12 | 6363 | 0 | 45 | 0 | +| 12 | 6363 | 0 | 46 | 0 | +| 12 | 6363 | 0 | 47 | 4747 | +| 12+ | 21845 | 1 | 40 | 0 | +| 13 | 21845 | 1 | 40 | 21845 | +| 13+ | 21845 | 1 | 41 | 0 | +| 14 | 21845 | 1 | 41 | 21845 | +| 14+ | 21845 | 1 | 42 | 0 | +| 15 | 21845 | 1 | 42 | 21845 | +| 15+ | 21845 | 1 | 43 | 0 | +| 16 | 21845 | 1 | 43 | 21845 | +| 16+ | 21845 | 1 | 44 | 0 | +| 17 | 21845 | 1 | 44 | 21845 | +| 17+ | 21845 | 1 | 45 | 0 | +| 18 | 21845 | 1 | 45 | 21845 | +| 18+ | 21845 | 1 | 46 | 0 | +| 19 | 21845 | 1 | 46 | 21845 | +| 19+ | 21845 | 1 | 47 | 4747 | +| 20 | 21845 | 1 | 47 | 21845 | +| 20+ | 21845 | 0 | 40 | 21845 | +| 21 | 21845 | 0 | 40 | 21845 | +| 21 | 21845 | 0 | 41 | 21845 | +| 21 | 21845 | 0 | 42 | 21845 | +| 21 | 21845 | 0 | 43 | 21845 | +| 21 | 21845 | 0 | 44 | 21845 | +| 21 | 21845 | 0 | 45 | 21845 | +| 21 | 21845 | 0 | 46 | 21845 | +| 21 | 21845 | 0 | 47 | 21845 | +| 21+ | -21846 | 1 | 40 | 21845 | +| 22 | -21846 | 1 | 40 | -21846 | +| 22+ | -21846 | 0 | 40 | -21846 | +| 23 | -21846 | 0 | 40 | -21846 | +| 23 | -21846 | 0 | 41 | 21845 | +| 23 | -21846 | 0 | 42 | 21845 | +| 23 | -21846 | 0 | 43 | 21845 | +| 23 | -21846 | 0 | 44 | 21845 | +| 23 | -21846 | 0 | 45 | 21845 | +| 23 | -21846 | 0 | 46 | 21845 | +| 23 | -21846 | 0 | 47 | 21845 | +| 23+ | 21845 | 1 | 40 | -21846 | +| 24 | 21845 | 1 | 40 | 21845 | +| 24+ | -21846 | 1 | 41 | 21845 | +| 25 | -21846 | 1 | 41 | -21846 | +| 25+ | -21846 | 0 | 40 | 21845 | +| 26 | -21846 | 0 | 40 | 21845 | +| 26 | -21846 | 0 | 41 | -21846 | +| 26 | -21846 | 0 | 42 | 21845 | +| 26 | -21846 | 0 | 43 | 21845 | +| 26 | -21846 | 0 | 44 | 21845 | +| 26 | -21846 | 0 | 45 | 21845 | +| 26 | -21846 | 0 | 46 | 21845 | +| 26 | -21846 | 0 | 47 | 21845 | +| 26+ | 21845 | 1 | 41 | -21846 | +| 27 | 21845 | 1 | 41 | 21845 | +| 27+ | -21846 | 1 | 42 | 21845 | +| 28 | -21846 | 1 | 42 | -21846 | +| 28+ | -21846 | 0 | 40 | 21845 | +| 29 | -21846 | 0 | 40 | 21845 | +| 29 | -21846 | 0 | 41 | 21845 | +| 29 | -21846 | 0 | 42 | -21846 | +| 29 | -21846 | 0 | 43 | 21845 | +| 29 | -21846 | 0 | 44 | 21845 | +| 29 | -21846 | 0 | 45 | 21845 | +| 29 | -21846 | 0 | 46 | 21845 | +| 29 | -21846 | 0 | 47 | 21845 | +| 29+ | 21845 | 1 | 42 | -21846 | +| 30 | 21845 | 1 | 42 | 21845 | +| 30+ | -21846 | 1 | 43 | 21845 | +| 31 | -21846 | 1 | 43 | -21846 | +| 31+ | -21846 | 0 | 40 | 21845 | +| 32 | -21846 | 0 | 40 | 21845 | +| 32 | -21846 | 0 | 41 | 21845 | +| 32 | -21846 | 0 | 42 | 21845 | +| 32 | -21846 | 0 | 43 | -21846 | +| 32 | -21846 | 0 | 44 | 21845 | +| 32 | -21846 | 0 | 45 | 21845 | +| 32 | -21846 | 0 | 46 | 21845 | +| 32 | -21846 | 0 | 47 | 21845 | +| 32+ | 21845 | 1 | 43 | -21846 | +| 33 | 21845 | 1 | 43 | 21845 | +| 33+ | -21846 | 1 | 44 | 21845 | +| 34 | -21846 | 1 | 44 | -21846 | +| 34+ | -21846 | 0 | 40 | 21845 | +| 35 | -21846 | 0 | 40 | 21845 | +| 35 | -21846 | 0 | 41 | 21845 | +| 35 | -21846 | 0 | 42 | 21845 | +| 35 | -21846 | 0 | 43 | 21845 | +| 35 | -21846 | 0 | 44 | -21846 | +| 35 | -21846 | 0 | 45 | 21845 | +| 35 | -21846 | 0 | 46 | 21845 | +| 35 | -21846 | 0 | 47 | 21845 | +| 35+ | 21845 | 1 | 44 | -21846 | +| 36 | 21845 | 1 | 44 | 21845 | +| 36+ | -21846 | 1 | 45 | 21845 | +| 37 | -21846 | 1 | 45 | -21846 | +| 37+ | -21846 | 0 | 40 | 21845 | +| 38 | -21846 | 0 | 40 | 21845 | +| 38 | -21846 | 0 | 41 | 21845 | +| 38 | -21846 | 0 | 42 | 21845 | +| 38 | -21846 | 0 | 43 | 21845 | +| 38 | -21846 | 0 | 44 | 21845 | +| 38 | -21846 | 0 | 45 | -21846 | +| 38 | -21846 | 0 | 46 | 21845 | +| 38 | -21846 | 0 | 47 | 21845 | +| 38+ | 21845 | 1 | 45 | -21846 | +| 39 | 21845 | 1 | 45 | 21845 | +| 39+ | -21846 | 1 | 46 | 21845 | +| 40 | -21846 | 1 | 46 | -21846 | +| 40+ | -21846 | 0 | 40 | 21845 | +| 41 | -21846 | 0 | 40 | 21845 | +| 41 | -21846 | 0 | 41 | 21845 | +| 41 | -21846 | 0 | 42 | 21845 | +| 41 | -21846 | 0 | 43 | 21845 | +| 41 | -21846 | 0 | 44 | 21845 | +| 41 | -21846 | 0 | 45 | 21845 | +| 41 | -21846 | 0 | 46 | -21846 | +| 41 | -21846 | 0 | 47 | 21845 | +| 41+ | 21845 | 1 | 46 | -21846 | +| 42 | 21845 | 1 | 46 | 21845 | +| 42+ | -21846 | 1 | 47 | 21845 | +| 43 | -21846 | 1 | 47 | -21846 | +| 43+ | -21846 | 0 | 40 | 21845 | +| 44 | -21846 | 0 | 40 | 21845 | +| 44 | -21846 | 0 | 41 | 21845 | +| 44 | -21846 | 0 | 42 | 21845 | +| 44 | -21846 | 0 | 43 | 21845 | +| 44 | -21846 | 0 | 44 | 21845 | +| 44 | -21846 | 0 | 45 | 21845 | +| 44 | -21846 | 0 | 46 | 21845 | +| 44 | -21846 | 0 | 47 | -21846 | +| 44+ | 21845 | 1 | 47 | -21846 | +| 45 | 21845 | 1 | 47 | 21845 | +| 45+ | 21845 | 0 | 40 | 21845 | +| 46 | 21845 | 0 | 40 | 21845 | +| 46 | 21845 | 0 | 41 | 21845 | +| 46 | 21845 | 0 | 42 | 21845 | +| 46 | 21845 | 0 | 43 | 21845 | +| 46 | 21845 | 0 | 44 | 21845 | +| 46 | 21845 | 0 | 45 | 21845 | +| 46 | 21845 | 0 | 46 | 21845 | +| 46 | 21845 | 0 | 47 | 21845 | +| 46+ | 21845 | 0 | 5 | 0 | +| 47 | 21845 | 0 | 5 | 0 | +| 47 | 21845 | 0 | 13 | 1313 | +| 47 | 21845 | 0 | 21 | 0 | +| 47 | 21845 | 0 | 29 | 0 | +| 47 | 21845 | 0 | 37 | 0 | +| 47 | 21845 | 0 | 45 | 21845 | +| 47 | 21845 | 0 | 53 | 0 | +| 47 | 21845 | 0 | 61 | 0 | +| 47+ | 21845 | 1 | 5 | 0 | +| 48 | 21845 | 1 | 5 | 21845 | +| 48+ | 21845 | 1 | 13 | 1313 | +| 49 | 21845 | 1 | 13 | 21845 | +| 49+ | 21845 | 1 | 21 | 0 | +| 50 | 21845 | 1 | 21 | 21845 | +| 50+ | 21845 | 1 | 29 | 0 | +| 51 | 21845 | 1 | 29 | 21845 | +| 51+ | 21845 | 1 | 37 | 0 | +| 52 | 21845 | 1 | 37 | 21845 | +| 52+ | 21845 | 1 | 45 | 21845 | +| 53 | 21845 | 1 | 45 | 21845 | +| 53+ | 21845 | 1 | 53 | 0 | +| 54 | 21845 | 1 | 53 | 21845 | +| 54+ | 21845 | 1 | 61 | 0 | +| 55 | 21845 | 1 | 61 | 21845 | +| 55+ | 21845 | 0 | 5 | 21845 | +| 56 | 21845 | 0 | 5 | 21845 | +| 56 | 21845 | 0 | 13 | 21845 | +| 56 | 21845 | 0 | 21 | 21845 | +| 56 | 21845 | 0 | 29 | 21845 | +| 56 | 21845 | 0 | 37 | 21845 | +| 56 | 21845 | 0 | 45 | 21845 | +| 56 | 21845 | 0 | 53 | 21845 | +| 56 | 21845 | 0 | 61 | 21845 | +| 56+ | -21846 | 1 | 5 | 21845 | +| 57 | -21846 | 1 | 5 | -21846 | +| 57+ | -21846 | 0 | 5 | -21846 | +| 58 | -21846 | 0 | 5 | -21846 | +| 58 | -21846 | 0 | 13 | 21845 | +| 58 | -21846 | 0 | 21 | 21845 | +| 58 | -21846 | 0 | 29 | 21845 | +| 58 | -21846 | 0 | 37 | 21845 | +| 58 | -21846 | 0 | 45 | 21845 | +| 58 | -21846 | 0 | 53 | 21845 | +| 58 | -21846 | 0 | 61 | 21845 | +| 58+ | 21845 | 1 | 5 | -21846 | +| 59 | 21845 | 1 | 5 | 21845 | +| 59+ | -21846 | 1 | 13 | 21845 | +| 60 | -21846 | 1 | 13 | -21846 | +| 60+ | -21846 | 0 | 5 | 21845 | +| 61 | -21846 | 0 | 5 | 21845 | +| 61 | -21846 | 0 | 13 | -21846 | +| 61 | -21846 | 0 | 21 | 21845 | +| 61 | -21846 | 0 | 29 | 21845 | +| 61 | -21846 | 0 | 37 | 21845 | +| 61 | -21846 | 0 | 45 | 21845 | +| 61 | -21846 | 0 | 53 | 21845 | +| 61 | -21846 | 0 | 61 | 21845 | +| 61+ | 21845 | 1 | 13 | -21846 | +| 62 | 21845 | 1 | 13 | 21845 | +| 62+ | -21846 | 1 | 21 | 21845 | +| 63 | -21846 | 1 | 21 | -21846 | +| 63+ | -21846 | 0 | 5 | 21845 | +| 64 | -21846 | 0 | 5 | 21845 | +| 64 | -21846 | 0 | 13 | 21845 | +| 64 | -21846 | 0 | 21 | -21846 | +| 64 | -21846 | 0 | 29 | 21845 | +| 64 | -21846 | 0 | 37 | 21845 | +| 64 | -21846 | 0 | 45 | 21845 | +| 64 | -21846 | 0 | 53 | 21845 | +| 64 | -21846 | 0 | 61 | 21845 | +| 64+ | 21845 | 1 | 21 | -21846 | +| 65 | 21845 | 1 | 21 | 21845 | +| 65+ | -21846 | 1 | 29 | 21845 | +| 66 | -21846 | 1 | 29 | -21846 | +| 66+ | -21846 | 0 | 5 | 21845 | +| 67 | -21846 | 0 | 5 | 21845 | +| 67 | -21846 | 0 | 13 | 21845 | +| 67 | -21846 | 0 | 21 | 21845 | +| 67 | -21846 | 0 | 29 | -21846 | +| 67 | -21846 | 0 | 37 | 21845 | +| 67 | -21846 | 0 | 45 | 21845 | +| 67 | -21846 | 0 | 53 | 21845 | +| 67 | -21846 | 0 | 61 | 21845 | +| 67+ | 21845 | 1 | 29 | -21846 | +| 68 | 21845 | 1 | 29 | 21845 | +| 68+ | -21846 | 1 | 37 | 21845 | +| 69 | -21846 | 1 | 37 | -21846 | +| 69+ | -21846 | 0 | 5 | 21845 | +| 70 | -21846 | 0 | 5 | 21845 | +| 70 | -21846 | 0 | 13 | 21845 | +| 70 | -21846 | 0 | 21 | 21845 | +| 70 | -21846 | 0 | 29 | 21845 | +| 70 | -21846 | 0 | 37 | -21846 | +| 70 | -21846 | 0 | 45 | 21845 | +| 70 | -21846 | 0 | 53 | 21845 | +| 70 | -21846 | 0 | 61 | 21845 | +| 70+ | 21845 | 1 | 37 | -21846 | +| 71 | 21845 | 1 | 37 | 21845 | +| 71+ | -21846 | 1 | 45 | 21845 | +| 72 | -21846 | 1 | 45 | -21846 | +| 72+ | -21846 | 0 | 5 | 21845 | +| 73 | -21846 | 0 | 5 | 21845 | +| 73 | -21846 | 0 | 13 | 21845 | +| 73 | -21846 | 0 | 21 | 21845 | +| 73 | -21846 | 0 | 29 | 21845 | +| 73 | -21846 | 0 | 37 | 21845 | +| 73 | -21846 | 0 | 45 | -21846 | +| 73 | -21846 | 0 | 53 | 21845 | +| 73 | -21846 | 0 | 61 | 21845 | +| 73+ | 21845 | 1 | 45 | -21846 | +| 74 | 21845 | 1 | 45 | 21845 | +| 74+ | -21846 | 1 | 53 | 21845 | +| 75 | -21846 | 1 | 53 | -21846 | +| 75+ | -21846 | 0 | 5 | 21845 | +| 76 | -21846 | 0 | 5 | 21845 | +| 76 | -21846 | 0 | 13 | 21845 | +| 76 | -21846 | 0 | 21 | 21845 | +| 76 | -21846 | 0 | 29 | 21845 | +| 76 | -21846 | 0 | 37 | 21845 | +| 76 | -21846 | 0 | 45 | 21845 | +| 76 | -21846 | 0 | 53 | -21846 | +| 76 | -21846 | 0 | 61 | 21845 | +| 76+ | 21845 | 1 | 53 | -21846 | +| 77 | 21845 | 1 | 53 | 21845 | +| 77+ | -21846 | 1 | 61 | 21845 | +| 78 | -21846 | 1 | 61 | -21846 | +| 78+ | -21846 | 0 | 5 | 21845 | +| 79 | -21846 | 0 | 5 | 21845 | +| 79 | -21846 | 0 | 13 | 21845 | +| 79 | -21846 | 0 | 21 | 21845 | +| 79 | -21846 | 0 | 29 | 21845 | +| 79 | -21846 | 0 | 37 | 21845 | +| 79 | -21846 | 0 | 45 | 21845 | +| 79 | -21846 | 0 | 53 | 21845 | +| 79 | -21846 | 0 | 61 | -21846 | +| 79+ | 21845 | 1 | 61 | -21846 | +| 80 | 21845 | 1 | 61 | 21845 | +| 80+ | 21845 | 0 | 5 | 21845 | +| 81 | 21845 | 0 | 5 | 21845 | +| 81 | 21845 | 0 | 13 | 21845 | +| 81 | 21845 | 0 | 21 | 21845 | +| 81 | 21845 | 0 | 29 | 21845 | +| 81 | 21845 | 0 | 37 | 21845 | +| 81 | 21845 | 0 | 45 | 21845 | +| 81 | 21845 | 0 | 53 | 21845 | +| 81 | 21845 | 0 | 61 | 21845 | diff --git a/nand2tetris/projects/3/a/RAM8.out b/nand2tetris/projects/3/a/RAM8.out new file mode 100644 index 0000000..b43d136 --- /dev/null +++ b/nand2tetris/projects/3/a/RAM8.out @@ -0,0 +1,173 @@ +|time | in |load|address| out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 11111 | 0 | 0 | 0 | +| 3 | 11111 | 0 | 0 | 0 | +| 3+ | 11111 | 1 | 1 | 0 | +| 4 | 11111 | 1 | 1 | 11111 | +| 4+ | 11111 | 0 | 0 | 0 | +| 5 | 11111 | 0 | 0 | 0 | +| 5+ | 3333 | 0 | 3 | 0 | +| 6 | 3333 | 0 | 3 | 0 | +| 6+ | 3333 | 1 | 3 | 0 | +| 7 | 3333 | 1 | 3 | 3333 | +| 7+ | 3333 | 0 | 3 | 3333 | +| 8 | 3333 | 0 | 3 | 3333 | +| 8 | 3333 | 0 | 1 | 11111 | +| 8+ | 7777 | 0 | 1 | 11111 | +| 9 | 7777 | 0 | 1 | 11111 | +| 9+ | 7777 | 1 | 7 | 0 | +| 10 | 7777 | 1 | 7 | 7777 | +| 10+ | 7777 | 0 | 7 | 7777 | +| 11 | 7777 | 0 | 7 | 7777 | +| 11 | 7777 | 0 | 3 | 3333 | +| 11 | 7777 | 0 | 7 | 7777 | +| 11+ | 7777 | 0 | 0 | 0 | +| 12 | 7777 | 0 | 0 | 0 | +| 12 | 7777 | 0 | 1 | 11111 | +| 12 | 7777 | 0 | 2 | 0 | +| 12 | 7777 | 0 | 3 | 3333 | +| 12 | 7777 | 0 | 4 | 0 | +| 12 | 7777 | 0 | 5 | 0 | +| 12 | 7777 | 0 | 6 | 0 | +| 12 | 7777 | 0 | 7 | 7777 | +| 12+ | 21845 | 1 | 0 | 0 | +| 13 | 21845 | 1 | 0 | 21845 | +| 13+ | 21845 | 1 | 1 | 11111 | +| 14 | 21845 | 1 | 1 | 21845 | +| 14+ | 21845 | 1 | 2 | 0 | +| 15 | 21845 | 1 | 2 | 21845 | +| 15+ | 21845 | 1 | 3 | 3333 | +| 16 | 21845 | 1 | 3 | 21845 | +| 16+ | 21845 | 1 | 4 | 0 | +| 17 | 21845 | 1 | 4 | 21845 | +| 17+ | 21845 | 1 | 5 | 0 | +| 18 | 21845 | 1 | 5 | 21845 | +| 18+ | 21845 | 1 | 6 | 0 | +| 19 | 21845 | 1 | 6 | 21845 | +| 19+ | 21845 | 1 | 7 | 7777 | +| 20 | 21845 | 1 | 7 | 21845 | +| 20+ | 21845 | 0 | 0 | 21845 | +| 21 | 21845 | 0 | 0 | 21845 | +| 21 | 21845 | 0 | 1 | 21845 | +| 21 | 21845 | 0 | 2 | 21845 | +| 21 | 21845 | 0 | 3 | 21845 | +| 21 | 21845 | 0 | 4 | 21845 | +| 21 | 21845 | 0 | 5 | 21845 | +| 21 | 21845 | 0 | 6 | 21845 | +| 21 | 21845 | 0 | 7 | 21845 | +| 21+ | -21846 | 1 | 0 | 21845 | +| 22 | -21846 | 1 | 0 | -21846 | +| 22+ | -21846 | 0 | 0 | -21846 | +| 23 | -21846 | 0 | 0 | -21846 | +| 23 | -21846 | 0 | 1 | 21845 | +| 23 | -21846 | 0 | 2 | 21845 | +| 23 | -21846 | 0 | 3 | 21845 | +| 23 | -21846 | 0 | 4 | 21845 | +| 23 | -21846 | 0 | 5 | 21845 | +| 23 | -21846 | 0 | 6 | 21845 | +| 23 | -21846 | 0 | 7 | 21845 | +| 23+ | 21845 | 1 | 0 | -21846 | +| 24 | 21845 | 1 | 0 | 21845 | +| 24+ | -21846 | 1 | 1 | 21845 | +| 25 | -21846 | 1 | 1 | -21846 | +| 25+ | -21846 | 0 | 0 | 21845 | +| 26 | -21846 | 0 | 0 | 21845 | +| 26 | -21846 | 0 | 1 | -21846 | +| 26 | -21846 | 0 | 2 | 21845 | +| 26 | -21846 | 0 | 3 | 21845 | +| 26 | -21846 | 0 | 4 | 21845 | +| 26 | -21846 | 0 | 5 | 21845 | +| 26 | -21846 | 0 | 6 | 21845 | +| 26 | -21846 | 0 | 7 | 21845 | +| 26+ | 21845 | 1 | 1 | -21846 | +| 27 | 21845 | 1 | 1 | 21845 | +| 27+ | -21846 | 1 | 2 | 21845 | +| 28 | -21846 | 1 | 2 | -21846 | +| 28+ | -21846 | 0 | 0 | 21845 | +| 29 | -21846 | 0 | 0 | 21845 | +| 29 | -21846 | 0 | 1 | 21845 | +| 29 | -21846 | 0 | 2 | -21846 | +| 29 | -21846 | 0 | 3 | 21845 | +| 29 | -21846 | 0 | 4 | 21845 | +| 29 | -21846 | 0 | 5 | 21845 | +| 29 | -21846 | 0 | 6 | 21845 | +| 29 | -21846 | 0 | 7 | 21845 | +| 29+ | 21845 | 1 | 2 | -21846 | +| 30 | 21845 | 1 | 2 | 21845 | +| 30+ | -21846 | 1 | 3 | 21845 | +| 31 | -21846 | 1 | 3 | -21846 | +| 31+ | -21846 | 0 | 0 | 21845 | +| 32 | -21846 | 0 | 0 | 21845 | +| 32 | -21846 | 0 | 1 | 21845 | +| 32 | -21846 | 0 | 2 | 21845 | +| 32 | -21846 | 0 | 3 | -21846 | +| 32 | -21846 | 0 | 4 | 21845 | +| 32 | -21846 | 0 | 5 | 21845 | +| 32 | -21846 | 0 | 6 | 21845 | +| 32 | -21846 | 0 | 7 | 21845 | +| 32+ | 21845 | 1 | 3 | -21846 | +| 33 | 21845 | 1 | 3 | 21845 | +| 33+ | -21846 | 1 | 4 | 21845 | +| 34 | -21846 | 1 | 4 | -21846 | +| 34+ | -21846 | 0 | 0 | 21845 | +| 35 | -21846 | 0 | 0 | 21845 | +| 35 | -21846 | 0 | 1 | 21845 | +| 35 | -21846 | 0 | 2 | 21845 | +| 35 | -21846 | 0 | 3 | 21845 | +| 35 | -21846 | 0 | 4 | -21846 | +| 35 | -21846 | 0 | 5 | 21845 | +| 35 | -21846 | 0 | 6 | 21845 | +| 35 | -21846 | 0 | 7 | 21845 | +| 35+ | 21845 | 1 | 4 | -21846 | +| 36 | 21845 | 1 | 4 | 21845 | +| 36+ | -21846 | 1 | 5 | 21845 | +| 37 | -21846 | 1 | 5 | -21846 | +| 37+ | -21846 | 0 | 0 | 21845 | +| 38 | -21846 | 0 | 0 | 21845 | +| 38 | -21846 | 0 | 1 | 21845 | +| 38 | -21846 | 0 | 2 | 21845 | +| 38 | -21846 | 0 | 3 | 21845 | +| 38 | -21846 | 0 | 4 | 21845 | +| 38 | -21846 | 0 | 5 | -21846 | +| 38 | -21846 | 0 | 6 | 21845 | +| 38 | -21846 | 0 | 7 | 21845 | +| 38+ | 21845 | 1 | 5 | -21846 | +| 39 | 21845 | 1 | 5 | 21845 | +| 39+ | -21846 | 1 | 6 | 21845 | +| 40 | -21846 | 1 | 6 | -21846 | +| 40+ | -21846 | 0 | 0 | 21845 | +| 41 | -21846 | 0 | 0 | 21845 | +| 41 | -21846 | 0 | 1 | 21845 | +| 41 | -21846 | 0 | 2 | 21845 | +| 41 | -21846 | 0 | 3 | 21845 | +| 41 | -21846 | 0 | 4 | 21845 | +| 41 | -21846 | 0 | 5 | 21845 | +| 41 | -21846 | 0 | 6 | -21846 | +| 41 | -21846 | 0 | 7 | 21845 | +| 41+ | 21845 | 1 | 6 | -21846 | +| 42 | 21845 | 1 | 6 | 21845 | +| 42+ | -21846 | 1 | 7 | 21845 | +| 43 | -21846 | 1 | 7 | -21846 | +| 43+ | -21846 | 0 | 0 | 21845 | +| 44 | -21846 | 0 | 0 | 21845 | +| 44 | -21846 | 0 | 1 | 21845 | +| 44 | -21846 | 0 | 2 | 21845 | +| 44 | -21846 | 0 | 3 | 21845 | +| 44 | -21846 | 0 | 4 | 21845 | +| 44 | -21846 | 0 | 5 | 21845 | +| 44 | -21846 | 0 | 6 | 21845 | +| 44 | -21846 | 0 | 7 | -21846 | +| 44+ | 21845 | 1 | 7 | -21846 | +| 45 | 21845 | 1 | 7 | 21845 | +| 45+ | 21845 | 0 | 0 | 21845 | +| 46 | 21845 | 0 | 0 | 21845 | +| 46 | 21845 | 0 | 1 | 21845 | +| 46 | 21845 | 0 | 2 | 21845 | +| 46 | 21845 | 0 | 3 | 21845 | +| 46 | 21845 | 0 | 4 | 21845 | +| 46 | 21845 | 0 | 5 | 21845 | +| 46 | 21845 | 0 | 6 | 21845 | +| 46 | 21845 | 0 | 7 | 21845 | diff --git a/nand2tetris/projects/3/a/Register.out b/nand2tetris/projects/3/a/Register.out new file mode 100644 index 0000000..ad75755 --- /dev/null +++ b/nand2tetris/projects/3/a/Register.out @@ -0,0 +1,149 @@ +|time | in |load| out | +| 0+ | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | +| 2 | 0 | 1 | 0 | +| 2+ | -32123 | 0 | 0 | +| 3 | -32123 | 0 | 0 | +| 3+ | 11111 | 0 | 0 | +| 4 | 11111 | 0 | 0 | +| 4+ | -32123 | 1 | 0 | +| 5 | -32123 | 1 | -32123 | +| 5+ | -32123 | 1 | -32123 | +| 6 | -32123 | 1 | -32123 | +| 6+ | -32123 | 0 | -32123 | +| 7 | -32123 | 0 | -32123 | +| 7+ | 12345 | 1 | -32123 | +| 8 | 12345 | 1 | 12345 | +| 8+ | 0 | 0 | 12345 | +| 9 | 0 | 0 | 12345 | +| 9+ | 0 | 1 | 12345 | +| 10 | 0 | 1 | 0 | +| 10+ | 1 | 0 | 0 | +| 11 | 1 | 0 | 0 | +| 11+ | 1 | 1 | 0 | +| 12 | 1 | 1 | 1 | +| 12+ | 2 | 0 | 1 | +| 13 | 2 | 0 | 1 | +| 13+ | 2 | 1 | 1 | +| 14 | 2 | 1 | 2 | +| 14+ | 4 | 0 | 2 | +| 15 | 4 | 0 | 2 | +| 15+ | 4 | 1 | 2 | +| 16 | 4 | 1 | 4 | +| 16+ | 8 | 0 | 4 | +| 17 | 8 | 0 | 4 | +| 17+ | 8 | 1 | 4 | +| 18 | 8 | 1 | 8 | +| 18+ | 16 | 0 | 8 | +| 19 | 16 | 0 | 8 | +| 19+ | 16 | 1 | 8 | +| 20 | 16 | 1 | 16 | +| 20+ | 32 | 0 | 16 | +| 21 | 32 | 0 | 16 | +| 21+ | 32 | 1 | 16 | +| 22 | 32 | 1 | 32 | +| 22+ | 64 | 0 | 32 | +| 23 | 64 | 0 | 32 | +| 23+ | 64 | 1 | 32 | +| 24 | 64 | 1 | 64 | +| 24+ | 128 | 0 | 64 | +| 25 | 128 | 0 | 64 | +| 25+ | 128 | 1 | 64 | +| 26 | 128 | 1 | 128 | +| 26+ | 256 | 0 | 128 | +| 27 | 256 | 0 | 128 | +| 27+ | 256 | 1 | 128 | +| 28 | 256 | 1 | 256 | +| 28+ | 512 | 0 | 256 | +| 29 | 512 | 0 | 256 | +| 29+ | 512 | 1 | 256 | +| 30 | 512 | 1 | 512 | +| 30+ | 1024 | 0 | 512 | +| 31 | 1024 | 0 | 512 | +| 31+ | 1024 | 1 | 512 | +| 32 | 1024 | 1 | 1024 | +| 32+ | 2048 | 0 | 1024 | +| 33 | 2048 | 0 | 1024 | +| 33+ | 2048 | 1 | 1024 | +| 34 | 2048 | 1 | 2048 | +| 34+ | 4096 | 0 | 2048 | +| 35 | 4096 | 0 | 2048 | +| 35+ | 4096 | 1 | 2048 | +| 36 | 4096 | 1 | 4096 | +| 36+ | 8192 | 0 | 4096 | +| 37 | 8192 | 0 | 4096 | +| 37+ | 8192 | 1 | 4096 | +| 38 | 8192 | 1 | 8192 | +| 38+ | 16384 | 0 | 8192 | +| 39 | 16384 | 0 | 8192 | +| 39+ | 16384 | 1 | 8192 | +| 40 | 16384 | 1 | 16384 | +| 40+ | -32768 | 0 | 16384 | +| 41 | -32768 | 0 | 16384 | +| 41+ | -32768 | 1 | 16384 | +| 42 | -32768 | 1 | -32768 | +| 42+ | -2 | 0 | -32768 | +| 43 | -2 | 0 | -32768 | +| 43+ | -2 | 1 | -32768 | +| 44 | -2 | 1 | -2 | +| 44+ | -3 | 0 | -2 | +| 45 | -3 | 0 | -2 | +| 45+ | -3 | 1 | -2 | +| 46 | -3 | 1 | -3 | +| 46+ | -5 | 0 | -3 | +| 47 | -5 | 0 | -3 | +| 47+ | -5 | 1 | -3 | +| 48 | -5 | 1 | -5 | +| 48+ | -9 | 0 | -5 | +| 49 | -9 | 0 | -5 | +| 49+ | -9 | 1 | -5 | +| 50 | -9 | 1 | -9 | +| 50+ | -17 | 0 | -9 | +| 51 | -17 | 0 | -9 | +| 51+ | -17 | 1 | -9 | +| 52 | -17 | 1 | -17 | +| 52+ | -33 | 0 | -17 | +| 53 | -33 | 0 | -17 | +| 53+ | -33 | 1 | -17 | +| 54 | -33 | 1 | -33 | +| 54+ | -65 | 0 | -33 | +| 55 | -65 | 0 | -33 | +| 55+ | -65 | 1 | -33 | +| 56 | -65 | 1 | -65 | +| 56+ | -129 | 0 | -65 | +| 57 | -129 | 0 | -65 | +| 57+ | -129 | 1 | -65 | +| 58 | -129 | 1 | -129 | +| 58+ | -257 | 0 | -129 | +| 59 | -257 | 0 | -129 | +| 59+ | -257 | 1 | -129 | +| 60 | -257 | 1 | -257 | +| 60+ | -513 | 0 | -257 | +| 61 | -513 | 0 | -257 | +| 61+ | -513 | 1 | -257 | +| 62 | -513 | 1 | -513 | +| 62+ | -1025 | 0 | -513 | +| 63 | -1025 | 0 | -513 | +| 63+ | -1025 | 1 | -513 | +| 64 | -1025 | 1 | -1025 | +| 64+ | -2049 | 0 | -1025 | +| 65 | -2049 | 0 | -1025 | +| 65+ | -2049 | 1 | -1025 | +| 66 | -2049 | 1 | -2049 | +| 66+ | -4097 | 0 | -2049 | +| 67 | -4097 | 0 | -2049 | +| 67+ | -4097 | 1 | -2049 | +| 68 | -4097 | 1 | -4097 | +| 68+ | -8193 | 0 | -4097 | +| 69 | -8193 | 0 | -4097 | +| 69+ | -8193 | 1 | -4097 | +| 70 | -8193 | 1 | -8193 | +| 70+ | -16385 | 0 | -8193 | +| 71 | -16385 | 0 | -8193 | +| 71+ | -16385 | 1 | -8193 | +| 72 | -16385 | 1 | -16385 | +| 72+ | 32767 | 0 | -16385 | +| 73 | 32767 | 0 | -16385 | +| 73+ | 32767 | 1 | -16385 | +| 74 | 32767 | 1 | 32767 | diff --git a/nand2tetris/projects/3/b/RAM16K.out b/nand2tetris/projects/3/b/RAM16K.out new file mode 100644 index 0000000..706b49f --- /dev/null +++ b/nand2tetris/projects/3/b/RAM16K.out @@ -0,0 +1,320 @@ +|time | in |load| address | out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 4321 | 0 | 0 | 0 | +| 3 | 4321 | 0 | 0 | 0 | +| 3+ | 4321 | 1 | 4321 | 0 | +| 4 | 4321 | 1 | 4321 | 4321 | +| 4+ | 4321 | 0 | 0 | 0 | +| 5 | 4321 | 0 | 0 | 0 | +| 5+ | 12345 | 0 | 12345 | 0 | +| 6 | 12345 | 0 | 12345 | 0 | +| 6+ | 12345 | 1 | 12345 | 0 | +| 7 | 12345 | 1 | 12345 | 12345 | +| 7+ | 12345 | 0 | 12345 | 12345 | +| 8 | 12345 | 0 | 12345 | 12345 | +| 8 | 12345 | 0 | 4321 | 4321 | +| 8+ | 16383 | 0 | 4321 | 4321 | +| 9 | 16383 | 0 | 4321 | 4321 | +| 9+ | 16383 | 1 | 16383 | 0 | +| 10 | 16383 | 1 | 16383 | 16383 | +| 10+ | 16383 | 0 | 16383 | 16383 | +| 11 | 16383 | 0 | 16383 | 16383 | +| 11 | 16383 | 0 | 12345 | 12345 | +| 11 | 16383 | 0 | 16383 | 16383 | +| 11+ | 16383 | 0 | 10920 | 0 | +| 12 | 16383 | 0 | 10920 | 0 | +| 12 | 16383 | 0 | 10921 | 0 | +| 12 | 16383 | 0 | 10922 | 0 | +| 12 | 16383 | 0 | 10923 | 0 | +| 12 | 16383 | 0 | 10924 | 0 | +| 12 | 16383 | 0 | 10925 | 0 | +| 12 | 16383 | 0 | 10926 | 0 | +| 12 | 16383 | 0 | 10927 | 0 | +| 12+ | 21845 | 1 | 10920 | 0 | +| 13 | 21845 | 1 | 10920 | 21845 | +| 13+ | 21845 | 1 | 10921 | 0 | +| 14 | 21845 | 1 | 10921 | 21845 | +| 14+ | 21845 | 1 | 10922 | 0 | +| 15 | 21845 | 1 | 10922 | 21845 | +| 15+ | 21845 | 1 | 10923 | 0 | +| 16 | 21845 | 1 | 10923 | 21845 | +| 16+ | 21845 | 1 | 10924 | 0 | +| 17 | 21845 | 1 | 10924 | 21845 | +| 17+ | 21845 | 1 | 10925 | 0 | +| 18 | 21845 | 1 | 10925 | 21845 | +| 18+ | 21845 | 1 | 10926 | 0 | +| 19 | 21845 | 1 | 10926 | 21845 | +| 19+ | 21845 | 1 | 10927 | 0 | +| 20 | 21845 | 1 | 10927 | 21845 | +| 20+ | 21845 | 0 | 10920 | 21845 | +| 21 | 21845 | 0 | 10920 | 21845 | +| 21 | 21845 | 0 | 10921 | 21845 | +| 21 | 21845 | 0 | 10922 | 21845 | +| 21 | 21845 | 0 | 10923 | 21845 | +| 21 | 21845 | 0 | 10924 | 21845 | +| 21 | 21845 | 0 | 10925 | 21845 | +| 21 | 21845 | 0 | 10926 | 21845 | +| 21 | 21845 | 0 | 10927 | 21845 | +| 21+ | -21846 | 1 | 10920 | 21845 | +| 22 | -21846 | 1 | 10920 | -21846 | +| 22+ | -21846 | 0 | 10920 | -21846 | +| 23 | -21846 | 0 | 10920 | -21846 | +| 23 | -21846 | 0 | 10921 | 21845 | +| 23 | -21846 | 0 | 10922 | 21845 | +| 23 | -21846 | 0 | 10923 | 21845 | +| 23 | -21846 | 0 | 10924 | 21845 | +| 23 | -21846 | 0 | 10925 | 21845 | +| 23 | -21846 | 0 | 10926 | 21845 | +| 23 | -21846 | 0 | 10927 | 21845 | +| 23+ | 21845 | 1 | 10920 | -21846 | +| 24 | 21845 | 1 | 10920 | 21845 | +| 24+ | -21846 | 1 | 10921 | 21845 | +| 25 | -21846 | 1 | 10921 | -21846 | +| 25+ | -21846 | 0 | 10920 | 21845 | +| 26 | -21846 | 0 | 10920 | 21845 | +| 26 | -21846 | 0 | 10921 | -21846 | +| 26 | -21846 | 0 | 10922 | 21845 | +| 26 | -21846 | 0 | 10923 | 21845 | +| 26 | -21846 | 0 | 10924 | 21845 | +| 26 | -21846 | 0 | 10925 | 21845 | +| 26 | -21846 | 0 | 10926 | 21845 | +| 26 | -21846 | 0 | 10927 | 21845 | +| 26+ | 21845 | 1 | 10921 | -21846 | +| 27 | 21845 | 1 | 10921 | 21845 | +| 27+ | -21846 | 1 | 10922 | 21845 | +| 28 | -21846 | 1 | 10922 | -21846 | +| 28+ | -21846 | 0 | 10920 | 21845 | +| 29 | -21846 | 0 | 10920 | 21845 | +| 29 | -21846 | 0 | 10921 | 21845 | +| 29 | -21846 | 0 | 10922 | -21846 | +| 29 | -21846 | 0 | 10923 | 21845 | +| 29 | -21846 | 0 | 10924 | 21845 | +| 29 | -21846 | 0 | 10925 | 21845 | +| 29 | -21846 | 0 | 10926 | 21845 | +| 29 | -21846 | 0 | 10927 | 21845 | +| 29+ | 21845 | 1 | 10922 | -21846 | +| 30 | 21845 | 1 | 10922 | 21845 | +| 30+ | -21846 | 1 | 10923 | 21845 | +| 31 | -21846 | 1 | 10923 | -21846 | +| 31+ | -21846 | 0 | 10920 | 21845 | +| 32 | -21846 | 0 | 10920 | 21845 | +| 32 | -21846 | 0 | 10921 | 21845 | +| 32 | -21846 | 0 | 10922 | 21845 | +| 32 | -21846 | 0 | 10923 | -21846 | +| 32 | -21846 | 0 | 10924 | 21845 | +| 32 | -21846 | 0 | 10925 | 21845 | +| 32 | -21846 | 0 | 10926 | 21845 | +| 32 | -21846 | 0 | 10927 | 21845 | +| 32+ | 21845 | 1 | 10923 | -21846 | +| 33 | 21845 | 1 | 10923 | 21845 | +| 33+ | -21846 | 1 | 10924 | 21845 | +| 34 | -21846 | 1 | 10924 | -21846 | +| 34+ | -21846 | 0 | 10920 | 21845 | +| 35 | -21846 | 0 | 10920 | 21845 | +| 35 | -21846 | 0 | 10921 | 21845 | +| 35 | -21846 | 0 | 10922 | 21845 | +| 35 | -21846 | 0 | 10923 | 21845 | +| 35 | -21846 | 0 | 10924 | -21846 | +| 35 | -21846 | 0 | 10925 | 21845 | +| 35 | -21846 | 0 | 10926 | 21845 | +| 35 | -21846 | 0 | 10927 | 21845 | +| 35+ | 21845 | 1 | 10924 | -21846 | +| 36 | 21845 | 1 | 10924 | 21845 | +| 36+ | -21846 | 1 | 10925 | 21845 | +| 37 | -21846 | 1 | 10925 | -21846 | +| 37+ | -21846 | 0 | 10920 | 21845 | +| 38 | -21846 | 0 | 10920 | 21845 | +| 38 | -21846 | 0 | 10921 | 21845 | +| 38 | -21846 | 0 | 10922 | 21845 | +| 38 | -21846 | 0 | 10923 | 21845 | +| 38 | -21846 | 0 | 10924 | 21845 | +| 38 | -21846 | 0 | 10925 | -21846 | +| 38 | -21846 | 0 | 10926 | 21845 | +| 38 | -21846 | 0 | 10927 | 21845 | +| 38+ | 21845 | 1 | 10925 | -21846 | +| 39 | 21845 | 1 | 10925 | 21845 | +| 39+ | -21846 | 1 | 10926 | 21845 | +| 40 | -21846 | 1 | 10926 | -21846 | +| 40+ | -21846 | 0 | 10920 | 21845 | +| 41 | -21846 | 0 | 10920 | 21845 | +| 41 | -21846 | 0 | 10921 | 21845 | +| 41 | -21846 | 0 | 10922 | 21845 | +| 41 | -21846 | 0 | 10923 | 21845 | +| 41 | -21846 | 0 | 10924 | 21845 | +| 41 | -21846 | 0 | 10925 | 21845 | +| 41 | -21846 | 0 | 10926 | -21846 | +| 41 | -21846 | 0 | 10927 | 21845 | +| 41+ | 21845 | 1 | 10926 | -21846 | +| 42 | 21845 | 1 | 10926 | 21845 | +| 42+ | -21846 | 1 | 10927 | 21845 | +| 43 | -21846 | 1 | 10927 | -21846 | +| 43+ | -21846 | 0 | 10920 | 21845 | +| 44 | -21846 | 0 | 10920 | 21845 | +| 44 | -21846 | 0 | 10921 | 21845 | +| 44 | -21846 | 0 | 10922 | 21845 | +| 44 | -21846 | 0 | 10923 | 21845 | +| 44 | -21846 | 0 | 10924 | 21845 | +| 44 | -21846 | 0 | 10925 | 21845 | +| 44 | -21846 | 0 | 10926 | 21845 | +| 44 | -21846 | 0 | 10927 | -21846 | +| 44+ | 21845 | 1 | 10927 | -21846 | +| 45 | 21845 | 1 | 10927 | 21845 | +| 45+ | 21845 | 0 | 10920 | 21845 | +| 46 | 21845 | 0 | 10920 | 21845 | +| 46 | 21845 | 0 | 10921 | 21845 | +| 46 | 21845 | 0 | 10922 | 21845 | +| 46 | 21845 | 0 | 10923 | 21845 | +| 46 | 21845 | 0 | 10924 | 21845 | +| 46 | 21845 | 0 | 10925 | 21845 | +| 46 | 21845 | 0 | 10926 | 21845 | +| 46 | 21845 | 0 | 10927 | 21845 | +| 46+ | 21845 | 0 | 1365 | 0 | +| 47 | 21845 | 0 | 1365 | 0 | +| 47 | 21845 | 0 | 3413 | 0 | +| 47 | 21845 | 0 | 5461 | 0 | +| 47 | 21845 | 0 | 7509 | 0 | +| 47 | 21845 | 0 | 9557 | 0 | +| 47 | 21845 | 0 | 11605 | 0 | +| 47 | 21845 | 0 | 13653 | 0 | +| 47 | 21845 | 0 | 15701 | 0 | +| 47+ | 21845 | 1 | 1365 | 0 | +| 48 | 21845 | 1 | 1365 | 21845 | +| 48+ | 21845 | 1 | 3413 | 0 | +| 49 | 21845 | 1 | 3413 | 21845 | +| 49+ | 21845 | 1 | 5461 | 0 | +| 50 | 21845 | 1 | 5461 | 21845 | +| 50+ | 21845 | 1 | 7509 | 0 | +| 51 | 21845 | 1 | 7509 | 21845 | +| 51+ | 21845 | 1 | 9557 | 0 | +| 52 | 21845 | 1 | 9557 | 21845 | +| 52+ | 21845 | 1 | 11605 | 0 | +| 53 | 21845 | 1 | 11605 | 21845 | +| 53+ | 21845 | 1 | 13653 | 0 | +| 54 | 21845 | 1 | 13653 | 21845 | +| 54+ | 21845 | 1 | 15701 | 0 | +| 55 | 21845 | 1 | 15701 | 21845 | +| 55+ | 21845 | 0 | 1365 | 21845 | +| 56 | 21845 | 0 | 1365 | 21845 | +| 56 | 21845 | 0 | 3413 | 21845 | +| 56 | 21845 | 0 | 5461 | 21845 | +| 56 | 21845 | 0 | 7509 | 21845 | +| 56 | 21845 | 0 | 9557 | 21845 | +| 56 | 21845 | 0 | 11605 | 21845 | +| 56 | 21845 | 0 | 13653 | 21845 | +| 56 | 21845 | 0 | 15701 | 21845 | +| 56+ | -21846 | 1 | 1365 | 21845 | +| 57 | -21846 | 1 | 1365 | -21846 | +| 57+ | -21846 | 0 | 1365 | -21846 | +| 58 | -21846 | 0 | 1365 | -21846 | +| 58 | -21846 | 0 | 3413 | 21845 | +| 58 | -21846 | 0 | 5461 | 21845 | +| 58 | -21846 | 0 | 7509 | 21845 | +| 58 | -21846 | 0 | 9557 | 21845 | +| 58 | -21846 | 0 | 11605 | 21845 | +| 58 | -21846 | 0 | 13653 | 21845 | +| 58 | -21846 | 0 | 15701 | 21845 | +| 58+ | 21845 | 1 | 1365 | -21846 | +| 59 | 21845 | 1 | 1365 | 21845 | +| 59+ | -21846 | 1 | 3413 | 21845 | +| 60 | -21846 | 1 | 3413 | -21846 | +| 60+ | -21846 | 0 | 1365 | 21845 | +| 61 | -21846 | 0 | 1365 | 21845 | +| 61 | -21846 | 0 | 3413 | -21846 | +| 61 | -21846 | 0 | 5461 | 21845 | +| 61 | -21846 | 0 | 7509 | 21845 | +| 61 | -21846 | 0 | 9557 | 21845 | +| 61 | -21846 | 0 | 11605 | 21845 | +| 61 | -21846 | 0 | 13653 | 21845 | +| 61 | -21846 | 0 | 15701 | 21845 | +| 61+ | 21845 | 1 | 3413 | -21846 | +| 62 | 21845 | 1 | 3413 | 21845 | +| 62+ | -21846 | 1 | 5461 | 21845 | +| 63 | -21846 | 1 | 5461 | -21846 | +| 63+ | -21846 | 0 | 1365 | 21845 | +| 64 | -21846 | 0 | 1365 | 21845 | +| 64 | -21846 | 0 | 3413 | 21845 | +| 64 | -21846 | 0 | 5461 | -21846 | +| 64 | -21846 | 0 | 7509 | 21845 | +| 64 | -21846 | 0 | 9557 | 21845 | +| 64 | -21846 | 0 | 11605 | 21845 | +| 64 | -21846 | 0 | 13653 | 21845 | +| 64 | -21846 | 0 | 15701 | 21845 | +| 64+ | 21845 | 1 | 5461 | -21846 | +| 65 | 21845 | 1 | 5461 | 21845 | +| 65+ | -21846 | 1 | 7509 | 21845 | +| 66 | -21846 | 1 | 7509 | -21846 | +| 66+ | -21846 | 0 | 1365 | 21845 | +| 67 | -21846 | 0 | 1365 | 21845 | +| 67 | -21846 | 0 | 3413 | 21845 | +| 67 | -21846 | 0 | 5461 | 21845 | +| 67 | -21846 | 0 | 7509 | -21846 | +| 67 | -21846 | 0 | 9557 | 21845 | +| 67 | -21846 | 0 | 11605 | 21845 | +| 67 | -21846 | 0 | 13653 | 21845 | +| 67 | -21846 | 0 | 15701 | 21845 | +| 67+ | 21845 | 1 | 7509 | -21846 | +| 68 | 21845 | 1 | 7509 | 21845 | +| 68+ | -21846 | 1 | 9557 | 21845 | +| 69 | -21846 | 1 | 9557 | -21846 | +| 69+ | -21846 | 0 | 1365 | 21845 | +| 70 | -21846 | 0 | 1365 | 21845 | +| 70 | -21846 | 0 | 3413 | 21845 | +| 70 | -21846 | 0 | 5461 | 21845 | +| 70 | -21846 | 0 | 7509 | 21845 | +| 70 | -21846 | 0 | 9557 | -21846 | +| 70 | -21846 | 0 | 11605 | 21845 | +| 70 | -21846 | 0 | 13653 | 21845 | +| 70 | -21846 | 0 | 15701 | 21845 | +| 70+ | 21845 | 1 | 9557 | -21846 | +| 71 | 21845 | 1 | 9557 | 21845 | +| 71+ | -21846 | 1 | 11605 | 21845 | +| 72 | -21846 | 1 | 11605 | -21846 | +| 72+ | -21846 | 0 | 1365 | 21845 | +| 73 | -21846 | 0 | 1365 | 21845 | +| 73 | -21846 | 0 | 3413 | 21845 | +| 73 | -21846 | 0 | 5461 | 21845 | +| 73 | -21846 | 0 | 7509 | 21845 | +| 73 | -21846 | 0 | 9557 | 21845 | +| 73 | -21846 | 0 | 11605 | -21846 | +| 73 | -21846 | 0 | 13653 | 21845 | +| 73 | -21846 | 0 | 15701 | 21845 | +| 73+ | 21845 | 1 | 11605 | -21846 | +| 74 | 21845 | 1 | 11605 | 21845 | +| 74+ | -21846 | 1 | 13653 | 21845 | +| 75 | -21846 | 1 | 13653 | -21846 | +| 75+ | -21846 | 0 | 1365 | 21845 | +| 76 | -21846 | 0 | 1365 | 21845 | +| 76 | -21846 | 0 | 3413 | 21845 | +| 76 | -21846 | 0 | 5461 | 21845 | +| 76 | -21846 | 0 | 7509 | 21845 | +| 76 | -21846 | 0 | 9557 | 21845 | +| 76 | -21846 | 0 | 11605 | 21845 | +| 76 | -21846 | 0 | 13653 | -21846 | +| 76 | -21846 | 0 | 15701 | 21845 | +| 76+ | 21845 | 1 | 13653 | -21846 | +| 77 | 21845 | 1 | 13653 | 21845 | +| 77+ | -21846 | 1 | 15701 | 21845 | +| 78 | -21846 | 1 | 15701 | -21846 | +| 78+ | -21846 | 0 | 1365 | 21845 | +| 79 | -21846 | 0 | 1365 | 21845 | +| 79 | -21846 | 0 | 3413 | 21845 | +| 79 | -21846 | 0 | 5461 | 21845 | +| 79 | -21846 | 0 | 7509 | 21845 | +| 79 | -21846 | 0 | 9557 | 21845 | +| 79 | -21846 | 0 | 11605 | 21845 | +| 79 | -21846 | 0 | 13653 | 21845 | +| 79 | -21846 | 0 | 15701 | -21846 | +| 79+ | 21845 | 1 | 15701 | -21846 | +| 80 | 21845 | 1 | 15701 | 21845 | +| 80+ | 21845 | 0 | 1365 | 21845 | +| 81 | 21845 | 0 | 1365 | 21845 | +| 81 | 21845 | 0 | 3413 | 21845 | +| 81 | 21845 | 0 | 5461 | 21845 | +| 81 | 21845 | 0 | 7509 | 21845 | +| 81 | 21845 | 0 | 9557 | 21845 | +| 81 | 21845 | 0 | 11605 | 21845 | +| 81 | 21845 | 0 | 13653 | 21845 | +| 81 | 21845 | 0 | 15701 | 21845 | diff --git a/nand2tetris/projects/3/b/RAM4K.out b/nand2tetris/projects/3/b/RAM4K.out new file mode 100644 index 0000000..5c0be36 --- /dev/null +++ b/nand2tetris/projects/3/b/RAM4K.out @@ -0,0 +1,320 @@ +|time | in |load|address | out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 1111 | 0 | 0 | 0 | +| 3 | 1111 | 0 | 0 | 0 | +| 3+ | 1111 | 1 | 1111 | 0 | +| 4 | 1111 | 1 | 1111 | 1111 | +| 4+ | 1111 | 0 | 0 | 0 | +| 5 | 1111 | 0 | 0 | 0 | +| 5+ | 3513 | 0 | 3513 | 0 | +| 6 | 3513 | 0 | 3513 | 0 | +| 6+ | 3513 | 1 | 3513 | 0 | +| 7 | 3513 | 1 | 3513 | 3513 | +| 7+ | 3513 | 0 | 3513 | 3513 | +| 8 | 3513 | 0 | 3513 | 3513 | +| 8 | 3513 | 0 | 1111 | 1111 | +| 8+ | 4095 | 0 | 1111 | 1111 | +| 9 | 4095 | 0 | 1111 | 1111 | +| 9+ | 4095 | 1 | 4095 | 0 | +| 10 | 4095 | 1 | 4095 | 4095 | +| 10+ | 4095 | 0 | 4095 | 4095 | +| 11 | 4095 | 0 | 4095 | 4095 | +| 11 | 4095 | 0 | 3513 | 3513 | +| 11 | 4095 | 0 | 4095 | 4095 | +| 11+ | 4095 | 0 | 2728 | 0 | +| 12 | 4095 | 0 | 2728 | 0 | +| 12 | 4095 | 0 | 2729 | 0 | +| 12 | 4095 | 0 | 2730 | 0 | +| 12 | 4095 | 0 | 2731 | 0 | +| 12 | 4095 | 0 | 2732 | 0 | +| 12 | 4095 | 0 | 2733 | 0 | +| 12 | 4095 | 0 | 2734 | 0 | +| 12 | 4095 | 0 | 2735 | 0 | +| 12+ | 21845 | 1 | 2728 | 0 | +| 13 | 21845 | 1 | 2728 | 21845 | +| 13+ | 21845 | 1 | 2729 | 0 | +| 14 | 21845 | 1 | 2729 | 21845 | +| 14+ | 21845 | 1 | 2730 | 0 | +| 15 | 21845 | 1 | 2730 | 21845 | +| 15+ | 21845 | 1 | 2731 | 0 | +| 16 | 21845 | 1 | 2731 | 21845 | +| 16+ | 21845 | 1 | 2732 | 0 | +| 17 | 21845 | 1 | 2732 | 21845 | +| 17+ | 21845 | 1 | 2733 | 0 | +| 18 | 21845 | 1 | 2733 | 21845 | +| 18+ | 21845 | 1 | 2734 | 0 | +| 19 | 21845 | 1 | 2734 | 21845 | +| 19+ | 21845 | 1 | 2735 | 0 | +| 20 | 21845 | 1 | 2735 | 21845 | +| 20+ | 21845 | 0 | 2728 | 21845 | +| 21 | 21845 | 0 | 2728 | 21845 | +| 21 | 21845 | 0 | 2729 | 21845 | +| 21 | 21845 | 0 | 2730 | 21845 | +| 21 | 21845 | 0 | 2731 | 21845 | +| 21 | 21845 | 0 | 2732 | 21845 | +| 21 | 21845 | 0 | 2733 | 21845 | +| 21 | 21845 | 0 | 2734 | 21845 | +| 21 | 21845 | 0 | 2735 | 21845 | +| 21+ | -21846 | 1 | 2728 | 21845 | +| 22 | -21846 | 1 | 2728 | -21846 | +| 22+ | -21846 | 0 | 2728 | -21846 | +| 23 | -21846 | 0 | 2728 | -21846 | +| 23 | -21846 | 0 | 2729 | 21845 | +| 23 | -21846 | 0 | 2730 | 21845 | +| 23 | -21846 | 0 | 2731 | 21845 | +| 23 | -21846 | 0 | 2732 | 21845 | +| 23 | -21846 | 0 | 2733 | 21845 | +| 23 | -21846 | 0 | 2734 | 21845 | +| 23 | -21846 | 0 | 2735 | 21845 | +| 23+ | 21845 | 1 | 2728 | -21846 | +| 24 | 21845 | 1 | 2728 | 21845 | +| 24+ | -21846 | 1 | 2729 | 21845 | +| 25 | -21846 | 1 | 2729 | -21846 | +| 25+ | -21846 | 0 | 2728 | 21845 | +| 26 | -21846 | 0 | 2728 | 21845 | +| 26 | -21846 | 0 | 2729 | -21846 | +| 26 | -21846 | 0 | 2730 | 21845 | +| 26 | -21846 | 0 | 2731 | 21845 | +| 26 | -21846 | 0 | 2732 | 21845 | +| 26 | -21846 | 0 | 2733 | 21845 | +| 26 | -21846 | 0 | 2734 | 21845 | +| 26 | -21846 | 0 | 2735 | 21845 | +| 26+ | 21845 | 1 | 2729 | -21846 | +| 27 | 21845 | 1 | 2729 | 21845 | +| 27+ | -21846 | 1 | 2730 | 21845 | +| 28 | -21846 | 1 | 2730 | -21846 | +| 28+ | -21846 | 0 | 2728 | 21845 | +| 29 | -21846 | 0 | 2728 | 21845 | +| 29 | -21846 | 0 | 2729 | 21845 | +| 29 | -21846 | 0 | 2730 | -21846 | +| 29 | -21846 | 0 | 2731 | 21845 | +| 29 | -21846 | 0 | 2732 | 21845 | +| 29 | -21846 | 0 | 2733 | 21845 | +| 29 | -21846 | 0 | 2734 | 21845 | +| 29 | -21846 | 0 | 2735 | 21845 | +| 29+ | 21845 | 1 | 2730 | -21846 | +| 30 | 21845 | 1 | 2730 | 21845 | +| 30+ | -21846 | 1 | 2731 | 21845 | +| 31 | -21846 | 1 | 2731 | -21846 | +| 31+ | -21846 | 0 | 2728 | 21845 | +| 32 | -21846 | 0 | 2728 | 21845 | +| 32 | -21846 | 0 | 2729 | 21845 | +| 32 | -21846 | 0 | 2730 | 21845 | +| 32 | -21846 | 0 | 2731 | -21846 | +| 32 | -21846 | 0 | 2732 | 21845 | +| 32 | -21846 | 0 | 2733 | 21845 | +| 32 | -21846 | 0 | 2734 | 21845 | +| 32 | -21846 | 0 | 2735 | 21845 | +| 32+ | 21845 | 1 | 2731 | -21846 | +| 33 | 21845 | 1 | 2731 | 21845 | +| 33+ | -21846 | 1 | 2732 | 21845 | +| 34 | -21846 | 1 | 2732 | -21846 | +| 34+ | -21846 | 0 | 2728 | 21845 | +| 35 | -21846 | 0 | 2728 | 21845 | +| 35 | -21846 | 0 | 2729 | 21845 | +| 35 | -21846 | 0 | 2730 | 21845 | +| 35 | -21846 | 0 | 2731 | 21845 | +| 35 | -21846 | 0 | 2732 | -21846 | +| 35 | -21846 | 0 | 2733 | 21845 | +| 35 | -21846 | 0 | 2734 | 21845 | +| 35 | -21846 | 0 | 2735 | 21845 | +| 35+ | 21845 | 1 | 2732 | -21846 | +| 36 | 21845 | 1 | 2732 | 21845 | +| 36+ | -21846 | 1 | 2733 | 21845 | +| 37 | -21846 | 1 | 2733 | -21846 | +| 37+ | -21846 | 0 | 2728 | 21845 | +| 38 | -21846 | 0 | 2728 | 21845 | +| 38 | -21846 | 0 | 2729 | 21845 | +| 38 | -21846 | 0 | 2730 | 21845 | +| 38 | -21846 | 0 | 2731 | 21845 | +| 38 | -21846 | 0 | 2732 | 21845 | +| 38 | -21846 | 0 | 2733 | -21846 | +| 38 | -21846 | 0 | 2734 | 21845 | +| 38 | -21846 | 0 | 2735 | 21845 | +| 38+ | 21845 | 1 | 2733 | -21846 | +| 39 | 21845 | 1 | 2733 | 21845 | +| 39+ | -21846 | 1 | 2734 | 21845 | +| 40 | -21846 | 1 | 2734 | -21846 | +| 40+ | -21846 | 0 | 2728 | 21845 | +| 41 | -21846 | 0 | 2728 | 21845 | +| 41 | -21846 | 0 | 2729 | 21845 | +| 41 | -21846 | 0 | 2730 | 21845 | +| 41 | -21846 | 0 | 2731 | 21845 | +| 41 | -21846 | 0 | 2732 | 21845 | +| 41 | -21846 | 0 | 2733 | 21845 | +| 41 | -21846 | 0 | 2734 | -21846 | +| 41 | -21846 | 0 | 2735 | 21845 | +| 41+ | 21845 | 1 | 2734 | -21846 | +| 42 | 21845 | 1 | 2734 | 21845 | +| 42+ | -21846 | 1 | 2735 | 21845 | +| 43 | -21846 | 1 | 2735 | -21846 | +| 43+ | -21846 | 0 | 2728 | 21845 | +| 44 | -21846 | 0 | 2728 | 21845 | +| 44 | -21846 | 0 | 2729 | 21845 | +| 44 | -21846 | 0 | 2730 | 21845 | +| 44 | -21846 | 0 | 2731 | 21845 | +| 44 | -21846 | 0 | 2732 | 21845 | +| 44 | -21846 | 0 | 2733 | 21845 | +| 44 | -21846 | 0 | 2734 | 21845 | +| 44 | -21846 | 0 | 2735 | -21846 | +| 44+ | 21845 | 1 | 2735 | -21846 | +| 45 | 21845 | 1 | 2735 | 21845 | +| 45+ | 21845 | 0 | 2728 | 21845 | +| 46 | 21845 | 0 | 2728 | 21845 | +| 46 | 21845 | 0 | 2729 | 21845 | +| 46 | 21845 | 0 | 2730 | 21845 | +| 46 | 21845 | 0 | 2731 | 21845 | +| 46 | 21845 | 0 | 2732 | 21845 | +| 46 | 21845 | 0 | 2733 | 21845 | +| 46 | 21845 | 0 | 2734 | 21845 | +| 46 | 21845 | 0 | 2735 | 21845 | +| 46+ | 21845 | 0 | 341 | 0 | +| 47 | 21845 | 0 | 341 | 0 | +| 47 | 21845 | 0 | 853 | 0 | +| 47 | 21845 | 0 | 1365 | 0 | +| 47 | 21845 | 0 | 1877 | 0 | +| 47 | 21845 | 0 | 2389 | 0 | +| 47 | 21845 | 0 | 2901 | 0 | +| 47 | 21845 | 0 | 3413 | 0 | +| 47 | 21845 | 0 | 3925 | 0 | +| 47+ | 21845 | 1 | 341 | 0 | +| 48 | 21845 | 1 | 341 | 21845 | +| 48+ | 21845 | 1 | 853 | 0 | +| 49 | 21845 | 1 | 853 | 21845 | +| 49+ | 21845 | 1 | 1365 | 0 | +| 50 | 21845 | 1 | 1365 | 21845 | +| 50+ | 21845 | 1 | 1877 | 0 | +| 51 | 21845 | 1 | 1877 | 21845 | +| 51+ | 21845 | 1 | 2389 | 0 | +| 52 | 21845 | 1 | 2389 | 21845 | +| 52+ | 21845 | 1 | 2901 | 0 | +| 53 | 21845 | 1 | 2901 | 21845 | +| 53+ | 21845 | 1 | 3413 | 0 | +| 54 | 21845 | 1 | 3413 | 21845 | +| 54+ | 21845 | 1 | 3925 | 0 | +| 55 | 21845 | 1 | 3925 | 21845 | +| 55+ | 21845 | 0 | 341 | 21845 | +| 56 | 21845 | 0 | 341 | 21845 | +| 56 | 21845 | 0 | 853 | 21845 | +| 56 | 21845 | 0 | 1365 | 21845 | +| 56 | 21845 | 0 | 1877 | 21845 | +| 56 | 21845 | 0 | 2389 | 21845 | +| 56 | 21845 | 0 | 2901 | 21845 | +| 56 | 21845 | 0 | 3413 | 21845 | +| 56 | 21845 | 0 | 3925 | 21845 | +| 56+ | -21846 | 1 | 341 | 21845 | +| 57 | -21846 | 1 | 341 | -21846 | +| 57+ | -21846 | 0 | 341 | -21846 | +| 58 | -21846 | 0 | 341 | -21846 | +| 58 | -21846 | 0 | 853 | 21845 | +| 58 | -21846 | 0 | 1365 | 21845 | +| 58 | -21846 | 0 | 1877 | 21845 | +| 58 | -21846 | 0 | 2389 | 21845 | +| 58 | -21846 | 0 | 2901 | 21845 | +| 58 | -21846 | 0 | 3413 | 21845 | +| 58 | -21846 | 0 | 3925 | 21845 | +| 58+ | 21845 | 1 | 341 | -21846 | +| 59 | 21845 | 1 | 341 | 21845 | +| 59+ | -21846 | 1 | 853 | 21845 | +| 60 | -21846 | 1 | 853 | -21846 | +| 60+ | -21846 | 0 | 341 | 21845 | +| 61 | -21846 | 0 | 341 | 21845 | +| 61 | -21846 | 0 | 853 | -21846 | +| 61 | -21846 | 0 | 1365 | 21845 | +| 61 | -21846 | 0 | 1877 | 21845 | +| 61 | -21846 | 0 | 2389 | 21845 | +| 61 | -21846 | 0 | 2901 | 21845 | +| 61 | -21846 | 0 | 3413 | 21845 | +| 61 | -21846 | 0 | 3925 | 21845 | +| 61+ | 21845 | 1 | 853 | -21846 | +| 62 | 21845 | 1 | 853 | 21845 | +| 62+ | -21846 | 1 | 1365 | 21845 | +| 63 | -21846 | 1 | 1365 | -21846 | +| 63+ | -21846 | 0 | 341 | 21845 | +| 64 | -21846 | 0 | 341 | 21845 | +| 64 | -21846 | 0 | 853 | 21845 | +| 64 | -21846 | 0 | 1365 | -21846 | +| 64 | -21846 | 0 | 1877 | 21845 | +| 64 | -21846 | 0 | 2389 | 21845 | +| 64 | -21846 | 0 | 2901 | 21845 | +| 64 | -21846 | 0 | 3413 | 21845 | +| 64 | -21846 | 0 | 3925 | 21845 | +| 64+ | 21845 | 1 | 1365 | -21846 | +| 65 | 21845 | 1 | 1365 | 21845 | +| 65+ | -21846 | 1 | 1877 | 21845 | +| 66 | -21846 | 1 | 1877 | -21846 | +| 66+ | -21846 | 0 | 341 | 21845 | +| 67 | -21846 | 0 | 341 | 21845 | +| 67 | -21846 | 0 | 853 | 21845 | +| 67 | -21846 | 0 | 1365 | 21845 | +| 67 | -21846 | 0 | 1877 | -21846 | +| 67 | -21846 | 0 | 2389 | 21845 | +| 67 | -21846 | 0 | 2901 | 21845 | +| 67 | -21846 | 0 | 3413 | 21845 | +| 67 | -21846 | 0 | 3925 | 21845 | +| 67+ | 21845 | 1 | 1877 | -21846 | +| 68 | 21845 | 1 | 1877 | 21845 | +| 68+ | -21846 | 1 | 2389 | 21845 | +| 69 | -21846 | 1 | 2389 | -21846 | +| 69+ | -21846 | 0 | 341 | 21845 | +| 70 | -21846 | 0 | 341 | 21845 | +| 70 | -21846 | 0 | 853 | 21845 | +| 70 | -21846 | 0 | 1365 | 21845 | +| 70 | -21846 | 0 | 1877 | 21845 | +| 70 | -21846 | 0 | 2389 | -21846 | +| 70 | -21846 | 0 | 2901 | 21845 | +| 70 | -21846 | 0 | 3413 | 21845 | +| 70 | -21846 | 0 | 3925 | 21845 | +| 70+ | 21845 | 1 | 2389 | -21846 | +| 71 | 21845 | 1 | 2389 | 21845 | +| 71+ | -21846 | 1 | 2901 | 21845 | +| 72 | -21846 | 1 | 2901 | -21846 | +| 72+ | -21846 | 0 | 341 | 21845 | +| 73 | -21846 | 0 | 341 | 21845 | +| 73 | -21846 | 0 | 853 | 21845 | +| 73 | -21846 | 0 | 1365 | 21845 | +| 73 | -21846 | 0 | 1877 | 21845 | +| 73 | -21846 | 0 | 2389 | 21845 | +| 73 | -21846 | 0 | 2901 | -21846 | +| 73 | -21846 | 0 | 3413 | 21845 | +| 73 | -21846 | 0 | 3925 | 21845 | +| 73+ | 21845 | 1 | 2901 | -21846 | +| 74 | 21845 | 1 | 2901 | 21845 | +| 74+ | -21846 | 1 | 3413 | 21845 | +| 75 | -21846 | 1 | 3413 | -21846 | +| 75+ | -21846 | 0 | 341 | 21845 | +| 76 | -21846 | 0 | 341 | 21845 | +| 76 | -21846 | 0 | 853 | 21845 | +| 76 | -21846 | 0 | 1365 | 21845 | +| 76 | -21846 | 0 | 1877 | 21845 | +| 76 | -21846 | 0 | 2389 | 21845 | +| 76 | -21846 | 0 | 2901 | 21845 | +| 76 | -21846 | 0 | 3413 | -21846 | +| 76 | -21846 | 0 | 3925 | 21845 | +| 76+ | 21845 | 1 | 3413 | -21846 | +| 77 | 21845 | 1 | 3413 | 21845 | +| 77+ | -21846 | 1 | 3925 | 21845 | +| 78 | -21846 | 1 | 3925 | -21846 | +| 78+ | -21846 | 0 | 341 | 21845 | +| 79 | -21846 | 0 | 341 | 21845 | +| 79 | -21846 | 0 | 853 | 21845 | +| 79 | -21846 | 0 | 1365 | 21845 | +| 79 | -21846 | 0 | 1877 | 21845 | +| 79 | -21846 | 0 | 2389 | 21845 | +| 79 | -21846 | 0 | 2901 | 21845 | +| 79 | -21846 | 0 | 3413 | 21845 | +| 79 | -21846 | 0 | 3925 | -21846 | +| 79+ | 21845 | 1 | 3925 | -21846 | +| 80 | 21845 | 1 | 3925 | 21845 | +| 80+ | 21845 | 0 | 341 | 21845 | +| 81 | 21845 | 0 | 341 | 21845 | +| 81 | 21845 | 0 | 853 | 21845 | +| 81 | 21845 | 0 | 1365 | 21845 | +| 81 | 21845 | 0 | 1877 | 21845 | +| 81 | 21845 | 0 | 2389 | 21845 | +| 81 | 21845 | 0 | 2901 | 21845 | +| 81 | 21845 | 0 | 3413 | 21845 | +| 81 | 21845 | 0 | 3925 | 21845 | diff --git a/nand2tetris/projects/3/b/RAM512.out b/nand2tetris/projects/3/b/RAM512.out new file mode 100644 index 0000000..241956b --- /dev/null +++ b/nand2tetris/projects/3/b/RAM512.out @@ -0,0 +1,320 @@ +|time | in |load|address| out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 13099 | 0 | 0 | 0 | +| 3 | 13099 | 0 | 0 | 0 | +| 3+ | 13099 | 1 | 130 | 0 | +| 4 | 13099 | 1 | 130 | 13099 | +| 4+ | 13099 | 0 | 0 | 0 | +| 5 | 13099 | 0 | 0 | 0 | +| 5+ | 4729 | 0 | 472 | 0 | +| 6 | 4729 | 0 | 472 | 0 | +| 6+ | 4729 | 1 | 472 | 0 | +| 7 | 4729 | 1 | 472 | 4729 | +| 7+ | 4729 | 0 | 472 | 4729 | +| 8 | 4729 | 0 | 472 | 4729 | +| 8 | 4729 | 0 | 130 | 13099 | +| 8+ | 5119 | 0 | 130 | 13099 | +| 9 | 5119 | 0 | 130 | 13099 | +| 9+ | 5119 | 1 | 511 | 0 | +| 10 | 5119 | 1 | 511 | 5119 | +| 10+ | 5119 | 0 | 511 | 5119 | +| 11 | 5119 | 0 | 511 | 5119 | +| 11 | 5119 | 0 | 472 | 4729 | +| 11 | 5119 | 0 | 511 | 5119 | +| 11+ | 5119 | 0 | 168 | 0 | +| 12 | 5119 | 0 | 168 | 0 | +| 12 | 5119 | 0 | 169 | 0 | +| 12 | 5119 | 0 | 170 | 0 | +| 12 | 5119 | 0 | 171 | 0 | +| 12 | 5119 | 0 | 172 | 0 | +| 12 | 5119 | 0 | 173 | 0 | +| 12 | 5119 | 0 | 174 | 0 | +| 12 | 5119 | 0 | 175 | 0 | +| 12+ | 21845 | 1 | 168 | 0 | +| 13 | 21845 | 1 | 168 | 21845 | +| 13+ | 21845 | 1 | 169 | 0 | +| 14 | 21845 | 1 | 169 | 21845 | +| 14+ | 21845 | 1 | 170 | 0 | +| 15 | 21845 | 1 | 170 | 21845 | +| 15+ | 21845 | 1 | 171 | 0 | +| 16 | 21845 | 1 | 171 | 21845 | +| 16+ | 21845 | 1 | 172 | 0 | +| 17 | 21845 | 1 | 172 | 21845 | +| 17+ | 21845 | 1 | 173 | 0 | +| 18 | 21845 | 1 | 173 | 21845 | +| 18+ | 21845 | 1 | 174 | 0 | +| 19 | 21845 | 1 | 174 | 21845 | +| 19+ | 21845 | 1 | 175 | 0 | +| 20 | 21845 | 1 | 175 | 21845 | +| 20+ | 21845 | 0 | 168 | 21845 | +| 21 | 21845 | 0 | 168 | 21845 | +| 21 | 21845 | 0 | 169 | 21845 | +| 21 | 21845 | 0 | 170 | 21845 | +| 21 | 21845 | 0 | 171 | 21845 | +| 21 | 21845 | 0 | 172 | 21845 | +| 21 | 21845 | 0 | 173 | 21845 | +| 21 | 21845 | 0 | 174 | 21845 | +| 21 | 21845 | 0 | 175 | 21845 | +| 21+ | -21846 | 1 | 168 | 21845 | +| 22 | -21846 | 1 | 168 | -21846 | +| 22+ | -21846 | 0 | 168 | -21846 | +| 23 | -21846 | 0 | 168 | -21846 | +| 23 | -21846 | 0 | 169 | 21845 | +| 23 | -21846 | 0 | 170 | 21845 | +| 23 | -21846 | 0 | 171 | 21845 | +| 23 | -21846 | 0 | 172 | 21845 | +| 23 | -21846 | 0 | 173 | 21845 | +| 23 | -21846 | 0 | 174 | 21845 | +| 23 | -21846 | 0 | 175 | 21845 | +| 23+ | 21845 | 1 | 168 | -21846 | +| 24 | 21845 | 1 | 168 | 21845 | +| 24+ | -21846 | 1 | 169 | 21845 | +| 25 | -21846 | 1 | 169 | -21846 | +| 25+ | -21846 | 0 | 168 | 21845 | +| 26 | -21846 | 0 | 168 | 21845 | +| 26 | -21846 | 0 | 169 | -21846 | +| 26 | -21846 | 0 | 170 | 21845 | +| 26 | -21846 | 0 | 171 | 21845 | +| 26 | -21846 | 0 | 172 | 21845 | +| 26 | -21846 | 0 | 173 | 21845 | +| 26 | -21846 | 0 | 174 | 21845 | +| 26 | -21846 | 0 | 175 | 21845 | +| 26+ | 21845 | 1 | 169 | -21846 | +| 27 | 21845 | 1 | 169 | 21845 | +| 27+ | -21846 | 1 | 170 | 21845 | +| 28 | -21846 | 1 | 170 | -21846 | +| 28+ | -21846 | 0 | 168 | 21845 | +| 29 | -21846 | 0 | 168 | 21845 | +| 29 | -21846 | 0 | 169 | 21845 | +| 29 | -21846 | 0 | 170 | -21846 | +| 29 | -21846 | 0 | 171 | 21845 | +| 29 | -21846 | 0 | 172 | 21845 | +| 29 | -21846 | 0 | 173 | 21845 | +| 29 | -21846 | 0 | 174 | 21845 | +| 29 | -21846 | 0 | 175 | 21845 | +| 29+ | 21845 | 1 | 170 | -21846 | +| 30 | 21845 | 1 | 170 | 21845 | +| 30+ | -21846 | 1 | 171 | 21845 | +| 31 | -21846 | 1 | 171 | -21846 | +| 31+ | -21846 | 0 | 168 | 21845 | +| 32 | -21846 | 0 | 168 | 21845 | +| 32 | -21846 | 0 | 169 | 21845 | +| 32 | -21846 | 0 | 170 | 21845 | +| 32 | -21846 | 0 | 171 | -21846 | +| 32 | -21846 | 0 | 172 | 21845 | +| 32 | -21846 | 0 | 173 | 21845 | +| 32 | -21846 | 0 | 174 | 21845 | +| 32 | -21846 | 0 | 175 | 21845 | +| 32+ | 21845 | 1 | 171 | -21846 | +| 33 | 21845 | 1 | 171 | 21845 | +| 33+ | -21846 | 1 | 172 | 21845 | +| 34 | -21846 | 1 | 172 | -21846 | +| 34+ | -21846 | 0 | 168 | 21845 | +| 35 | -21846 | 0 | 168 | 21845 | +| 35 | -21846 | 0 | 169 | 21845 | +| 35 | -21846 | 0 | 170 | 21845 | +| 35 | -21846 | 0 | 171 | 21845 | +| 35 | -21846 | 0 | 172 | -21846 | +| 35 | -21846 | 0 | 173 | 21845 | +| 35 | -21846 | 0 | 174 | 21845 | +| 35 | -21846 | 0 | 175 | 21845 | +| 35+ | 21845 | 1 | 172 | -21846 | +| 36 | 21845 | 1 | 172 | 21845 | +| 36+ | -21846 | 1 | 173 | 21845 | +| 37 | -21846 | 1 | 173 | -21846 | +| 37+ | -21846 | 0 | 168 | 21845 | +| 38 | -21846 | 0 | 168 | 21845 | +| 38 | -21846 | 0 | 169 | 21845 | +| 38 | -21846 | 0 | 170 | 21845 | +| 38 | -21846 | 0 | 171 | 21845 | +| 38 | -21846 | 0 | 172 | 21845 | +| 38 | -21846 | 0 | 173 | -21846 | +| 38 | -21846 | 0 | 174 | 21845 | +| 38 | -21846 | 0 | 175 | 21845 | +| 38+ | 21845 | 1 | 173 | -21846 | +| 39 | 21845 | 1 | 173 | 21845 | +| 39+ | -21846 | 1 | 174 | 21845 | +| 40 | -21846 | 1 | 174 | -21846 | +| 40+ | -21846 | 0 | 168 | 21845 | +| 41 | -21846 | 0 | 168 | 21845 | +| 41 | -21846 | 0 | 169 | 21845 | +| 41 | -21846 | 0 | 170 | 21845 | +| 41 | -21846 | 0 | 171 | 21845 | +| 41 | -21846 | 0 | 172 | 21845 | +| 41 | -21846 | 0 | 173 | 21845 | +| 41 | -21846 | 0 | 174 | -21846 | +| 41 | -21846 | 0 | 175 | 21845 | +| 41+ | 21845 | 1 | 174 | -21846 | +| 42 | 21845 | 1 | 174 | 21845 | +| 42+ | -21846 | 1 | 175 | 21845 | +| 43 | -21846 | 1 | 175 | -21846 | +| 43+ | -21846 | 0 | 168 | 21845 | +| 44 | -21846 | 0 | 168 | 21845 | +| 44 | -21846 | 0 | 169 | 21845 | +| 44 | -21846 | 0 | 170 | 21845 | +| 44 | -21846 | 0 | 171 | 21845 | +| 44 | -21846 | 0 | 172 | 21845 | +| 44 | -21846 | 0 | 173 | 21845 | +| 44 | -21846 | 0 | 174 | 21845 | +| 44 | -21846 | 0 | 175 | -21846 | +| 44+ | 21845 | 1 | 175 | -21846 | +| 45 | 21845 | 1 | 175 | 21845 | +| 45+ | 21845 | 0 | 168 | 21845 | +| 46 | 21845 | 0 | 168 | 21845 | +| 46 | 21845 | 0 | 169 | 21845 | +| 46 | 21845 | 0 | 170 | 21845 | +| 46 | 21845 | 0 | 171 | 21845 | +| 46 | 21845 | 0 | 172 | 21845 | +| 46 | 21845 | 0 | 173 | 21845 | +| 46 | 21845 | 0 | 174 | 21845 | +| 46 | 21845 | 0 | 175 | 21845 | +| 46+ | 21845 | 0 | 42 | 0 | +| 47 | 21845 | 0 | 42 | 0 | +| 47 | 21845 | 0 | 106 | 0 | +| 47 | 21845 | 0 | 170 | 21845 | +| 47 | 21845 | 0 | 234 | 0 | +| 47 | 21845 | 0 | 298 | 0 | +| 47 | 21845 | 0 | 362 | 0 | +| 47 | 21845 | 0 | 426 | 0 | +| 47 | 21845 | 0 | 490 | 0 | +| 47+ | 21845 | 1 | 42 | 0 | +| 48 | 21845 | 1 | 42 | 21845 | +| 48+ | 21845 | 1 | 106 | 0 | +| 49 | 21845 | 1 | 106 | 21845 | +| 49+ | 21845 | 1 | 170 | 21845 | +| 50 | 21845 | 1 | 170 | 21845 | +| 50+ | 21845 | 1 | 234 | 0 | +| 51 | 21845 | 1 | 234 | 21845 | +| 51+ | 21845 | 1 | 298 | 0 | +| 52 | 21845 | 1 | 298 | 21845 | +| 52+ | 21845 | 1 | 362 | 0 | +| 53 | 21845 | 1 | 362 | 21845 | +| 53+ | 21845 | 1 | 426 | 0 | +| 54 | 21845 | 1 | 426 | 21845 | +| 54+ | 21845 | 1 | 490 | 0 | +| 55 | 21845 | 1 | 490 | 21845 | +| 55+ | 21845 | 0 | 42 | 21845 | +| 56 | 21845 | 0 | 42 | 21845 | +| 56 | 21845 | 0 | 106 | 21845 | +| 56 | 21845 | 0 | 170 | 21845 | +| 56 | 21845 | 0 | 234 | 21845 | +| 56 | 21845 | 0 | 298 | 21845 | +| 56 | 21845 | 0 | 362 | 21845 | +| 56 | 21845 | 0 | 426 | 21845 | +| 56 | 21845 | 0 | 490 | 21845 | +| 56+ | -21846 | 1 | 42 | 21845 | +| 57 | -21846 | 1 | 42 | -21846 | +| 57+ | -21846 | 0 | 42 | -21846 | +| 58 | -21846 | 0 | 42 | -21846 | +| 58 | -21846 | 0 | 106 | 21845 | +| 58 | -21846 | 0 | 170 | 21845 | +| 58 | -21846 | 0 | 234 | 21845 | +| 58 | -21846 | 0 | 298 | 21845 | +| 58 | -21846 | 0 | 362 | 21845 | +| 58 | -21846 | 0 | 426 | 21845 | +| 58 | -21846 | 0 | 490 | 21845 | +| 58+ | 21845 | 1 | 42 | -21846 | +| 59 | 21845 | 1 | 42 | 21845 | +| 59+ | -21846 | 1 | 106 | 21845 | +| 60 | -21846 | 1 | 106 | -21846 | +| 60+ | -21846 | 0 | 42 | 21845 | +| 61 | -21846 | 0 | 42 | 21845 | +| 61 | -21846 | 0 | 106 | -21846 | +| 61 | -21846 | 0 | 170 | 21845 | +| 61 | -21846 | 0 | 234 | 21845 | +| 61 | -21846 | 0 | 298 | 21845 | +| 61 | -21846 | 0 | 362 | 21845 | +| 61 | -21846 | 0 | 426 | 21845 | +| 61 | -21846 | 0 | 490 | 21845 | +| 61+ | 21845 | 1 | 106 | -21846 | +| 62 | 21845 | 1 | 106 | 21845 | +| 62+ | -21846 | 1 | 170 | 21845 | +| 63 | -21846 | 1 | 170 | -21846 | +| 63+ | -21846 | 0 | 42 | 21845 | +| 64 | -21846 | 0 | 42 | 21845 | +| 64 | -21846 | 0 | 106 | 21845 | +| 64 | -21846 | 0 | 170 | -21846 | +| 64 | -21846 | 0 | 234 | 21845 | +| 64 | -21846 | 0 | 298 | 21845 | +| 64 | -21846 | 0 | 362 | 21845 | +| 64 | -21846 | 0 | 426 | 21845 | +| 64 | -21846 | 0 | 490 | 21845 | +| 64+ | 21845 | 1 | 170 | -21846 | +| 65 | 21845 | 1 | 170 | 21845 | +| 65+ | -21846 | 1 | 234 | 21845 | +| 66 | -21846 | 1 | 234 | -21846 | +| 66+ | -21846 | 0 | 42 | 21845 | +| 67 | -21846 | 0 | 42 | 21845 | +| 67 | -21846 | 0 | 106 | 21845 | +| 67 | -21846 | 0 | 170 | 21845 | +| 67 | -21846 | 0 | 234 | -21846 | +| 67 | -21846 | 0 | 298 | 21845 | +| 67 | -21846 | 0 | 362 | 21845 | +| 67 | -21846 | 0 | 426 | 21845 | +| 67 | -21846 | 0 | 490 | 21845 | +| 67+ | 21845 | 1 | 234 | -21846 | +| 68 | 21845 | 1 | 234 | 21845 | +| 68+ | -21846 | 1 | 298 | 21845 | +| 69 | -21846 | 1 | 298 | -21846 | +| 69+ | -21846 | 0 | 42 | 21845 | +| 70 | -21846 | 0 | 42 | 21845 | +| 70 | -21846 | 0 | 106 | 21845 | +| 70 | -21846 | 0 | 170 | 21845 | +| 70 | -21846 | 0 | 234 | 21845 | +| 70 | -21846 | 0 | 298 | -21846 | +| 70 | -21846 | 0 | 362 | 21845 | +| 70 | -21846 | 0 | 426 | 21845 | +| 70 | -21846 | 0 | 490 | 21845 | +| 70+ | 21845 | 1 | 298 | -21846 | +| 71 | 21845 | 1 | 298 | 21845 | +| 71+ | -21846 | 1 | 362 | 21845 | +| 72 | -21846 | 1 | 362 | -21846 | +| 72+ | -21846 | 0 | 42 | 21845 | +| 73 | -21846 | 0 | 42 | 21845 | +| 73 | -21846 | 0 | 106 | 21845 | +| 73 | -21846 | 0 | 170 | 21845 | +| 73 | -21846 | 0 | 234 | 21845 | +| 73 | -21846 | 0 | 298 | 21845 | +| 73 | -21846 | 0 | 362 | -21846 | +| 73 | -21846 | 0 | 426 | 21845 | +| 73 | -21846 | 0 | 490 | 21845 | +| 73+ | 21845 | 1 | 362 | -21846 | +| 74 | 21845 | 1 | 362 | 21845 | +| 74+ | -21846 | 1 | 426 | 21845 | +| 75 | -21846 | 1 | 426 | -21846 | +| 75+ | -21846 | 0 | 42 | 21845 | +| 76 | -21846 | 0 | 42 | 21845 | +| 76 | -21846 | 0 | 106 | 21845 | +| 76 | -21846 | 0 | 170 | 21845 | +| 76 | -21846 | 0 | 234 | 21845 | +| 76 | -21846 | 0 | 298 | 21845 | +| 76 | -21846 | 0 | 362 | 21845 | +| 76 | -21846 | 0 | 426 | -21846 | +| 76 | -21846 | 0 | 490 | 21845 | +| 76+ | 21845 | 1 | 426 | -21846 | +| 77 | 21845 | 1 | 426 | 21845 | +| 77+ | -21846 | 1 | 490 | 21845 | +| 78 | -21846 | 1 | 490 | -21846 | +| 78+ | -21846 | 0 | 42 | 21845 | +| 79 | -21846 | 0 | 42 | 21845 | +| 79 | -21846 | 0 | 106 | 21845 | +| 79 | -21846 | 0 | 170 | 21845 | +| 79 | -21846 | 0 | 234 | 21845 | +| 79 | -21846 | 0 | 298 | 21845 | +| 79 | -21846 | 0 | 362 | 21845 | +| 79 | -21846 | 0 | 426 | 21845 | +| 79 | -21846 | 0 | 490 | -21846 | +| 79+ | 21845 | 1 | 490 | -21846 | +| 80 | 21845 | 1 | 490 | 21845 | +| 80+ | 21845 | 0 | 42 | 21845 | +| 81 | 21845 | 0 | 42 | 21845 | +| 81 | 21845 | 0 | 106 | 21845 | +| 81 | 21845 | 0 | 170 | 21845 | +| 81 | 21845 | 0 | 234 | 21845 | +| 81 | 21845 | 0 | 298 | 21845 | +| 81 | 21845 | 0 | 362 | 21845 | +| 81 | 21845 | 0 | 426 | 21845 | +| 81 | 21845 | 0 | 490 | 21845 | From 2d438064962b2e0efe2ed4c4f45bbe4c9e788373 Mon Sep 17 00:00:00 2001 From: ATherkel Date: Mon, 6 May 2024 11:56:48 +0200 Subject: [PATCH 3/4] Images for forum question --- nand2tetris/projects/3/BUILTIN_RAM8_0p.PNG | Bin 0 -> 22168 bytes nand2tetris/projects/3/RAM8_0p.PNG | Bin 0 -> 32744 bytes nand2tetris/projects/3/RAM8_1.PNG | Bin 0 -> 32469 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 nand2tetris/projects/3/BUILTIN_RAM8_0p.PNG create mode 100644 nand2tetris/projects/3/RAM8_0p.PNG create mode 100644 nand2tetris/projects/3/RAM8_1.PNG diff --git a/nand2tetris/projects/3/BUILTIN_RAM8_0p.PNG b/nand2tetris/projects/3/BUILTIN_RAM8_0p.PNG new file mode 100644 index 0000000000000000000000000000000000000000..ee790a597e601feec74964f15b7be2d5c4de4e70 GIT binary patch literal 22168 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 Tashb%?9;rVqne|9_xb+-NBzWe literal 0 HcmV?d00001 diff --git a/nand2tetris/projects/3/RAM8_1.PNG b/nand2tetris/projects/3/RAM8_1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..63e8c92aff42a0a0157a0adf0587a152d83c3cb2 GIT binary patch literal 32469 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 z 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 Date: Mon, 6 May 2024 11:56:55 +0200 Subject: [PATCH 4/4] Create project3.zip --- nand2tetris/projects/3/a/project3.zip | Bin 0 -> 4661 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nand2tetris/projects/3/a/project3.zip diff --git a/nand2tetris/projects/3/a/project3.zip b/nand2tetris/projects/3/a/project3.zip new file mode 100644 index 0000000000000000000000000000000000000000..66dfe187251cee263f74c5d92ce4f2f507036ace GIT binary patch literal 4661 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