⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p300.asm

📁 本程序是汇编语言的一些基本功能的组合
💻 ASM
字号:
DATA SEGMENT
 COUNT DW 1
 MSG DB 'The bell is ringing!',0dh,0aH,'$'
DATA ENDS
CODE SEGMENT
 MAIN PROC FAR
 ASSUME CS:CODE,DS:DATA
START:
 MOV AX,DATA
 MOV DS,AX
;------------------
 MOV AL,1CH
 MOV AH,35H
 INT 21H
 PUSH ES
 PUSH BX

 PUSH DS
;------------------
 MOV DX,OFFSET RING;LEA DX,RING
 MOV AX,SEG RING
 MOV DS,AX
 MOV AL,1CH
 MOV AH,25H
 INT 21H
;------------------
 POP DS
 IN AL,21H
 AND AL,11111110B
 OUT 21H,AL
 STI ;FLAG(IF)=1
;------------------
 MOV DI,60000
DELAY:
 MOV SI,60000
DELAY1:
 DEC SI
 JNZ DELAY1
 DEC DI
 JNZ DELAY
 JMP DELAY
;------------------
 POP DX
 POP DS
 MOV AL,1CH
 MOV AH,25H
 INT 21H
;------------------
 MOV AX,4C00H ;MOV AH,4CH
 INT 21H
MAIN ENDP
;---------------------------------

RING PROC NEAR
 PUSH DS
 PUSH AX
 PUSH CX
 PUSH DX

 MOV AX,DATA
 MOV DS,AX

 STI

 DEC COUNT
 JNZ EXIT

 MOV DX,OFFSET MSG; LEA DX,MSG
 MOV AH,9
 INT 21H

 MOV DX,100
 IN AL,61H
 AND AL,0FCH; AND AL,11111100B
SOUND:
 XOR AL,00000010B
 OUT 61H,AL
 MOV CX,1400H
WAIT1:
 LOOP WAIT1
 DEC DX
 JNE SOUND
 
 MOV COUNT,91

EXIT:
 CLI
 POP DX
 POP CX
 POP AX
 POP DS
 IRET
RING ENDP
;----------------
CODE ENDS
 END START








⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -