;子程序:字符串的入栈、出栈、显示
;参数说明:(ah)=功能号,0表示入栈,1表示出栈,2表示显示
; ds:si指向字符栈空间
; 对于0号功能:(al)=入栈字符
; 对于1号功能:(al)=出栈字符
; 对于2号功能:(dh)、(dl)表示屏幕上的行和列
assume cs:code
code segment
start:
mov ax, cs
mov ds, ax
mov si, 0
mov dh, 12
mov dl, 40
call getstr
mov ax,4c00h
int 21h
;*******************************************************
;接收字符串输入子程序
getstr:
push ax
getstr_s:
mov ah, 0
int 16h
cmp al, 20h ;al中存放的是扫描码对应的ASCII码
jb nochar ;ASCII码小于20h, 说明不是字符
;字符入栈
mov ah, 0 ;ah: 0号功能 字符入栈、al:为入栈数据
call charstack
;显示栈中的字符
mov ah, 2
call charstack
jmp short getstr_s
nochar:
cmp ah, 0eh ;退格键的扫描码
je backspace
cmp ah, 1ch ;Enter键的扫描码
je enter
jmp short getst
(汇编语言)17.3 字符串的输入
最新推荐文章于 2022-11-18 17:48:37 发布