Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++&ASM] Поясните что делаеться


Автор: antonkonikov 22.11.2010, 14:33
Поясните пожалуйста комментариями что происходит в программе:
Код

#include <stdio.h>
#include <conio.h>

void main(){
  char ch=0;
  unsigned char dt;
  clrscr();
  while(ch!=27){
    asm{
      mov dx,0379h
    }
    m1:
      asm{
        in al,dx
        and al,40h
        jnz m1
      }
    m2:
      asm{
        in al,dx
        and al,40h
        jz m2
      }
    dt=0;
    asm{
      mov cx,9
    }
    c1:
      m3:
        asm{
          in al,dx
          and al,40h
          jnz m3
        }
        asm{
          in al,dx
          cmp cx,2
          jl m4
          shr dt,1
          and al,20h
          jz m4
          or dt,80h
        }
      m4:
        asm{
          in al,dx
          and al,40h
          jz m4
          loop c1
        }
    printf("%x ",dt);
    if(kbhit())
      ch=getch();
  }
}



Программа считывает скан код клавиш. Только не пойму что делают асмовские вставки(((
Буду весьма вам благодарен)))      smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)