选题:为掌握字符和数据的现实方法。编写程序,先显示提示信息:“INPUT STRING”,"THE END FLAG IS $"再接收字符。如为0-9,则计数器加1,并显示数据,若为非数字,则直接显示,但不计数。
一、实验目的
结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对计算机原理知识的具体应用,学会对系统中DOS和BIOS的使用,学会使用屏幕编辑程序—MASM,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。
二、实验程序
DATA SEGMENT ;数据段
STR1 DB 'INPUT STRING ',0DH,0AH,'$'
STR2 DB 'THE END FLAG IS $',0DH,0AH,'$'
SHUZI DB 0DH,0AH,'THE NUMBER OF FIGURE IS ',0DH,0AH,'$'
A D
B ?
DATA ENDS
CODE SEGMENT ;代码段
ASSUME CS:CODE,DS:DATA
START: MOV DX,DATA
MOV DS,DX ;初始化
MOV BL,0
MOV DX,OFFSET STR1
MOV AH,9H
INT 21H ;显示字符串STR
MOV DX,OFFSET STR2
MOV AH,9H
INT 21H ;显示字符串EN
SHURU: MOV AH,7
INT 21H ;从键盘输入字符
CMP AL,'$'
JE EXIT
CMP AL,0DH
JE EXIT ;为字符‘$'和回车结束
CMP AL,30H
JL ZIFU
CMP AL,39H ;判断是否数字0~9
JG ZIFU
INC BL
MOV AH,2
MOV DL,AL
INT 21H ;数字时BL自加,并显示该数字
JMP SHURU
ZIFU: MOV AH,2
MOV DL,AL
INT 21H ;非数字字符,只显示,不计数