code segmentassume cs: codeD1 = 131D2 = 147D3 = 165D4 = 175D5 = 196D6 = 220D7 = 247Z1 = 262Z2 = 294Z3 = 330Z4 = 349Z5 = 392Z6 = 440Z7 = 494G1 = 523G2 = 587G3 = 659G4 = 714G5 = 784G6 = 880G7 = 988oldint8 dd oldint9? DD? Time DW 0ASCII DB 10H, 11H, 12H, 13H, 14H, 15H, 16H DB 1Eh, 1FH, 20H, 21H, 22H, 23H, 24H DB 2CH, 2DH, 2EH, 2FH, 30H, 31H, 32HMusic DW D1, D2, D3, D4, D5, D6, D7 DW Z1, Z2, Z3, Z4, Z5, Z6, Z7 DW G1, G2, G3, G4, G5, G6, G7NEWINT8: DEC CS: WORD PTR TIME JZ Closev New8_0: JMP CS: Oldint8 Closev: Push Ax in Al, 61H and Al, 0fdh Out 61h, Al Pop AX JMP New8_0 Voice: MOV CX, AX MOV DX, 12H MOV AX, 34DCH DIV CX Push Ax Mov Al, 0B6H OUT 43H, Al POP AX OUT 42H, Al Xchg Al, Ah OUT 42H, Al in Al, 61h OR Al, 03H OUT 61H, Al Retnewint9: in Al, 60h Push AX IN AL, 61H OR Al, 80H OUT 61H, Al And Al, 7FH OUT 61H, Al Mov Al, 20H OUT 2 0H, Al STI POP AX Push AX CMP Al, 80H JB New90 MOV CS: Word PTR Time, 04H JMP Quit New90: Push CS Pop Es Mov Di, Offset ASCII MOV CX, 22D CLD RepNZ Scasb JCXZ Quit Sub Di, Offset ASCII DEC DI SHL DI, 1 MOV AX, ES: [DI MUSIC] MOV CS: Word PTR Time, 0H Call Voice Quit: Pop AX CMP AL, 01H JNZ MEUN LDS DX, CS: Oldint8 MOV AX, 2508H INT 21h LDS DX, CS: Oldint9 MOV AX, 2509H INT 21h MOV AX, 4C00H INT 21HMEUN: STI JMP Meun