Borlands TASM32 v5.x - QWORD arguments causing problems.

Giganews Newsgroups
Subject: Borlands TASM32 v5.x - QWORD arguments causing problems.
Posted by:  R.Wieser (addre…@not.available)
Date: Thu, 5 Mar 2020

Hello all,

I've got a (very old) Borlands Tasm32 v5.x , and it has a problem that has
been bugging me for the longest time:  I can specify QWORD arguments for a
function, but than I'm only allowed to call those functions with constant
values for them.

Question: Does anyone (still) know of this problem, and if so perhaps how to
solve it ?

Remark: Work-arounds have ofcourse been found and used, but having to do
that still irks me.

Regards,
Rudy Wieser

** Minimal example (tested with TASM32 v5.0, 5.3 and 5.4):

TestFunc PROCDESC qVal:QWORD
TestFunc proc
arg @@qVal:QWORD

ret
TestFunc endp

@@qData dq 1234567887654321h

call TestFunc,12345678h 87654321h
-- Works (notice the space, not comma between the two values)

call TestFunc,[@@qData]
-- Error: Argument mismatch

** List file

  3650      call  TestFunc,12345678h 87654321h  ;Works
1  3651 00000008  68 12345678 68      +  PUSH  12345678H 87654321H
  3652    87654321
1  3653 00000012  E8 FFFFFFE9    CALL  TestFunc

1  3660 00000023  FF 35 00000004r FF  +  PUSH  [@@qData]
  3661    35 00000000r
1  3662 0000002F  E8 FFFFFFCC    CALL  TestFunc

Replies