Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Вниз

не работают вставки с ассемблерным кодом   Найти похожие ветки 

 
Serguar   (2003-12-19 10:55) [0]

Здравствуйте. Подскажите пожалуйсто, что нужно сделать что бы работали куски кода написанные на ассемблере. Столкнулся с такой проблемой впервые. Обычно программа вылетает при генерации одного из прерываний, или просто при адресации регистров.
Например, след. код:

function printerready:boolean;
var check:byte;
begin
Delay(10);
asm
push cx
push es
push dx
push ax
mov ax,40h
mov es,ax
mov dx,es:[8] // вылетает здесь
inc dx
in al,dx
and al,80h
mov cx,7
@loop1: shr al,1
loop @loop1
mov check,al
pop ax
pop dx
pop es
pop cx
end;
printerready:=(check=1)
end;

или

function GetPrnStatus:byte;assembler;
asm
mov dx,LptNo
mov ah,02
int 17h // вылетает здесь
xchg ah,al
end;

Заранее благодарен.


 
Digitman   (2003-12-19 10:58) [1]

потому что это тебе не ДОС


 
Serguar   (2003-12-19 11:09) [2]

И все? Я так понял, что работа с прерываниями, как во втором примере, вообще не прокатит. Хотя, эти примеры были взяты из мест, где написано, что код работает в Delphi. А как на счет первой процедуры?


 
Digitman   (2003-12-19 11:14) [3]


> Я так понял, что работа с прерываниями, как во втором примере,
> вообще не прокатит


разумеется, не прокатит.


> эти примеры были взяты из мест, где написано, что код работает
> в Delphi


код этот, будучи успешно скомпилированным (почему бы и нет ?) и запущенным на исполнение, не в Делфи работает, а в контексте Win32-процесса


> как на счет первой процедуры


и первая работать не будет.
говорю же тебе - это не ДОС)


 
Digitman   (2003-12-19 11:15) [4]

если же тебе требуется организовать работу с принтером в своем приложении, то заводи отд.ветку, где и задавай вопрос, мол, какие пронраммные средства предусмотрены в Делфи для работы с принтером



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
1-11958
Mip
2003-12-19 15:56
2004.01.05
Помогите с Word разобраться!


3-11824
Nikolas_Spock
2003-12-10 01:42
2004.01.05
Delphi7 + SQL


1-11905
Alex-21
2003-12-21 21:39
2004.01.05
TimeToStr(Now)


14-12049
Razor
2003-12-11 04:52
2004.01.05
Как программно преобразовать Bmp файл в Tiff в максимальным сжати


3-11821
stud
2003-12-08 10:17
2004.01.05
контроль временных параметров





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский