MOV DL,AL ADD DL,30H MOV AH,2 INT 21H POP AX B_D
CODE MOV DL,AH ADD DL,30H MOV AH,2 INT 21H RET ENDP ENDS END BEGIN
六、实验结果与分析
大写的英文字符A~Z的ASCII码是41H~5AH,小写的英文字符a~z的ASCII码是61H~7AH,如果一个字符的ASCII码在这两个范围内,则满足要求。
七、实验体会
通过此次的实验更加加强了我对ASCII码转换的应用,以后可以对这个问题,有更深的了解,而且我能很快的用它进行查找,很有收获。
实验四 DOS输入输出功能的使用
一、实验目的
1.掌握8086汇编语言程序的汇编、链接、运行的方法。 2.掌握用软中断调用DOS输入输出功能的方法。 3.掌握将二进制数转换成十进制数的编程方法。 二、实验设备
计算机一台。预装Windows XP、宏汇编MASM5。 三、实验内容
程序开始 DB定义一个字符串 将字符串的长度转换成十进制 MOV DL,字符ASCII码
“$”结束 四、程序清单
DATA SEGMENT
STRING1 DB '1234567890ABCDEFG','$' ;准备显示的字符串 COUNT DB $-STRING1-1 ;上面字符串的长度 DATA ENDS
STACK STACK CODE START BEGIN: SEGMENT PARA STACK 'STACK' DB 100 DUP(100) ENDS SEGMENT PROC FAR
ASSUME CS:CODE, SS:STACK,DS:DATA PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX
LEA DX,STRING1 ;输出字符串 MOV AH,9 INT 21H
;输出回车和换行符,以实现另起一行 MOV DL,0DH ;输出回车命令
MOV AH,2 INT 21H
MOV DL,0AH ;输出换行命令 MOV AH,2 INT 21H
MOV AL,COUNT ;将字符串长度转换成3位十进制数输MOV AH,0 ;高8位补0 MOV CL,100
DIV CL ;除以100获得百位数 PUSH AX ;暂存结果和余数 MOV DL,AL
ADD DL,30H ;换成ASCII码 MOV AH,2 ;输出字符到屏幕 INT 21H
POP AX ;恢复结果和余数 MOV AL,AH ;余数作为被除数 MOV AH,0 MOV CL,10
DIV CL ;除以10获得十位数 PUSH AX
出