1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| ;seulement sur win98 car win2000 ne te laisse pas la liberte ;de manipuler lesinterruptions
.model small
.stack 256
.code
ton dw 2712 , 2416 , 2152 , 2032 , 1810 , 1612 , 1437 , 1356
main proc
lea si , ton
tas: mov ah , 0
int 16h
cmp al , 1Bh
je ende
cmp al , "1"
jb tas
cmp al ,"9"
ja tas
sub al , "1"
mov bl , al
xor bh , bh
shl bx , 1
mov bx , cs:[si + bx]
call note
jmp tas
ende: mov ah , 4Ch
int 21h
main endp
note proc
mov al , 0B6h
out 43h , al
mov ax , bx
out 42h , al
mov al , ah
out 42h , al
in al , 61h
or al , 11b
out 61h , al
;xor cx , cx
;11: loop 11
mov dx , 0
mov cx , 2
mov ah , 86h
int 15h
in al , 61h
and al , 1100b
out 61h , al
ret
note endp
end main |