0
我想創建在LC3彙編程序計數字符串以下列方式長度:LC3裝配如何計算字符串長度
- 所有的數據都已經某處存儲在內存中。
- 存在一個變量,其中存儲了字符串的第一個元素的地址。 (由於缺乏組裝知識,我提前表示道歉,因爲這種情況不稱爲「變量」。)
- 輸出(字符串的長度)必須存儲在R0。
我做了一個嘗試,但結果令人失望。這裏是我的代碼:
.ORIG X3000
AND R0,R0,#0 ;R0 has the output(lenght)
LEA R1,ZERO ;R1 always has an adress of an element of the string
LOOP LDR R2,R1,#0 ;R2 has the contex of that adress
BRZ FINISH ;if R2=0,then we have found end of string
ADD R0,R0,#1 ;if not,increase the lenght by 1.
ADD R1,R1,#1 ;increase the adress by one
BRznp LOOP
FINISH
HALT
ZERO .FILL x5000 ;i chose a random rocation.I don't even know how to store a string in memory to run this program.
.END ;do i need any ASCII-decimal transformation or something similar?
其實,我想,我的計劃是一塊garbage.This的是我program.I新版本假設X0000是string.I的結束是在LC3共初學者部件。我如何計算那個長度?
你應該評論你的代碼,特別是如果你想讓別人幫忙。此外,單步它在你的模擬器,看看它出錯的地方。不要忘記告訴我們你卡在哪裏。 – Jester
我剛剛上傳了我的程序的新版本,帶有一些意見 – user3697730
您能比*更具體嗎?*結果令人失望*?什麼是您的代碼預期的輸入/輸出,以及您得到什麼結果爲特定輸入*令人失望*? – lurker