王者荣耀宫本武藏头像:这个程序哪错了

来源:百度文库 编辑:高校问答 时间:2024/05/05 23:43:31
STACK SEGMENT
STR DW 50 DUP(?)
STACK ENDS
DATA SEGMENT
FREQUENCY DW 330,330,349,392,392,349,330,294
DW 262,262,294,330,330,294,294
DW 330,330,349,392,392,349,330,294
DW 262,262,294,330,294,262,262
DW 294,294,330,262,294,330,349,330,262
DW 294,330,349,330,294,262,294,196
DW 330,330,349,392,392,349,330,349,294
DW 262,262,294,330,294,262,262,0

TIME DW 6000,6000,6000,6000,6000,6000,6000,6000
DW 6000,6000,6000,6000,12000,3000,9000
DW 6000,6000,6000,6000,6000,6000,6000,6000
DW 6000,6000,6000,6000,12000,3000,9000
DW 6000,6000,6000,6000,6000,3000,3000,6000,6000
DW 6000,3000,3000,6000,6000,6000,6000,6000
DW 12000,6000,6000,6000,6000,6000,6000,3000,3000
DW 6000,6000,6000,6000,12000,3000,9000
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,STACK
MOV SS,AX
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET FREQUENCY
MOV BP,OFFET TIME
CALL PLAY
MOV AH,4CH
INT 21H

PLAY PROC
FREQ: MOV DI,[SI]

CMP DI,0
JE ENDPLAY
MOV BX,DS:[BP]
CALL SOUND
ADD SI,2
ADD BP,2
JMP FREQ
ENDPLAY: RET
PLAY ENDP

SOUND PROC
MOV AL,0B4H
OUT 43H,AL
MOV DX,14H
MOV AX,4F38H
DIV DI
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
IN AL,61H
MOV AH,AL
OR AL,3
OUT 61H,AL
WATING: MOV CX,0CFFFH
DELAY: LOOP DELAY
DEC BX
JNZ WATING
MOV AL,AH
OUT 61H,AL
RET
SOUND ENDP
CODE ENDS
END START

帮忙看看啊

STACK SEGMENT
DW 50 DUP(?)
STACK ENDS

DATA SEGMENT
FREQUENCY DW 330,330,349,392,392,349,330,294
DW 262,262,294,330,330,294,294
DW 330,330,349,392,392,349,330,294
DW 262,262,294,330,294,262,262
DW 294,294,330,262,294,330,349,330,262
DW 294,330,349,330,294,262,294,196
DW 330,330,349,392,392,349,330,349,294
DW 262,262,294,330,294,262,262,0

TIME DW 6000,6000,6000,6000,6000,6000,6000,6000
DW 6000,6000,6000,6000,12000,3000,9000
DW 6000,6000,6000,6000,6000,6000,6000,6000
DW 6000,6000,6000,6000,12000,3000,9000
DW 6000,6000,6000,6000,6000,3000,3000,6000,6000
DW 6000,3000,3000,6000,6000,6000,6000,6000
DW 12000,6000,6000,6000,6000,6000,6000,3000,3000
DW 6000,6000,6000,6000,12000,3000,9000
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,STACK
MOV SS,AX
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET FREQUENCY
MOV BP,OFFSET TIME
CALL PLAY
MOV AH,4CH
INT 21H

PLAY PROC
FREQ: MOV DI,[SI]

CMP DI,0
JE ENDPLAY
MOV BX,DS:[BP]
CALL SOUND
ADD SI,2
ADD BP,2
JMP FREQ
ENDPLAY: RET
PLAY ENDP

SOUND PROC
MOV AL,0B4H
OUT 43H,AL
MOV DX,14H
MOV AX,4F38H
DIV DI
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
IN AL,61H
MOV AH,AL
OR AL,3
OUT 61H,AL
WATING: MOV CX,0CFFFH
DELAY: LOOP DELAY
DEC BX
JNZ WATING
MOV AL,AH
OUT 61H,AL
RET
SOUND ENDP
CODE ENDS
END START