| |
|
|
 Normann Strübli | ¡Hola,
tal vez Yo lo sí irgendwo überlesen, aber son Prozeduren innerhalb des XPIA-Codes erlaubt?
Geht el? Und como kann entonces el obere Procedimiento algo a el aufrufende transferencia si ret no erlaubt es?
Saludo Normann |
|
|
| |
|
|
|
 | Nun Usted könntest a el AsmStart-Zona por Parámetros el Prozeduradresse uno Profanprozedur angeben en esta entonces con Call aufzurufen. Como el con el Parameterübergabe & des Returnwertes aussieht - Yo mag eigendlich no drüber nachdenken. 
Generell sería Yo su abraten de el AsmProc una XPrfProc a callen.
Salve. |
|
|
| |
|
|
|
 Normann Strübli | Nein IF, el hast du falso verstanden 
Yo habe zwei Prozeduren innerhalb uno ASM-Blockes y el una se el otro Aufrufen. Von una XPrfProc-Aufruf war no el Rede...
El Cuestión war si mehrer Prozeduren innerhalb des ASM-Blockes erlaubt son que gegenseitig aufrufen puede y qué entonces con <ret> passiert.
 |
|
|
| |
|
|
|
 Michael Dell | Hi,
si Verschachtellung erlaubt es weiß Yo no.
Aber que aquí va: KompilierenMarcaSeparación {$clq}
Declare a&,b&,c&,d&
Cls
Print "Test Start:"
ASMSTART Zweite
Parameters a&,b&
Return c&
mov eax,para1
mov ebx,para2
add eax,ebx
ASMEND
ASMSTART Erste
Return d&
Local Var1 :DWORD
Local Var2 :DWORD
mov Var1,6
mov Var2,3
Scall Zweite,Var1,Var2
ASMEND
Print "Ergebnis (6+3=9): " + Str$(d&)
WaitKey
End
|
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 09.11.2005 ▲ |
|
|
|
|
 | [quote:b049d93a42]Nein IF, el hast du falso verstanden [/quote:b049d93a42]Von qué para Prozeduren redest Usted entonces? In ASM gibts no Prozeduren - Yo musste also annehmen el Usted de XProfan-Prozeduren redest - de qué sonst? 
Asm-Bereiche son no Prozeduren - pero Características. 
Salve.  |
|
|
| |
|
|
|
 Frank Abbing | Hi,
a Michaels Solución necesidad du todavía el Macro Scall: KompilierenMarcaSeparaciónScall MACRO name:REQ,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22
FOR arg,<p22,p21,p20,p19,p18,p17,p16,p15,p14,p13,
p12,p11,p10,p9,p8,p7,p6,p5,p4,p3,p2,p1>
IFNB <arg>
push arg
ENDIF
ENDM
call name
includeasis.inc escribir. Für el nächste XPIA-Versión tener Yo el ahora veces gemacht, es sí una sinnvolles Macro. Michaels Solución Es el einfachste, para propio Características anstatt invoke simplemente Scall uso.
Call va natürlich auch, si la Parámetro en umgekehrter Reihenfolge auch el Stack abgelegt voluntad. Invoke va sólo, si la Características vorher definiert voluntad. Ist qué para el nächste XPIA-Versión.
P.S.: Zwei Características en un Assemblerblock ir natürlich no. |
|
|
| |
|
|
|
 Normann Strübli | 
Gracias, Yo denke el ha me weitergeholfen  Aber lo kommt determinado todavía el una- u otros Cuestión de me....
Saludo Normann |
|
|
| |
|
|
|
 Normann Strübli | Und como es ellos ya, el nächste Cuestión:
Der XPIA meldet en folgenden Code: Maschinencode podría no generiert voluntad! Yo sehe como aber kein Fehler -oder? Irgendetwas tener Yo como wohl todavía no kapiert. KompilierenMarcaSeparación...
Declare istring$,pb&
Asmstart String2Dword
Parameters addr(istring$)
Return pb&
LOCAL Result:DWORD
mov Result,0
mov edi,para1
invoke lstrlen,para1
.while eax!=0
xor edx,edx
mov dl,byte ptr [edi]
sub dl,"0"
mov esi,eax
dec esi
push eax
mov eax,edx
push ebx
mov ebx,10
.while esi > 0
mul ebx
dec esi
.endw
pop ebx
add Result,eax
pop eax
inc edi
dec eax
.endw
mov eax,Result
Asmend
|
|
|
| |
|
|
|
 Michael Wodrich | Tiempo schauen:
- en Parámetros es no Variable angegeben pero una Función. - eax es una Ergebnis- y Rechenregister, para Zähler es ecx mejor geeignet (más de alter Tiempo)
Lo probablemente a Parámetros mentira. Einfach veces testen.
Schöne Grüße Michael Wodrich
Hab desafortunadamente no Werkzeuge vorliegen. |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 09.11.2005 ▲ |
|
|
|
|
 Normann Strübli | Aber en el Doku de Franco es en efecto:
[quote:e9d72de353]Parámetros x&, bereich#, addr(cadena$)[/quote:e9d72de353]
 |
|
|
| |
|
|
|
 Michael Wodrich | Dann ändere Por favor, veces el Namen el Procedimiento. Das Yo quería sólo con escribir, hatte lo aber verworfen. Evtl. hängt lo doch con el Art el Namensgebung zusammen (hier específicamente con el Wort DWORD). |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 09.11.2005 ▲ |
|
|
|
|
 Normann Strübli | Nein, el es desafortunadamente auch no.  aber trotzdem danke para Su schnelle Ayuda!
Saludo Normann |
|
|
| |
|
|