📄 linlin.asm
字号:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
MSG db 'happy, $'
freq DW -1,96,220,196,262,247
DW 196,196,220,196,294,262
DW 196,196,392,330,262,247,220
DW 349,349,330,262,294,262
DW 196,196,220,196,262,247
DW 196,196,220,196,294,262
DW 196,196,392,330,262,247,220
DW 349,349,330,262,294,262,0
TAB DW -1
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN: MOV Ax,DATA
MOV DS,AX
MOV DX,63H
MOV AL,90H
OUT DX,AL
MOV DX,43H
MOV AL,10110110B
OUT DX,AL
MOV DX,11H
MOV AX,0BD04H
DIV WORD PTR[SI]
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
AA: MOV DX,60H
IN AL,DX
AND AL,00000001B
JZ QUIT
AGA: MOV sI,OFFSET freq
LAST: CMP WORD PTR[SI],0
JE AGA
CALL DELLY
ADD SI,2
MOV AH,06H
MOV BX,OFFSET MSG
INT 10H
MOV DX,60H
IN AL,DX
AND AL,00000001B
JZ QUIT
JMP LAST
QUIT:MOV SI,OFFSET TAB
CALL DELLY
JMP AA
DELLY PROC
PUSH AX
PUSH CX
MOV CX,0FFFFH
M:MOV AX,0000H
LOOP M
POP CX
POP AX
RET
DELLY ENDP
CODE ENDS
END BEGIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -