版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39071593/article/details/83317150
响铃程序
实验目的
掌握响铃符的使用方法
二.实验内容
从键盘接收输入字符,如是数字N,则响铃N次,如不是数字,则不响。
三.程序框图
如图4.1所示。
四.实验报告
1.简述本次实验的内容。
2.画出编程流程图。
3.编写程序并注释。
4.写出自己在调试过程中遇到的难点及如何解决等心得体会。
提示:
只有代码段的完整程序结构:
CODE SEGMENT
ASSUME CS:CODE
START:
……
CODE ENDS
END START
等待输入代码: 键盘输入ASCII码给al
MOV AH,01H
INT 21H
Ctrl+C复合键的ASCII码是03H
给DL赋值可以显示某个字符或响铃,响铃的ASCII码是07H,回车是0DH,换行是0AH
MOV AH,02H
MOV DL,??H
INT 21H
延时时间不够请采用多重循环
以下程序作为结束返回DOS
MOV AH,4CH
INT 21H
具体INT 21H的应用请参考理论教材137-139页
我的代码:
CODES SEGMENT
ASSUME CS:CODES
START:
;DOS系统功能调INT 21H
A:MOV AH,01H ;01H号键盘输入功能07H也行
INT 21H ;AL输入字符ASCII码,同时屏幕显示该字符
CMP AL,03H ;比较AL和03H
JE DOS ;JE相等则跳DOS
;JNE不相等则跳
CMP AL,30H ;"0~9"的ASCII码为30H~39H
JNA A ;"<"小于30H则跳转到A区代码
CMP AL,39H
JA A ;">"大于39H则跳转到A区
MOV AH,00H ;记得AH清零
MOV BP,AX
B:MOV AH,02H
MOV DL,03H
INT 21H
DEC BP
CMP BP,30H
JZ A ;等于0时跳转
JNZ B ;不等于0时跳转
DOS:MOV AH,4CH ;程序结束
INT 21H
CODES ENDS
END START
J:JUMP
A:Above,大于
B:Below,小于
E:Equal,等与
N:Not,非
组合起来:
JA(大于时跳转)等于JNBE(非(小于或等于时跳转))
JE(等于时跳转)
JNE(不等于时跳转)