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  
 



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.436 Views

Untitledvor 0 min.
H.Brill08.10.2022
p.specht02.02.2022
Sven Bader15.08.2021
funkheld15.12.2013
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