音乐点播程序,要求写出程序开发中遇到的问题,并写出解决方案,其实就是自问自答,问题要两个,并写出相应的解决方案。不多解释了,各位帮忙啊,不胜感激,程序如下:
;**************************************************
STACK SEGMENT PARA STACK 'STACK'
DB 64 DUP('STACK...')
STACK ENDS
;**************************************************
DSEG SEGMENT PARA 'DATA'
MESS1 DB 50 DUP(' '),'Now the music is <<Happy birthday to you>> ',13,10,'$'
MESS2 DB 50 DUP(' '),'Now the music is <<Mary had a little lamb>>',13,10,'$'
MESS3 DB 50 DUP(' '),'Now the music is <<Taihu boat>> ',13,10,'$'
MENU DB 5 DUP(13,10)
DB 5 DUP(' '),'Class:Computer 05-6 Name:lixia NO.:14 ',13,10
DB 5 DUP(''),' ',13,10
DB 5 DUP(''),' ',13,10
DB 5 DUP(' '),' ',13,10
DB 5 DUP(' '),' ~~~~~ ~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~~~~~~ ~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '), '~~~~~~ 1:Happy birthday to you; ~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~ 2:Mary had a little lamb; ~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~ 3:Taihu boat; ~~~ ',13,10
DB 5 DUP(' '),' ~~~ 4:Exit; ~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~ ~~~~~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~~~~~~~~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~~~~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~~~~~ ',13,10
DB 5 DUP(' '),' ~~~~ ',13,10
DB 5 DUP(' '),' ',13,10
DB 5 DUP(' '),' ',13,10
DB 5 DUP(' '),'please chioce the number of music:','$',13,10
change DB 125 DUP(' '),'error! please change anther NO.: ','$'
MUS_FREG dw 262,262,294,262,349,330
dw 262,262,294,262,392,349
dw 262,262,523,440,349,330,294
dw 466,466,440,262,392,349
dw -1
MUS_TIME dw 50,50,100,100,100,200
dw 50,50,100,100,100,200
dw 50,50,100,100,100,100,300
dw 50,50,100,100,100,200
mus_freg1 dw 330,294,262,294,330,330,330
dw 294,294,294,330,392,392
dw 330,294,262,294,330,330,330,330
dw 294,294,330,294,262
dw -1
mus_time1 dw 6 dup(25),50
dw 2 dup(25,25,50)
dw 12 dup(25),100
mus_freg2 dw 330,392,330,294,330,392,330,294,330
dw 330,392,330,294,262,294,330,292,294
dw 262,262,220,196,196,220,262,294,330,262
dw -1
mus_time2 dw 50,50,50,25,25,50,25,25,100
dw 50,50,50,50,25,25,25,25,100
dw 50,50,50,25,25,25,25,25,25,25,100
DSEG ENDS
;**************************************************
CODE SEGMENT PARA 'DATA'
assume cs:code,ds:dseg,ss:stack
music proc far
mov ax,dseg
mov ds,ax
rotate:
call clearscreen
LEA DX,MENU
mov ah, 9