1、middle dw 00h;temp db 00h;colour db 00h;count db 00h;num dw 00h;data endsstacks segment stackdb 50 dup (?)stacks endscode segmentassume cs:code,ds:data,es:data,ss:stacksbegin: mov ax,stacks mov ss,ax mov ax,data ; mov ds,ax mov es,axtest_1:movdx,io8255c ;8255Amoval,9bhoutdx,almovdx,io8255d ;8255Adel
2、ayPA1:inal,dxandal,02h ;俪PA1 1jzdelayPA1 mov dx,offset news_1 ;mov ah,9int 21hcall lu ;mov dx,offset news_2 ; mov ah,9 int 21hdelayPA2:movdx,io8255d ;inal,dxtestal,4h ;PA21 1jzdelayPA2 ;PA21,delayPA2play: call fang ; movdx,io8255d ; inal,dx testal,10h ;PA41 1 jnzplay ;PA31 mov ax,0c07h int 21h cmp a
3、l,53h;S jz over cmp al,73h;s jne playover: mov ah,4ch ;DOS int 21hlu proc near ; mov di,offset data_qu ;DI mov cx,64000 ;64000 mov colour,00h cld;DF = 0xunhuan:mov dx,luport ;A/Dout dx,alcall delay ;in al,dx ;A/DALmov temp,alstosb ;,df0DI1 aldistop:moval,9bhoutdx,al8255Ain al,dxtest al,20h ;PA510jnz
4、stopinc middletest al,40h;jnz laiinc countcmp count,50jz showjmp continueshow:call wavecmp num,7jz clearclear:mov num,0continue:loop xunhuan ;ret lai:call fangret ;lu endp ;fang proc near ; mov cx,middle ;64000 mov si,offset data_qu ;SI mov num,0 mov colour,01h cld;巽 df = 0fang_yin: mov dx,
5、fangport lodsb ; SI洢si+1 call vol;0-10 mov temp,al sub al,30h; mul volume push bx mov bl,10 div bl pop bx out dx,al ; call delay ;stop1:movdx,io8255c ;in al,dxtest al,20h ;jnzstop1inc countcmp count,10jz show1jmp continue1show1:call wavecmp num,7jz clear1jmp continue1clear1:mov num,0continue1:loop f
6、ang_yin ;mov dx,offset news_3 ;ret ; ; fang endpdelay PROC NEAR ;pushdxmoval,10h ;825300movdx,io8253amoval,125 ;125movdx,io8253bdelay1:testal,1 ;PA01jzdelay1 ;PA01,de_laypopdxret ;delay endpvol proc nearpush axpush dxpush cxmov ah,0bh; int 21hcmp al,0ffhjz gojmp gos;Nwait: mov al,39go:mov ah,08mov n
7、b,algos:cmp nb,30hjz vol1cmp nb,31hjz vol2cmp nb,32hjz vol3cmp nb,33hjz vol4cmp nb,34hjz vol5cmp nb,35hjz vol6cmp nb,36hjz vol7cmp nb,37hjz vol8cmp nb,38hjz vol9cmp nb,39hjz vol10vol1: mov volume,1jmp exitvol2: mov volume,2vol3: mov volume,3vol4: mov volume,4vol5: mov volume,5vol6: mov volume,6vol7:
8、 mov volume,7vol8: mov volume,8vol9: mov volume,9vol10: mov volume,10exit: stcpop cxpop dxpop axretvol endpwave proc nearpush sicmp temp,31jbe light1cmp temp,63jbe light2cmp temp,95jbe light3cmp temp,127jbe light4cmp temp,159jbe light5cmp temp,191jbe light6cmp temp,223jbe light7cmp temp,255jbe light
9、8light1:mov al,1hjmp Crowlight2:mov al,3hlight3:mov al,7hlight4:mov al,0fhlight5:mov al,1fhlight6:mov al,3fhlight7:mov al,7fhlight8:mov al,0ffhCrow:mov dx,rowout dx,alcmp colour,00hjz Lyellowmov dx,redjmp goodLyellow:mov dx,yellowgood:mov si,nummov al,ordersi; si pop si pop cx pop dx pop ax add num,1 mov count,0 ret wave endpcode endsend begin
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1