Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2007, 02:11   #1
caveman
Новичок
Джуниор
 
Регистрация: 02.12.2007
Сообщений: 2
По умолчанию Как прикрутить GiveIO ?

Мне необходимо работать с LPT-портом. Скачал пакет, в котором лежит модуль GIVEIO.pas.
Вот листинг моего тестового модуля:
Код:
unit LPTforHobby;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, GIVEIO;

  type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure OutPort(PortAddr:
          word; Databyte: byte);
{$IFDEF WIN32}
assembler; stdcall;
asm
   mov al,Databyte
   mov dx,PortAddr
   out dx,al
end;
{$ELSE}
begin
  Port[PortAddr] := DataByte;
end;
{$ENDIF}

procedure TForm1.Button1Click(Sender: TObject);
begin
InitDriver;
OutPort(888, 200);
DoneDriver;
end;


end.
В данном случае пытаюсь записать в порт байт 200. Мне Windows при нажатии на button1 выдает ошибку про Priveleged Level. В чем могут быть грабли?
PS все файлы giveio лежат в той же папке, где и мой модуль.
caveman вне форума Ответить с цитированием
Старый 02.12.2007, 19:20   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

GiveIO должен быть драйвером (файл giveio.sys), а не модулем подключенным к твоей программе! (кстати а что это за модуль giveio, что там?)
здесь можно скачать sys файл и файл установки http://www.pcports.ru/files/giveio.rar
установить перезагрузиться, и потом в программе открывать через CreatreFile
h=CreateFile('\\.\giveio', GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
и обращаться к портам ввода-вывода!
rpy3uH вне форума Ответить с цитированием
Старый 03.12.2007, 08:43   #3
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

http://www.wasm.ru/docs/1/kmdtut.zip
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прикрутить BeanBox к Eclipse Galinka08 Общие вопросы по Java, Java SE, Kotlin 0 12.03.2008 12:40