ASM w delphi??

0

Prawdopodobnie pytanie zostało już zadane i za to wielkie sorki, ale wyszukiwanie odpowiedzi na nie w google'u i tym forum, po jednym dniu czytania wieelu postów i tekstów nic nie dało. (jak znajdziesz mi na nie odpowiedziedź to możesz się czepiać ;) )

Przeczytałem superłopatologiczny tutorial o asm, kompilowany jako 'asm ... end;' w pascalu. Chciałem spróbować w Delphi zamiast tego. 'asm ... end;' jest, ale prawie nic w nim nie działa..
Skopiowałem programik wrzucający cośtam do pamięci- błąd.
Program ten-
"
program Project1;
{$APPTYPE CONSOLE} //Konsolowy program (nieGUI, żeby wykrzyknik sie wyświetlił)
uses
SysUtils;

begin
asm //skopiowane z tutoriala
mov ax, $B800
mov es, ax
mov al, 33
mov es:0, al
end; //powinien przenieść 33 do $B800 w pamięci= wyświetlić wykrzyknik.
end.
"
Program ten- powiesił najpierw siebie, potem pokolei wszystkie inne... (oprócz Opery i Winampa ?- ) w tym bezpowrotnie exploder'a.. (jakiśtam błąd kernela [?]- więcej chyba wywnioskujecie z samego programu niż z numerku błędu.)

Pytanie 1. jakie są ograniczenia w używaniu ASM w Delphi? W help'ie coś było, ale nic co mogło by wytłumaczyć te błędy
Pytanie 2. Jakiego ASM'a używać do nauki? Przeczytałem cały artykuł o tym, najlepszy jest chyba do tego HLA, ewentualnie MASM... Ale ja chce ASM'a w Delphi ;-( (właśnie- jaki ASM jest 'wbudowany' w Delphi??)

0

Hmm :) .

Prawdopodobnie wiem o assemblerze tyle co ty, bo też niedawno czytałem ten kurs :). Gdybyś to samo napisał w Pascalu i uruchomił program w windowsie - prawdopodobnie zadziałałby jak trzeba. Windows (przynajmniej XP) emuluje działanie DOSa i może też to by obsłużył poprawnie. Ale program napisany pod Delphi (niezależnie od tego czy jest konsolowy czy nie) to program Windowsowy, a pod Windowsem używanie trybu tekstowego jest raczej niemożliwe (a własnie do takiego trybu odnosza się te instrukcje assemblera).

0

nie możesz w programie windowsowym mazać sobie po pamięci tak jak na to masz ochotę, poczytaj sobie o trybie chronionym i rzeczywistym. a do mazania po konsoli masz api windowsa.
a ten tutorial to chyba pod dosa?

0

To znaczy że nie będą mi potrzebne w życiu te procedury? Rozumiem że mam szukać tutoriali skierowanych do windoza (nie do dos'a/32bit?)?

Jeżeli tak to proszę o linki do tekstów o używaniu asm W delphi.
Thanks from the mountain :)

Bo ja nie wiem od czego zacząć... to czego chce w ASM'ie sie nauczyć to robić 'wkładki' w zwykłych programach (dodatkowe bajerki :) albo przyspieszanie i zmniejszanie programu(raczej te dwa ostatnie)) i ewentualnie 'obserwowanie sposobu działania programu i jego modyfikowanie w celu usunięcia "błędów" uniemożliwiających poprawne działanie programu' (jaki asm jest używany w SoftIce?) ;-) No i może w przyszłości Unix i Linux...

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