![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Инструкции OUT, IN в выражении ASM..END;
WhiteBarin © (2006-05-04 09:26:00)Здравствуйте,
Возникла такая ситуация встраиваю следующую Assembler функцию в Delphi 7,
не смотрите что это инициализация COM порта, в других функциях инструкции
OUT и IN не проходят,
пишет ... Priveleged instruction... Хотя в Turbo Pascale всё проходит, но он
ведь эмулирует работу x86.
Помогите пожалуйста, пожет следует сделать какую-то настройку в среде?
Function InitializationComPort_:boolean;
Begin
Result:=False;
ASM
mov ax,40h
mov es,ax
mov dx,3f8h
add dx,3
mov al,10000000b
out dx,al
dec dx
dec dx
mov al,0
out dx,al - ЗДЕСЬ РУГАЕТСЯ, ДАЛЕШЕ НЕ ИДЁТ
dec dx
mov al,06h //19200 b
out dx,al
mov al,0
or al,11b //dlinna dannih
or al,000b //stop bit
or al,1000b //bit chet
or al,111000b //tip chetn vsegda 1(111000b-vsegda 0)
add dx,3
out dx,al
dec dx
dec dx
mov al,0
out dx,al
mov dx,3f8h
add dx,4
mov al,1
out dx,al
// mov ah,0
// mov dx,0
// mov al,11111011b
// int 14h
ret
END;{ASM}
//Ждем
If not Wait_ Then Exit;
Result:=True;
End;
Германн (2006-05-04 16:13:00) [1]
> WhiteBarin © (04.05.06 10:03) [5]
>
> Спасибо а скажи не знаешь где взять TApdComPort от AsyncPro
>
http://sourceforge.net/projects/tpapro
WhiteBarin (2006-05-04 10:03:00) [2]Спасибо а скажи не знаешь где взять TApdComPort от AsyncPro
MBo (2006-05-04 09:44:00) [3]>А примера нет?
Примеров в инете море
Вот это хороший компонент:
http://sourceforge.net/projects/comport/
WhiteBarin (2006-05-04 09:40:00) [4]Или где взять TApdComPort
WhiteBarin (2006-05-04 09:39:00) [5]А примера нет? работающего чтобы реализовать работу с COM
MBo (2006-05-04 09:31:00) [6]Win32 не разрешает напрямую обращаться к портам, да это обычно и не нужно, например, работа с компортами обеспечивается CreateFile('Com1'...)/REadFile/WriteFile