[asm & pascal] Linkowanie modulow

0

Mam taki problem:

program q;
var
a, c, b : word;
function _test(a, b : word) : word; external;

begin
{$L zproc.obj}

  a := 15; b := 6;
  c := _test(a, b); 
  write(c);
  readln;
end.

plik zproc.obj to skompilowany plik asemblera:

    public _test
_TEXT segment word public 'code'
 _test proc PASCAL x:word, y:word
   push bp
   mov bp, sp
   mov ax, x
   mov cx, y
   sub ax, cx
   pop BP
   ret 4
 _test endp
_TEXT ends
end

i moje pytanie: co robie zle ze to nie dziala?
uzywam TP7 i MASM'a

0

Swoją drogą latwiej jest to zapisać tak:...

function _test(a,b:word):word;
assembler;
asm
  mov ax,[a]
  sub ax,[b]
end;
0

zproc.asm powinien wyglądać tak:

  public _test
_TEXT segment word public 'code'
_test proc PASCAL x:word, y:word
  mov ax, x
  mov cx, y
  sub ax, cx
  ret
_test endp
_TEXT ends
end

Powinno zadziałać...</asm>

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