我想在Assembly中創建一個程序,它將從鍵盤讀取一個字符串,然後將每個字母轉換爲另一個表格,然後將其存儲在[201]的表格中。在[200]我有一個字符串的char計數器。以下是我所做的:彙編程序
mov [0300h],88h ;thats the table that I want to convert to.(only 3 digits)
mov [0301h],83h
mov [0302h],0CEh
mov ah,01h ;insert string
int 81h
mov di,01h
start:
mov al,[di]
cmp al,00h ;not
sure about that. last char of string
should be /0.
je end
mov [0200h],di ;char counter.
inc di
mov bx,0300h
sub al,041h
;convert char
xlat
mov [di+01ffh],al
;store converted char to 201...
loop start
end:
**int 81h**
;reads chars until <cr> from keyboard.Starting address of input data buffer ES:DI+1
由於某些原因,在我的程序結束時DI值爲0900。任何想法,爲什麼它不工作,或任何想法,我可以通過任何其他方式?非常感謝。
你可以舉個例子PLZ? thnx – John 2010-11-10 22:21:44
你的代碼假設你的輸入緩衝區從ds開始:[1]。這是真的嗎? – 2010-11-11 00:01:55
我的輸入始於ES:di + 1 – John 2010-11-11 08:51:39