Работа с портами микропроцессора

Советы » Процессор » Работа с портами микропроцессора

Модуль для работы с портами микропроцессора с сохранением синтаксиса.

Работает под Win9x.

НЕ работает под WinNT.

//Copyright(c) 1998 Zolotarenko P.V pvz@mail.univ.kiev.ua

unit

Ports; interface

type

TPort = class

private

procedure

Set_(index_: word; value: byte); register

; function

Get_(index_: word): byte; register

; public

property

Element[index_: word]: byte read

Get_ write

Set_; default; end

; TPortW = class

private

procedure

Set_(index_: word; value: Word); register

; function

Get_(index_: word): word; register

; public

property

Element[index_: word]: word read

Get_ write

Set_; default; end

; var

Port: TPort; PortW: TportW; implementation

procedure

TPort.Set_(index_: word; value: byte); begin

asm

mov dx,index_ mov al,value out

dx,al end

; end

; function

TPort.Get_(index_: word): byte; begin

asm

mov dx,index_ in

al,dx mov @Result,al end

; end

; procedure

TPortW.Set_(index_: word; value: word); begin

asm

mov dx,index_ mov ax,value out

dx,ax end

; end

; function

TPortW.Get_(index_: word): word; begin

asm

mov dx,index_ in

ax,dx mov @Result,ax end

; end

; initialization

Port := TPort.Create; PortW := TPortW.Create; finalization

Port.free; PortW.free; end

.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2023 - All Rights Reserved - www.delphirus.com