html> Programming & Security - Assembler - kurs: Porty
M E N U
Strona główna Assembler -kurs
Assembler -teksty
AntiCracking
API
Opisy narzędzi
Zabezpieczenia CD/DVD
Budowa plików
Sources
Linki
Kontakt

STATYSTYKI

stat4u
PRV.PL - Twoje miejsce w sieci.
Od 06.09.2000
Optymalizacja:
1024x768, IE5
  • Assembler - kurs

  • Porty
  • Porty pozwalają wymieniać informacje(dane) z urządzeniami takimi jak klawiatura,karta graficzna, drukarka itp. Do komunikacji z tymi urządzeniami wykorzystujemy tzw. instrukcje wejścia/wyjścia:

    - instrukcje dzięki którym wysyłamy wiadomości do portów to:

    OUT - jest to instrukcja wymagająca dwóch parametrów,
    OUTSB - jest to bardziej "zaawansowana" wersja instrukcji OUT wysyła ona wartość jednego bajtu spod DS:[SI] do portu zawartego w DX, następnie zmienia wartość SI o wielkość wysyłaną (1 Bajt SI=SI+1, 2 Bajty SI=SI+2 lub 1 Bajt SI=SI-1, 2 Bajty SI=SI-2 - w zależnosci od znacznika DF) razem z instrukcją REP jest stosowana przy seryjnym wysyłaniu danych do portów (np. ustawianie palety),
    OUTSW - wysyła słowo do portu DX spod DS:[SI],
    OUTSD - to co wyżej ,ale zostaje wysłane podwójne słowo.

    np.

    ...
    MOV DX,3c8h;załadowanie do DX numeru portu,
    MOV AL,0;do AL wartość którą będziemy wysyłać
    OUT DX,AL;wysłanie do portu o numeże DX wartości AL
    ...

    W pokazany wyżej sposób możemy rozpocząć ustawianie palety kolorów, w przypadku gdy numer portu jest mniejszy lub równy FFh możemy podać w instrukcji OUT jego natychmiastową wartość.

    - instrukcje pobierające wartości z portów:

    IN - wymaga także dwóch operandów i pobiera wartość z portu do AL lub AX (argument podawane są w odwrotnej kolejności w stosunku do instrukcji OUT).
    np.

    ...
    IN AL,51h;pobranie z portu 51h bajta do AL
    IN AX,DX;pobranie z portu DX słowa do AX
    ...

    INSB - pobiera bajt z portu DX do ES:[DI] i zmienia DI jak w przypadku OUTSB,
    INSW - pobiera słowo z portu DX do ES:[DI] i zmienia DI jak w przypadku OUTSW,
    INSD - tak jak w przypadku powyższych dwóch instrukcji, ale DI jest zmieniane o 4.


    ©Copyright by FiXER 2001

    <<

    ©Copyright by zoomek 2001
    Wszelkie prawa zastrzeżone!