Solved

Assembling in Delphi 3.0

Posted on 1998-06-19
3
124 Views
Last Modified: 2010-04-04
Hi,

Does any one know how to use PUSH instruction built-in Delphi 3.0 to push a double data type (64bit) to the stack whose resgister is only 32bit?

Thanks.
0
Comment
Question by:NYang
3 Comments
 
LVL 3

Expert Comment

by:rickpet
ID: 1354150
If your not worried about losing the high bits you can type it to a pointer...

var
  myComp: comp

.

  pointer(myComp);
0
 
LVL 3

Accepted Solution

by:
vladika earned 10 total points
ID: 1354151
Let exists such code

procedure Test(T: Double);
begin
end;

procedure Push1;
var T: Double;
begin
  T := 1;
  Test(T);
end;

It's equivalent
procedure Push2;
var T: Double;
begin
  T := 1;
  asm
    push dword ptr T.4
    push dword ptr T
    call Test
  end;
end;

So, use PUSH instruction 2 times

0
 

Author Comment

by:NYang
ID: 1354152
Many thanks to vladika for solving my problem.

NYang
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to call a form that is in a DLL  from an application? 13 86
Dev Express grid collapse 2 47
Multi-layered image in FireMonkey 9 66
Wincontrol not (correctly) drawn 15 47
A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question