试设计一程序,该程序从键盘输入一个字符串,输入的字符串最大允许 15 个字符且以回车字符结束(15 个字符含回车符)。同时,如果输入的字符串中有数字字符,则将数字字符删除,并新起一行显示处理后的字符串。
以下是定义好的数据段和堆栈段:
data segment
maxlen db 15;0AH 子功能入口参数,指定最大字符数
inputlen db 0;0AH 子功能出口参数,返回实际输入的字符数
str1 db 15 dup(0);0AH 子功能的字符串缓存区
str2 db 15 dup(0);09H 子功能的字符串缓存区
data ends
stack1 segment stack
dw 40h dup(0)
stack1 ends
提示:
1、如何实现光标新起一行的功能:回车符和换行符搭配使用;
2、数值字符的 ASCII 码范围为 30H~39H。
源代码
assume cs:code, ds:data, ss:stack1
data segment
maxlen db 15;0AH子功能入口参数,指定最大字符数
inputlen db 0;0AH子功能出口参数,返回实际输入的字符数
str1 db 15 dup(0);0AH子功能的字符串缓存区 in
str2 db 15 dup(0);09H子功能的字符串缓存区 out
data ends
stack1 segment
dw 40h dup(0)
stack1 ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov ax, stack1
mov ss, ax
mov sp, 80h
;从键盘输入一个字符串,输入的字符串最大允许15个字符且以回车字符结束(15