PASCAL || Assembler i free pascal compiler

0

jo. mam maly problem :( . Piszac jakis programik we free pascal comipler jak wstawie do programu jaks wstawke asemblerowska np

 mov ah, 0h 

to mi wyskakuja jakies bledy syntax i jakies inne. Ale jak TEN SAM kod zrodlowy wklepie do pascala po dosem to wszystko chodzi :| !! Aha i jeszcze jedno jak wstawie we FPC procedurke mem to tez mi zwraca blad!! Nie wiem o co chodzi. prosze o pomoc!!

0

Było na forum już z 10 razy na oko. Użyj dyrektywy {$ASMMODE intel}. Albo przerzuć się na składnie AT&T.

0

no dobra uzylem tej dyrektywy ale jest nastepny problem
jak wlanczam tego progsa on normalnie sie uruchamia ale jak ma sie wlaczyc tryb 13 h to program sie wylancza i wyskakuje okienko
" Program c:/tutaj jest sciezka do pliku skompilowanego exited with exitcode=216
nie wiem o co chodzi. prosze o pomoc

0

Musisz nauczyc sie jednej rzeczy: programy w TP sa 16 bitowe i dzialaja w trybie rzeczywistym (pod dosem) i w trybie V86 (pod windows i innymi osami emujacymi dosa) i tylko w tym trybie masz jako taki dostep do funkcji BIOSa ktory tez jest 16 bitowy (jako taki, bo V86 jakby nie patrzec nie jest trybem rzeczywistym i niektore instrukcje musza byc emulowane (np int XX) ale nie w tym rzecz), programy w FPC sa 32 bitowe i w nich nie uzywa sie przerwan (ani "DOSowych" ani "BIOSowych") tylko WinAPI, wiec do rozwiazania twojego problemu polecam http://msdn.com

//O tym nie wiedzialem, FPC nie znam, ale skoro jest WinAPI to po co sie pchac w 16 bitow? :)

0

Wolverine: zawsze pozostaje możliwość wskazania DOS'a jako systemu docelowego kompilacji. W takim wypadku IMHO czy się to podoba, czy nie, binarka musi być 16-bitowa.

0

Brodny, jesteś pewien? Mam wrażenie, że FPC nie potrafi stworzyć binarki na 16-bit. Zaraz poszukam :)

0

Ktos: nie, nie jestem, ale to logiczny wniosek wyciągnięty z tego, że DOS jest systemem 16-bitowym :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1