实验目的 掌握响铃符的使用方法 二.实验内容 从键盘接收输入字符,如是数字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 STARTJ:JUMP A:Above,大于 B:Below,小于 E:Equal,等与 N:Not,非 组合起来: JA(大于时跳转)等于JNBE(非(小于或等于时跳转)) JE(等于时跳转) JNE(不等于时跳转)