lc3

    -1熱度

    1回答

    我不知道如何輸入兩位數字並且實際上可以使用它(加,減,AND等)。到目前爲止,我可以輸入我的開始和結束數字作爲字符串,並使用LEA輸出字符串,但我需要它們在寄存器中,以便我們可以將它們從ASCII轉換爲整數並計算總和。我認爲我對總和計算的邏輯很好,但我可能是錯的。到目前爲止,我有這個: .ORIG x3000 AND R0, R0, #0 ; clear R0

    0熱度

    1回答

    數字的2的補數可以通過補充數字並加1獲得。因此,假設值A和B在R0和R1中,三條指令的順序執行「A減B」並將結果寫入R2 ? 這是一本書用於概述LC-3 ISA的示例。 第一行只是爲了更好地解釋二進制數。 NOT(操作碼= 1001),ADD(操作碼= 0001)。操作碼位於[15:12]。位[11:9]指定目標寄存器。位[8:6]指定源寄存器。位[5]指定指令是使用立即尋址模式(如果位[5] =

    0熱度

    1回答

    我試圖在一個字符串的同一行輸入單個字符,然後用一個字符串在一行上輸出該字符。我已經嘗試過GETC和PUTC,但是我得到了'0我對這個LC-3的東西真的很陌生,並且非常感謝一些幫助在路上克服這個碰撞。 這是我到目前爲止。 .ORIG x3000 ;start assembly directive MyMain lea r0, input ;point to input st

    0熱度

    1回答

    我想在LC3中製作2D陣列。到目前爲止,我正在考慮使用.BLKW初始化一塊內存,然後將其加載到每個條目的另一個數組中。這似乎並不會讓我走上正軌。有什麼建議麼?

    0熱度

    1回答

    我正在創建一個代碼來計算矩形的面積。我已經完成了乘法,但它只顯示數字0-9。我的教授說,爲了顯示2位數字,我需要在一個循環中減去10,並計算循環發生的次數。我試了一下,它不起作用有人可以幫助我。 .ORIG x3000 AND R3, R3, #0 ;r3 stores the sum, set r3 to zero AND R4, R4, #0 ;r4 is the counter LD

    0熱度

    1回答

    我的下面的代碼應該只是打印一個提示,但是它會打印一堆y字符。任何想法我做錯了什麼? CODE: startPrompt .STRINGZ "Enter 'E' to encrpyt, 'D' to decrpyt, X to quit\n" startPromptAddress .FILL startPrompt LDI R0, startPromptAddress PUTS

    0熱度

    1回答

    編輯:原來的問題是 假設以下LC-3程序被加載到存儲器中,起始 位置x30FF: x30FF 1110 0010 0000 0001 X3100 0110 0100 0100 0010 x3101 1111 0000 0010 0101 x3102 0001 0100 0100 0001 x3103 0001 0100 1000 0010 如果執行該程序,什麼是 執行結束R2中的值? x30FF

    0熱度

    1回答

    我需要能夠接受兩個用戶輸入並將它們存儲在LC3程序集中的相同內存位置。例如,如果用戶鍵入GO,我需要將G存儲在一個寄存器中,將O存儲在另一個寄存器中,但將它們組合在同一個存儲單元中。實質上,與PUTSP功能相反。我不明白你如何在0-8位置1,並指定另一位進入9-15位,這樣PUTSP函數就會運行,它們將被打印爲GO。

    0熱度

    1回答

    我正在寫一個LC-3文件,該文件應該能夠:獲取字符串的長度,複製字符串,連接兩個字符串,並比較兩個字符串。 我相信我有正確的字符串長度和字符串複製子程序,但最後兩個給我很多麻煩。我認爲我應該工作,但它不是,我曾嘗試改變事物和測試,但不幸的是我沒有做的工作。 我只是將我的代碼發佈到GitHub Gist中,並提供詳細說明我認爲應該發生的事情的註釋,如果任何人有時間檢查並提供關於出現問題和如何解決問題

    1熱度

    1回答

    嗨Stackoverflow我正在回顧一些我們的教授留給我們研究的示例代碼,並且我在理解代碼的一些含義時遇到了一些問題,並且它無助於他的一些評論模糊。第一個是R3,R1,0;檢查行結束,我沒有得到的第二件事實際上是placeolnul開始背後的邏輯,最後是negeol的.fill值,這似乎奇怪的具體,但我不知道爲什麼。如果你真的可以幫助我解決這些問題,它會幫助我更好地理解代碼。 .orig x30