vies preco to nefacha?.. lebo asembler nechce zobrat parametre z procedury do svojho prikazoveho tela. nechapem preco je to tak, asi preto ze to musi mat hlavnu premenu, takze sa to bude musiet robit cez registre pascalu.
alebo
Kód:
procedure kde(x,y,b:word);
var x1,y1,b1:word;
begin
asm
mov ax,3
int 51
mov b1,bx
mov x1,cx
mov y1,dx
end;
x:=x1;y:=y1;b:=b1;
end;
ale te procedury ukaz a schovaj by mali ist
alebo
Kód:
uses dos,graph,crt;
procedure mys(a:word);
var a1:word;
begin a1:=a;
asm
mov ax,a1
int 51
end;
end;
procedure poz(var x,y,b:word);
var r:registers;
begin
r.ax:=3;
intr(51,r);
b:=r.bx;
x:=r.cx;
y:=r.dx;
end;
function itos(a:longint):string;
var s:string;
begin
str(a,s);
itos:=s;
end;
var g,gr:integer;
b,x,y:word;
s,t:string;
begin g:=9;gr:=2;
initgraph(g,gr,'..\bgi');
mys(1); setviewport(0,0,80,10,false);
while(b<>1) do
begin
poz(x,y,b);
outtext(itos(x)+' '+itos(y)+' '+itos(b));
clearviewport;
end;
mys(2);
readkey;
closegraph;
end.
v lavom hornom rohu by mali byt suradnice konci sa to lavym tlacidlom na mousi