为什么它不显示我输入的确切字符串,当它不是10个字母的单词?

时间:2018-03-20 15:23:38

标签: string assembly tasm

即时通讯使用tasm 1.4汇编语言。每当我接受10个最大字母单词时,这真的很烦我,如果用户只输入5个字母,屏幕上就不会显示任何内容。但是当用户键入6个字母的单词时,如#34; aaaaaa"输出将是" AA&#34 ;.一开始有4个空格。如果用户键入8个字母的单词,如" aaaaaaaa",则输出为" AAAAAA&#34 ;.最后,但如果用户键入10个字母的单词,如" aaaaaaaaaa",输出将是相同的。

问题是,如果用户输入少于10个字母单词,为什么在开头有空格?

.model small
.stack 120h
.data

aname label byte
asize db 11
aactual db ?
atext db 11 dup (" "),"$"

ent db 13,10, "Enter a 10 letter word: $"

.code

mov ax,@data
mov ds,ax

mov ax,03
int 10h

;displaying the prompt message
mov ah,09
lea dx,ent
int 21h


;accepting input strings
mov ah,10
lea dx,aname
int 21h

;moving the text below to so that it dont overlap with the prompt message
mov ah,02
mov bx,0
mov dl,0
mov dh,2
int 10h

;displaying the user input
mov ah,09
lea dx,atext
int 21h


mov ah,4ch
int 21h

end

0 个答案:

没有答案