nand2tetris

    -1熱度

    1回答

    所以,我正在閱讀這本書中的計算系統元素(和做課程)。我正在嘗試編寫一個黑客程序來黑屏。這是我得到的。 @16384 D=A @current M=D @24576 D=A @end M=D @current D=M (BEGIN) @end D=M-D @END D;JEQ @current D=M A=M M=1 A=A+1 D=A @curre

    1熱度

    1回答

    尾翼警報:包含從Memory.hdl(項目5)的簡短代碼段。 我收到了這個問題標題中列出的錯誤,但我確定它與將內部元件的輸出引腳連接到芯片的輸入引腳無關。 下面是創建錯誤的代碼。到目前爲止,程序中沒有其他代碼。 CHIP Memory { IN in[16], load, address[15]; OUT out[16]; PARTS: DMux(in=l

    1熱度

    1回答

    我使用的語言是Jack,作爲Nand2Tetris課程的一部分。 這編譯併產生我希望在運行時輸出: class Main { function void main() { var Foo f; do f.doSomething(); return; } } class Foo { method void doSomething

    0熱度

    1回答

    class Main { function void main() { var String foo; let foo = "bar"; if (foo == "bar") { do Output.printString("true"); } else { do Output.printString("false

    0熱度

    1回答

    這是輸出false而不是true。爲什麼是這樣? class Main { function void main() { var String foo; let foo = "bar"; if (foo = "bar") { do Output.printString("true"); } else { do O

    1熱度

    1回答

    我正在參加Nand-2-Tetris課程。我們被要求編寫和彙編。 C命令的類型爲dest=comp;jump,其中每個部分都是可選的。 我試圖編寫一個正則表達式來使一切變得更容易 - 我希望能夠在給定行上編譯表達式,並且只需通過組編號就知道我正在使用的表達式的哪一部分。例如,對於表達式:A=M+1;JMP我想獲得group(1) = A,group(2) = M和group(3) = JMP。 我

    0熱度

    1回答

    我不太確定爲什麼我的Nand2tetris模擬器不斷告訴我第3行錯誤。 誰能告訴我任何問題,用下面的代碼: CHIP Xor { IN a, b; OUT out; PARTS: Not(in=a, out=nota); Not(in=b, out=notb); And(a=a, b=notb, out=m); And(a=n

    2熱度

    2回答

    我正在爲基於Nand2Tetris課程的DMux編寫hdl代碼。 CHIP DMux { IN in, sel; OUT a, b; PARTS: And(a = sel, b = in, out = b); Not(in = sel, out = selNot); And(a = in, b = selNot, out = a); } 由於某種原因,此代碼在測試腳本值in =

    0熱度

    1回答

    如果指向堆棧中下一個位置的指針在Ram [SP]/[0]中被激怒,那麼如何指示計算機在hack中打開位置? 我試圖 @0 D=M @D ,但沒有包括在存儲在RAM開口地址[0] 我如何讓它訪問存儲在RAM中的RAM地址[0] 謝謝

    1熱度

    1回答

    如果我不知道確切的行號,那麼如何跳過2條黑客命令?其中我想跳轉到的代碼。 例如。 [email protected] 31.D;JGT 32.M=M-1 33.M=M+1 但我不知道行號。我目前在(30),如果D; JGT滿足,我只想跳過下一行代碼(前進2步,而不是1步)。