Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : function et assembleur de delphi [ Archives / Aide a la programmation Windows ] (barbichette)

mercredi 15 juin 2005 à 16:32:51 | function et assembleur de delphi

barbichette

Membre Club
Bonjour,
j'ai un souci avec l'assembleur.

J'ai un type TMyType=array[0..100] of byte;
et une fonction :

Function Calcul(a,b:TMyType):TMyType;assembler;
asm
end;

Et je n'arrive pas en assembleur à récupérer les deux tableaux et à remplir le résultat de la fonction avec mes valeurs.

mercredi 15 juin 2005 à 18:07:15 | Re : function et assembleur de delphi

ToutEnMasm

Salut,
l'assembleur de delphi est un assembleur ......delphi.Ce qui veut dire , poser la question de sa syntaxe sur un forum delphi pour avoir une réponse.
                               ToutEnMasm

mercredi 15 juin 2005 à 19:19:59 | Re : function et assembleur de delphi

barbichette

Membre Club
Merci bien de cette réponse, mais je l'ai déjà posé dans delphifr mais on me répond que c'est plus de l'assembleur que du delphi...
Alors je demande aux deux en parallèle en espérant une réponse dans l'un comme dans l'autre...
c
barbichette

mercredi 15 juin 2005 à 20:03:35 | Re : function et assembleur de delphi

BruNews

Administrateur CodeS-SourceS
si c'est de l'asm normal:
myvar  DB   100 dup(0)

ciao...
BruNews, MVP VC++

mardi 21 juin 2005 à 12:35:48 | Re : function et assembleur de delphi

patatalo

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
salut,

Function Calcul(a,b:TMyType):TMyType;assembler;
asm
  mov esi,a ; esi = adresse du tableau a
  mov edi,b ; edi = adresse du tableau b
 mov al,[esi] ; al = a[0]
 mov cl,[edi+1] ; cl = b[1]
 add al,cl ; al = a[0]+b[1]
 mov [edi],al ; b[0] = a[0] + b[1]
mov Calcul,edi ; on retourne b[]
end;

@++

mercredi 6 juillet 2005 à 20:20:50 | Re : function et assembleur de delphi

ManChesTer

Administrateur CodeS-SourceS

En + fonctionel, et en delphi dans le texte, ca donne :

unit pcalcasm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

Type TMyType=array[0..100] of byte;

implementation

{$R *.dfm}

Function Calcul(a,b:TMyType;size:Integer):TMyType;assembler;
asm
 Push esi
 Push ebx
 mov esi,result
@NextByte:
 mov bl,Byte[eax+ecx]
 add bl,Byte[edx+ecx]
 mov byte ptr([esi+ecx]),bl
 loop @NextByte
 pop edx
 pop esi
end;

procedure TForm1.Button1Click(Sender: TObject);
var j   : Integer;
    a,b,c : TmyType;
begin
 for j:=0 to 100 do
 begin
  a[j]:=j;
  b[j]:=j+10;
 end;
 c:=Calcul(a,b,sizeof(TmyType));
 for j:=0 to 100 do
  Memo1.Lines.Add(Inttostr(a[j])+'+'+Inttostr(b[j])+'='+Inttostr(c[j]));
end;

end.

Bon Coding ....

ManChesTer.


mercredi 6 juillet 2005 à 20:24:59 | Re : function et assembleur de delphi

ManChesTer

Administrateur CodeS-SourceS
oupps, faut lire :

Function Calcul(a,b:TMyType;size:Integer):TMyType;assembler;
asm
 Push esi
 Push ebx
 mov esi,result
@NextByte:
 mov bl,Byte[eax+ecx]
 add bl,Byte[edx+ecx]
 mov byte ptr([esi+ecx]),bl
 loop @NextByte
 pop ebx // et non edx
 pop esi
end;



Bon Coding ....

ManChesTer.



Cette discussion est classé dans : fonction, function, delphi, assembleur, tmytype


Répondre à ce message

Sujets en rapport avec ce message

rs232 & assembleur& c++ version microsoft [ par elbair32 ] bonjour;je n'arrive pas à ecrire une fonction sur c++ en utilisant dedant des mnemoniques Tasm pour gérer les ports série je sais comment sa se fait e NASM et DEVCPP - fonction assembleur appellee en C/C++ [ par jean84 ] Salut a tous !Et bien comme le titre l'indique, je souhaiterai creer des fonctions en assembleur et pouvoir les appeller en C/C++ dans le meme projet. Fonction pour prendre la souris en assembleur. [ par nico20011caus ] Je fais de l'assembleur un peut et je voudrai savoir comment qu'on fait pour prendre la souris en assembleur.Moi je fait: mov ax,1                  &n cours assembleur 68000 [ par ofthechurch ] Bonjours, je cherche des tuoriels, des cours ou des livres portant sur la prorammation en assembleur sur 68000, j'ai trouvé quelque vague trucs sur go Directive Invoke [ par bazole ] BonjourJ'étudie la possibilité de créer un petit assembleur sous windows, et j'ai du mal à comprendre comment faire appel à une API windows.Sous Masm, Texte defilant en assembleur [ par cinefanfan ] Salut à tous, je débute en assembleur et je voudrais faire défiler un texte dans une fenetre. Le texte est entré par l'utilisateur et ensuite il peut mettre un son avec nasm [ par ricardvince ] bonjour je suis debutant en assembleur et jaurais aimais savoir s'il ete possible de mettre un son dans un programme en assembleur (avec nasm)???merci assembleur [ par unionx ] Bonjour a tousbon;j'aime bien apprendre la programmation en assembleur , sous ms-dos :) , mais j'ai pas trouvé des bonnes tutorial , il est vraiment d question sur la syntaxe assembleur [ par TheCacaouette ] bonjour à vous, j'ai deux pb le premier : str: .zero 11 le deuxieme: addl $'0',%eax je ne comprends pas ces 2 lignes (zero et $'0') voila merci d langage assembleur [ par ramos42 ] bonsoir, je voulais savoir si quelqu'un pouvait me donner toutes les commandes qui puisse exister pour le logiciel PCSPIM. Merci et c'est grave impor


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.