回 帖 发 新 帖 刷新版面

主题:输入一段字符串?

.model small
.data
buffer db 81
db 0
db 81 dup(0)
.code 
.startup
lea dx,buffer
mov ah,0ah
int 21h
mov byte ptr buffer,'w'
mov ah,2
int 21h
.exit 0
end
我想问一下各位,DOS调用之后的第一个字符到底放在那个位置上呢?是在buffer,还是在buffer+1还是在buffer+2?如何用T单步调试呢?你是如何得知你的结论呢?
请指教1

回复列表 (共4个回复)

沙发

DOS调用之后的第一个字符放在buffer+2

buffer+1 放的是输入的字符串的实际长度!

当大于[buffer]时 系统发出警告声音,这是不能输入字符 

板凳

你是如何得知的呢?请指教

3 楼

你仔细看关于输入字符串的那一节  在“ibm 汇编程序设计”第一版 235页 第9.1.3.2 那一节的内容

4 楼

哦,谢了,

我来回复

您尚未登录,请登录后再回复。点此登录或注册