![]() |
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Das habe ich mir aus Code gebastelt, welcher eine Zeichenkette byteweise kopieren soll.
|
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Moin Luckie,
Du hast vor Loop nirgends ECX initialisiert, und somit hat die Schleife eine unbestimmte Anzahl von Durchläufen.
Code:
kannst Du durch
lodsb
stosb
Code:
bzw. die ganze Schleife durch
movsb
Zitat:
|
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Und wie sähe dass dann aus?
|
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Moin Luckie,
cih würde mal sagen so:
Code:
data segment
dummy DW 512 dup ($) data ends code segment Start: mov ax, 5 add ax, 2 lea si, ax lea di, dx mov ecx,strlen ; strlen = Länge die kopiert werden soll rep movsb mov dummy, ax mov dx, offset dummy mov ah, 9h int 21h mov ax, 4C00h int 21h code ends end Start |
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Leider auch nicht:
Code:
Verdammt, das kann doch nicht so schwer sein den Inhalt eines Registers auf dem Monitor auszugeben. In meinem Assemblerbuch stehen wunbderbare Beispile zu allen Grzundrechenarten usw. drin, nur leider unvollständige Code Schnipppsel - die haben sich immer um die Ausgabe gedrückt. :cry:
lea si, ax
**Error** build.bat(14) Illegal immediate lea di, dx **Error** build.bat(15) Illegal immediate mov ex, 10 ; strlen = Lõnge die kopiert werden soll **Error** build.bat(16) Undefined symbol: ex mov ex, 10 ; strlen = Lõnge die kopiert werden soll *Warning* build.bat(16) Argument needs type override mov dummy, ax **Error** build.bat(18) Can't address with currently ASSUMEd segment registers Hier ![]() |
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Moin Luckie,
sorry, ich dachte es ging Dir nur um die Schleife: Du kannst auch mal versuchen, ob's ohne die e's vor den Registerbezeichnungen geht, mit sind's halt die ganzen 32 Bit
Code:
data segment
dummy DW 512 dup ($) data ends code segment Start: mov eax, 5 add eax, 2 lea esi,[eax] lea edi,[edx] mov ecx,10 ; strlen = Länge die kopiert werden soll rep movsb mov dx, offset dummy mov ah, 9h int 21h mov ax, 4C00h int 21h code ends end Start |
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Wie viele Enttäuschungen haltet ihr noch aus? :roll:
Code:
lea si,ax
data segment
dummy DW 512 dup ($) data ends code segment Start: mov ax, 5 add ax, 2 lea si,[ax] lea di,[dx] mov cx,10 ; strlen = Länge die kopiert werden soll rep movsb mov dx, offset dummy mov ah, 9h int 21h mov ax, 4C00h int 21h code ends end Start **Error** build.bat(14) Illegal immediate lea di,dx **Error** build.bat(15) Illegal immediate :evil: |
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Moin Luckie,
Zitat:
Oder soll das Register (in Deinem Falle wohl ax) einen darstellbaren Inhalt haben? |
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Nun ja, ich rechne ja 5+2 und es wäre schön wenn da dann 7 stünde.
|
Re: Wert einer Variablen in ASM ausgeben, String zusammenset
Moin Luckie,
Code:
lea si,ax
Code:
lea si,[color=red][[/color]ax[color=red]][/color]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz