2
我有這段彙編代碼來接受一個字符串並顯示字符串返回。彙編代碼顯示字符串
我的問題是我無法弄清楚如何在name1
中存儲名稱,因爲我們使用buff來存儲來自用戶的輸入。
我知道
buff label byte
maxchar db 50
readchar db 0
name1 db 48 dup(0)
是得到的東西與此有關。但我無法理解工作。
.model small
.stack
.data
buff label byte
maxchar db 50
readchar db 0
name1 db 48 dup(0)
m1 db 10,13,"enter name: $"
m2 db 10,13,"your name is: $"
.code
mov ax, @data
mov ds, ax
lea dx, m1
mov ah, 09
int 21h
lea dx, buff
mov ah, 10
int 21h
mov ah,0
mov al, readchar
add ax, 2
mov si, al
mov buff[si],24H ;ascii code for $ to terminate string
lea dx, m2
mov ah, 9
int 21h
lea dx, name1
mov ah, 09
int 21h
mov ah, 4ch
int 21h
end
請大家幫忙!
謝謝。
此外,它可能應該是'mov si,ax',而不是'mov si,al'。只有'movsx'和'movzx'可以將一個8位寄存器值移動到一個16位寄存器,'mov'不能。 – 2011-12-29 08:03:00
非常感謝:)清除了我的疑問! – 2011-12-29 08:13:13