Alp 改变回显的内容
Alp to change what is echoed
.model tiny
.486
.data
max1 db 10
act1 db ?
inp1 db 32 dup(0)
.code
.startup
lea dx, max1
mov ah, 0ah
int 21h
.exit
end
我希望回显 * 而不是我键入的字符。如何做呢?
首先,我想知道你们从哪里得到 ah=0Ah
缓冲区的第二个字节作为 ?
。它是"number of chars from last input which may be recalled",所以你应该将它设置为0(除非你准备了一些数据到缓冲区中以供调用)。
其次,您将不得不不使用此 0Ah
服务,而是 ah=8
stdin _no_echo service 逐个读取字符,并自行输出星号(例如通过 ah=2
服务) . = 所以你必须做你自己的 buffer/loop 逻辑,验证最大长度等...
.model tiny
.486
.data
max1 db 10
act1 db ?
inp1 db 32 dup(0)
.code
.startup
lea dx, max1
mov ah, 0ah
int 21h
.exit
end
我希望回显 * 而不是我键入的字符。如何做呢?
首先,我想知道你们从哪里得到 ah=0Ah
缓冲区的第二个字节作为 ?
。它是"number of chars from last input which may be recalled",所以你应该将它设置为0(除非你准备了一些数据到缓冲区中以供调用)。
其次,您将不得不不使用此 0Ah
服务,而是 ah=8
stdin _no_echo service 逐个读取字符,并自行输出星号(例如通过 ah=2
服务) . = 所以你必须做你自己的 buffer/loop 逻辑,验证最大长度等...