急!急!急!跪求4道汇编语言程序题答案,不甚感激,高分悬赏

来源:百度知道 编辑:UC知道 时间:2024/06/27 23:07:38
1:从键盘上输入并以$结尾的字符串(不超过9个),统计数字字符个数,并显示

2:将一个含9个数据(这九个数不必键盘输入,直接写到源程序里)的数组,正负数的个数分别统计出来,并显示。

3:从键盘输入一个英文字母,并输出其前套和后套,如输入a---->ab,c--->bd,并显示

4:从键盘输入一个字符串,以$结束,并把字符串中的大写变小写,把结果存在首地址xyz中。

1.
DSEG SEGMENT
MSGI DB 'please input a string(<=9):$'
BUF DB 9 DUP(?)
COUNT DB ?
MSG0 DB 0DH,0AH,'the number of digit is:$'
DSEG ENDS
CSEG SEGMENT
assume cs:CSEG, ds:DSEG
MAIN PROC FAR ;主程序入口
mov ax, dseg
mov ds, ax
LEA SI,BUF
MOV CX,9
LEA DX,MSGI
MOV AH,9
INT 21H
NEXT:
MOV AH,1;键盘输入一个字符
INT 21H
CMP AL,'$';判断该字符是否为结束符
JZ TJ
MOV [SI],AL;将字符存入缓冲区
INC SI
CMP AL,30H;判断该字符是否是数字
JB NEXT1
CMP AL,39H
JA NEXT1
INC COUNT;是数字将个数加1
NEXT1:
LOOP NEXT
TJ:
LEA DX,MSG0
MOV AH,9
INT 21H
MOV DL,COUNT;显示数字字符的个数
ADD DL,30H
MOV AH,2
INT 21H
mov ah,1;按任意键退出
int 21h
mov ax, 4c00h ;程序结束,返回到操作系统系统
int 21h
MAIN ENDP
CSEG ENDS
END MAIN
2.
DSEG SEGMENT
BUF DB 1,2,-3,-4,5,6,-7,8,9
PN DB ?
N