【发布时间】:2011-12-29 07:35:24
【问题描述】:
我有这段汇编代码来接受一个字符串并将字符串显示回来。
我的问题是我无法弄清楚在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
请帮忙!
谢谢。
【问题讨论】: