oktava = 2 ; [1-3] include 'win32ax.inc' ; you can simply switch between win32ax, win32wx, win64ax and win64wx here do1 equ 65 do1_diez equ 69 re1 equ 73 re1_diez equ 78 mi1 equ 82 fa1 equ 87 fa1_diez equ 92 sol1 equ 98 sol1_diez equ 104 lya1 equ 110 lya1_diez equ 117 sii1 equ 123 ;================== do2 equ 130 do2_diez equ 139 re2 equ 147 re2_diez equ 156 mi2 equ 165 fa2 equ 175 fa2_diez equ 185 sol2 equ 196 sol2_diez equ 208 lya2 equ 220 lya2_diez equ 233 sii2 equ 247 ;================== do3 equ 261 do3_diez equ 277 re3 equ 293 re3_diez equ 311 mi3 equ 330 fa3 equ 349 fa3_diez equ 370 sol3 equ 392 sol3_diez equ 415 lya3 equ 440 lya3_diez equ 466 sii3 equ 493 ;================== do4 equ 523 do4_diez equ 554 re4 equ 587 re4_diez equ 622 mi4 equ 659 fa4 equ 698 fa4_diez equ 740 sol4 equ 784 sol4_diez equ 831 lya4 equ 880 lya4_diez equ 932 sii4 equ 988 ;==================== do5 equ 1046 do5_diez equ 1109 re5 equ 1175 re5_diez equ 1245 mi5 equ 1319 fa5 equ 1397 fa5_diez equ 1480 sol5 equ 1568 sol5_diez equ 1661 lya5 equ 1760 lya5_diez equ 1865 sii5 equ 1976 ;==================== D1 equ 1000 D2 equ 500 D3 equ 250 D4 equ 125 .data if oktava=1 music dw sii1,D2,sii1,D2,sii1,D2,sol1,D3+50,\ re2,D3-50,sii1,D2+100,sol1,D3+50,re2,D3-50,sii1,D2+100,NULL,100,\ fa3_diez,D2,fa3_diez,D2,fa3_diez,D2,sol3,D3+50,\ re3,D3-50,lya2_diez,D2+100,sol2,D3+50,re3,D3-50,sii2,D2+100,\ sii3,D2,sii2,D2+100,sii2,D3,sii3,D2+50,lya3_diez,D2-100,\ sol2,D4,fa2_diez,D4,sol2,D2,\ do3,D2,fa3,D2+100,mi3,D3,re3_diez,D2+50,\ re3,D4,do3_diez,D4,re3,D2,\ sol2,D3-50,lya2_diez,D2-100,sol2,D2-100,lya2_diez,D3-50,\ re3,D2,sii2,D2-100,re3,D3,sii2,D1 else if oktava=2 music dw sii2,D2,sii2,D2,sii2,D2,sol2,D3+50,\ re3,D3-50,sii2,D2+100,sol2,D3+50,re3,D3-50,sii2,D2+100,NULL,100,\ fa4_diez,D2,fa4_diez,D2,fa4_diez,D2,sol4,D3+50,\ re4,D3-50,lya3_diez,D2+100,sol3,D3+50,re4,D3-50,sii3,D2+100,\ sii4,D2,sii3,D2+100,sii3,D3,sii4,D2+50,lya4_diez,D2-100,\ sol3,D4,fa3_diez,D4,sol3,D2,\ do4,D2,fa4,D2+100,mi4,D3,re4_diez,D2+50,\ re4,D4,do4_diez,D4,re4,D2,\ sol3,D3-50,lya3_diez,D2-100,sol3,D2-100,lya3_diez,D3-50,\ re4,D2,sii3,D2-100,re4,D3,sii3,D1 else if oktava=3 music dw sii3,D2,sii3,D2,sii3,D2,sol3,D3+50,\ re4,D3-50,sii3,D2+100,sol3,D3+50,re4,D3-50,sii3,D2+100,NULL,100,\ fa5_diez,D2,fa5_diez,D2,fa5_diez,D2,sol5,D3+50,\ re5,D3-50,lya4_diez,D2+100,sol4,D3+50,re5,D3-50,sii4,D2+100,\ sii5,D2,sii4,D2+100,sii4,D3,sii5,D2+50,lya5_diez,D2-100,\ sol4,D4,fa4_diez,D4,sol4,D2,\ do5,D2,fa5,D2+100,mi5,D3,re5_diez,D2+50,\ re5,D4,do5_diez,D4,re5,D2,\ sol4,D3-50,lya4_diez,D2-100,sol4,D2-100,lya4_diez,D3-50,\ re5,D2,sii4,D2-100,re5,D3,sii4,D1 end if len_music = $-music .code start: cld mov esi,music mov ecx, len_music/4 xor ebx,ebx m1: lodsd mov bx,ax shr eax,16 push ecx invoke Beep,ebx,eax pop ecx loop m1 invoke ExitProcess,0 .end start