接口技术实验三、响铃程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 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(不等于时跳转)

猜你喜欢

转载自blog.csdn.net/qq_39071593/article/details/83317150