Конференция "Прочее" » Помогите с asm 16 перевести на 32 таких два небольших кусочка
 
  • MASTAFA © (31.03.08 18:29) [0]
    Модеры, извините пожалуйста, но я ошибся маленько и в ветке FreePascal есть копия этой темы. :D

    Собственно говоря, таких 2 кусочка:

    function keypressed:Boolean;
    label nokey;
    var
    pressed:integer;
    begin
    pressed:=0;
    asm
    mov ax,0100h
    int 16h
    jz nokey
    mov pressed,1
    nokey:
    end;
    if pressed=1 then keypressed:=True
    else keypressed:=False;
    end;



    и


    function BiosKey:word;
    var
    key:word;
    begin
    asm
    mov ax,0000h
    int 16h
    mov key,ax
    end;
    BiosKey:=key;
    end;



    Огромнейшее спасибо заранее
  • Сергей М. © (31.03.08 19:56) [1]

    > в ветке FreePascal есть копия этой темы


    Там не "копия", а ахинея)


    > я ошибся маленько


    Нихрена себе "маленько" !)
  • Mystic © (31.03.08 20:02) [2]
    Напрямую не получится, используется прерывание BIOS, которые не работают в 32-битном режиме. Надо использовать соответствующие функции той OS, где будет работать программа.
 
Конференция "Прочее" » Помогите с asm 16 перевести на 32 таких два небольших кусочка
Есть новые Нет новых   [134433   +22][b:0][p:0.001]