1. 实验要求:
00
为掌握响铃的方法使用。编写程序,从键盘接收输入字符,如是数字N,则响铃N
次;如不是数字,则不响。
0
2. 参考流程:
0
入口 段寄存器及堆栈段初始化 INT 21H的1号子功能,读入数字 Y 是Ctrl—C? N 是‘0’~‘9’? N Y 对应次数送入CX 发出响铃,输出字符 延时 次数BP减1 BP为0? N Y 返回DOS 0
3. 程序清单
0
0DATA SEGMENT
0 DATA1 DB 'input number1-9,quit with ctrl-c',0DH,0AH,'$'
00 DISPP1 DB 0DH,0AH,'$'
DISPP2 DB 'wrong number,please input again or quit with ctrl-c',0DH,0AH,'$'
DATA ENDS
0
STACKS SEGMENT PARA STACK'STACK' STA DW 32 DUP(?) TOP EQU LENGTH STASTACKS ENDS
000
0
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACKS00
START: L1: L2: DELAY: L3: L4: MOV AX,DATA
0 MOV DS,AX
0
MOV AX,STACKS0
MOV SS,AX0 MOV SP,TOP
0
LEA DX,DATA1
0
MOV AH,90
INT 21H0
LEA DX,DISPP1 0
MOV AH,90
INT 21H
0 MOV AH,1
0 INT 21H0
CMP AL,03H
0
JZ L5 0 CMP AL,31H
0 JZ L4
0
CMP AL,39H0
JNZ L4
0
SUB AL,30H0 AND AX,00FFH
0
MOV BP,AX
0 MOV AH,2 0
MOV DL,07H0
INT 21H
0
MOV CX,0FFFFH
0
LOOP DELAY0
DEC DX0
JNZ DELAY0
DEC BP
0
JNZ L20
LEA DX,DISPP1
0MOV AH,9
0
INT 21H0
JMP L1
0
L5: MOV AX,4CH INT 21HCODE ENDS END START
0
0
00
4. 运行结果显示
0
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务