|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2009, 08:00 | #1 |
Регистрация: 28.10.2009
Сообщений: 3
|
Нужен комментарий к программе
Есть программа, но никак не могу в ней разобраться. Напишите пожалуйста коментарий с подробным объяснением. Заранее спасибо!
{$M $4096,0,4096} {$g+} uses dos ; const Sounds: array[0..83] of Word = ( 1, {scancode=0} 1, { Esc } 1, { 1 } 2152,{ 2 } 1918,{ 3 } 1, { 4 } 1612,{ 5 } 1437,{ 6 } 1280,{ 7 } 1, { 8 } 1076,{ 9 } 959, { 0 } 1, { - } 806, { + } 1, { Backspace } 1, { Tab } 2280,{ q } 2032,{ w } 1810,{ e } 1708,{ r } 1522,{ t } 1356,{ y } 1208,{ u } 1140,{ i } 1016,{ o } 905, { p } 854, { [ } 761, { ] } 1, { Enter } 1, { Ctrl } 1, { a } 4305,{ s } 3835,{ d } 1, { f } 3225,{ g } 2873,{ h } 2560,{ j } 1, { k } 2152,{ l } 1918,{ ; } 1, { ' } 1, { ` } 1, { Left Shift } 719, { \ } 4559,{ z } 4063,{ x } 3620,{ c } 3417,{ v } 3044,{ b } 2712,{ n } 2416,{ m } 2280,{ , } 2032,{ . } 1810,{ / } 1, { Right Shift } 1, { Num * } 1, { Alt } 1, { Space } 1, { Caps Lock } 1, { F1 } 1, { F2 } 1, { F3 } 1, { F4 } 1, { F5 } 1, { F6 } 1, { F7 } 1, { F8 } 1, { F9 } 1, { F10 } 1, { Num Lock } 1, { Scroll Lock } 1, { Num 7 } 1, { Num 8 } 1, { Num 9 } 1, { Num - } 1, { Num 4 } 1, { Num 5 } 1, { Num 6 } 1, { Num + } 1, { Num 1 } 1, { Num 2 } 1, { Num 3 } 1, { Num 0 } 1 { Num . } ); var OldIntKeyVect: procedure; OldIntTimVect: procedure; LampPeriod,kod:byte; accum,on,off:word; lampState :boolean; SoundDelay:byte; procedure NewIntKeyVect;interrupt;assembler; asm in al,60h test al,10000000b jnz @end1 MOV DX,378H OUT DX,AL mov off,1 mov on,65535 mov kod,al mov accum,20 mov bl,al xor bh,bh add bx,bx mov al,10110110b out 43h,al mov ax, [offset sounds+bx] out 42h,al mov al,ah out 42h,al in al,61h or al,00000011b out 61h,al mov SoundDelay,5 @end1: pushf call OldIntKeyVect end; procedure NewIntTimVect;interrupt;assembler; asm cmp SoundDelay,0 jz @C dec SoundDelay jnz @C in al,61h and al,11111100b out 61h,al @C: dec LampPeriod jnz @Miganie mov LampPeriod,4 xor ax,ax mov es,ax mov bl,0 xor LampState,true jz @LampOff mov bl,[es:417h] shr bl,4 and bl,7 @LampOff: @Wl1: in al,64h and al,10b jnz @Wl1 mov al,0EDh out 60h,al @Wl2: in al,64h and al,10b jnz @Wl2 mov al,bl out 60h,al @Miganie: pushf call OldIntTimVect end; Begin asm mov accum,0 mov LampPeriod,4 xor ax,ax mov es,ax mov ax,[es:20h] mov dx,[es:22h] mov OldIntTimVect.word,ax mov OldIntTimVect.word+2,dx mov ax,[es:24h] mov dx,[es:26h] mov OldIntKeyVect.word,ax mov OldIntKeyVect.word+2,dx cli mov ax,offset(NewIntTimVect) mov dx,seg(NewIntTimVect) mov [es:20h],ax mov [es:22h],dx mov ax,offset(NewIntKeyVect) mov dx,seg(NewIntkeyVect) mov [es:24h],ax mov [es:26h],dx sti mov LampState,false mov ax,3 int 10h end; readln; keep(0); end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Комментарий к Брезенхейму | stscolt | Помощь студентам | 2 | 27.10.2009 21:38 |
Как в комментарий Msgboxса вставить перенос строки в нужном месте? | Oooleg | Microsoft Office Excel | 3 | 23.07.2009 13:32 |
#Delphi Нужен комментарий к программе | forumu | Фриланс | 4 | 03.06.2008 10:46 |
как добавить комментарий к статье после самой статьи? | Gorychev | PHP | 4 | 21.04.2008 22:22 |
Файлы в программе. | Kukkk | Общие вопросы Delphi | 3 | 25.12.2007 21:09 |