DB 1024 DUP(0)
STACK ENDS
DATA SEGMENT
TABF DW 262,350,352,350,441,393,350,393,441
DW 350,352,441,525,589,588,589,525,441
DW 440,350,393,350,393,441,350,293,294,262
DW 350,589,525,441,440,350,293,350,393,589
DW 525,441,440,525,589,700,525,441,440,350
DW 393,350,393,441,350,294,292,262,350,0
TABT DB 4,4,6,2,4,4,6,2,4,4
DB 6,2,4,4,12,1,3,6,2
DB 4,4,6,2,4,4,6,2,4,4
DB 12,4,6,2,4,4,6,2,4,4
DB 6,2,4,4,12,4,6,2,4,4
DB 6,2,4,4,6,2,4,4,12
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE,DS: DATA
BEG: MOV AX,DATA
MOV DS,AX
OPEN: IN AL,61H
OR AL,00000011B
OUT 61H,AL
AGA: MOV SI,OFFSET TABF
MOV DI,OFFSET TABT
LAST: CMP WORD PTR[SI],0
JE AGA
MOV DX,12H
MOV AX,34DEH
DIV WORD PTR[SI]
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
CALL WAITF
ADD SI,2
INC DI
MOV AH,1
INT 16H
JZ LAST
COLSE: IN AL,61H
AND AL,11111100B
OUT 61H,AL
MOV AH,4CH
INT 21H
WAITF PROC NEAR
PUSH AX
WAITF1:
IN AL,61H
AND AL,10H
CMP AL,AH
JE WAITF1
MOV AH,AL
LOOP WAITF1
POP AX
RET
WAITF ENDP
CODE ENDS
END BEG
9 个解决方案
#1
这个是单片机的吧。嘿嘿。
楼主...........
楼主...........
#2
应该还是AVR单片机的吧
#3
一句一句的看呗 把功能结构整清楚
#4
X86/PC的......不过我也不懂......
#5
直接打电话问高手,^_^
#6
好像是奏乐程序...........猜的,,,,,
#7
关注
#8
86的汇编吧,好像是读键奏乐的,已经忘了21h中断什么的作用了!
#9
我知道汇编语言,嘿嘿 具体的我也不是很清楚
#1
这个是单片机的吧。嘿嘿。
楼主...........
楼主...........
#2
应该还是AVR单片机的吧
#3
一句一句的看呗 把功能结构整清楚
#4
X86/PC的......不过我也不懂......
#5
直接打电话问高手,^_^
#6
好像是奏乐程序...........猜的,,,,,
#7
关注
#8
86的汇编吧,好像是读键奏乐的,已经忘了21h中断什么的作用了!
#9
我知道汇编语言,嘿嘿 具体的我也不是很清楚