Español
Fuente/ Codesnippets

Ensamblador Reverse Spiegeln String

 

KompilierenMarcaSeparación
 {$cleq}
Declare s$
Cls
s$="TEST THE FASTEST XPROFAN"
print s$+"."
print rstr$(s$)+"."
Waitkey
End

proc rstr$

    parameters s$
    declare ss$
    ss$:=s$+" "

    AsmStart _rstr

        Parameters addr(s$),len(s$),addr(ss$)
        .data
        cw dd 0
        .code
        mov eax,para1
        mov ebx,para2
        mov ecx,para3
        mov cw,ebx
        mov edx,0

        .while edx<ebx

            dec cw
            push ebx
            push edx
            mov edx,cw
            mov bl,[ecx+edx]
            pop edx
            mov [eax+edx],bl
            pop ebx
            inc edx

        .endw

    AsmEnd

    return s$

ENDPROC

Oder nichtasm:
KompilierenMarcaSeparación
PRFellow-Presentación
Autor: Thomas Hölzer
Einen String de hinten después de vorne kehren
Declarar strbuf#

Proc ReverseString

    Parámetros s$
    Declarar l%,resultado$
    Let l%=Len(s$)
    Dim strbuf#,Add(l%,1)
    String strbuf#,0=s$
    Dec l%

    Mientras que Gt(l%,-1)

        Let resultado$=resultado$;Char$(strbuf#,l%,1)
        Dec l%

    Wend

    Disponer strbuf#
    Volver resultado$

ENDPROC

Ejemplo
Cls
Declarar n&
n&=&gettickcount
ReverseString MkStr$($Syspath + $WinPath,100)
imprimir (&gettickcount - n&) / 1000,Len(MkStr$($Syspath + $WinPath,100))
WaitInput
oder de M.Dell
KompilierenMarcaSeparación
Proc ReverseStr

    Parámetros RS_ES$
    Declarar RS_AS$

    WhileLoop Len(RS_ES$),1,-1

        RS_AS$ = (RS_AS$ + Mid$(RS_ES$,&Loop,1))

    EndWhile

    Volver RS_AS$

ENDPROC

**** Ejemplo ****
Cls
Imprimir "Orginaltext: Beispielstring"
Imprimir
Imprimir "Reverstext:  " + ReverseStr("Beispielstring")
WaitInput
End
Salve, IF.
 
24.09.2005  
 




Michael
Wodrich
oder deine ASM-Versión sin Hilfsstring y Datenbereich
KompilierenMarcaSeparación
 {$Cleq}
Declare S$
Cls
S$="TEST THE FASTEST XPROFAN"
Print S$+"."
Print ReverseString$(S$)+"."
Waitkey
End

Proc ReverseString$

    Parameters s$

    AsmStart _rstr

        Parameters Addr(s$), Len(s$)
        mov ebx,para1
        mov ecx,para2
        mov edx,para1
        add edx,ecx
        dec edx

        .while edx > ebx

            mov al,[ebx]
            xchg al,[edx]
            mov [ebx],al
            inc ebx
            dec edx

        .endw

    AsmEnd

    Return s$

ENDPROC

 
Programmieren, das spannendste Detektivspiel der Welt.
24.09.2005  
 




Frank
Abbing
Oder el minimale Asm-Versión:
KompilierenMarcaSeparación
 {$iq}
Declare text$
Declare dummy$
text$="Hier steht nur ein Probetext."
dummy$=Space$(Len(text$))

AsmStart Reverse

    Parameters addr(text$),addr(dummy$)
    invoke revstr,para1,para2

AsmEnd

text$=dummy$
Print text$
24.09.2005  
 




H.Brill
Oder con Move + Substr$()
CLS
var test$ = "Hallo Roland,como es dir ?"
Imprimir test$
Imprimir ReverseString(test$)
WaitInput

Proc ReverseString

    Parámetros s$
    ClearList

    WhileLoop 1, Len(s$)

        Move("StrToList",  substr$(s$, -&LOOP), ""):

    EndWhile

    Volver Move("ListToStr", "")

ENDPROC

End

oder todavía einfacher con Mid$()
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
27.11.2024  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.623 Views

Untitledvor 0 min.
HofK vor 4 Tagen
funkheld vor 4 Tagen
Paul Glatz15.12.2024
Georg Teles11.12.2024
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie