Jak se da zkompilovat Assembler v Pascalu ??? diky
Printable View
Jak se da zkompilovat Assembler v Pascalu ??? diky
no v turbopascalu pascalu je neco jako
ne?Kód:asm
.
.
.
end;
a jestli chces kopilovat primo asm, tak se rozhlidni po builder.cz, tam byl na to navod. soubor .asm se musi prohnat nekolika programy, na tom builderu byl udelanej na to davkovej .bat soubor.
Kdyz ho dam komilovat v TP, tak narazi na ono asm a tam se sekne. Hlasi to nejakou chybu a ja s nim nehnu.
Komilujü pres TLink, a jeste dva komilaky, ale je to silenej opruz. v cem muze bejt chyba? Neni potreba zmenit nejakou knihovnu??
no to se me ptas moc. Zkus zacit primo s asm, precijen mit 'hello world' program dlouhej par bytu neni spatny :wink: Ovsem na trovinu priznavam, ze ja jsem to velmi brzy vzdal. Koukni na ten builder, tam o tom neco je..
Diky moc
V pascale mozes normalne pisat
Ked chces pouzit Turbo Assembler, napises si zdrojak do suboru .ASM. Vyzera to tusim nejako takto (pisem to spamati lebo nie som doma):Kód:begin
asm
mov ax,1234h
end;
end.
Potom spustis TASM SUBOR.ASM. Vygeneruje sa SUBOR.OBJ. Potom spustis TLINK /T SUBOR.OBJ a vygeneruje sa SUBOR.COM.Kód:.model tiny
org 100h
.code
start: mov ax,1234h
int 20h
end start
(model tiny = COM, int 20h = ukoncenie COM programu, TLINK /T - zlinkovanie do COM suboru)
Prave ze v tom pascale mi to hlasi nejakej kopanec uz u toho asm. Diky moc
Nemas nejaku historicku verziu ktora este ASM nepodporuje? Vtedy sa to robilo cez inline - to si uzijes ;D ;D
Kód:procedure FillWord(var Dest; Count: Word; Data: Word);
begin
inline(
$C4/$7E/<Dest/ (* LES DI,Dest[BP] *)
$8B/$4E/<Count/ (* MOV CX,Count[BP]*)
$8B/$46/<Data/ (* MOV AX,Data[BP] *)
$FC/ (* CLD *)
$F3/$AB); (* REP STOSW *)
end;