trimleft trimright

συζητήσεις για assembly

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
agelosz
Δημοσιεύσεις: 10
Εγγραφή: 18 Νοέμ 2007 13:45
Τοποθεσία: GREECE

trimleft trimright

Δημοσίευση από agelosz » 01 Ιουν 2008 14:57

Πως θα γράψω μια ρουτίνα που να αφερει τα κενα αριστερα-δεξια απο ενα string??

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

trimleft trimright

Δημοσίευση από EneMe » 01 Ιουν 2008 15:52

[offtopic]Αυτό ακούστηκε πολύ προστυχοδιαστροφικό![/offtopic]

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

trimleft trimright

Δημοσίευση από LightForce » 02 Ιουν 2008 21:19

agelosz δώσε μας λίγες πληροφορίες παραπάνω, σε τι πλατφόρμα, για ποιόν assembler..
Nα ένα απλό fasm παράδειγμα 16-bit για τον 8086, αφαιρεί τα αριστερά κενά ενός null terminated string.
Είναι πολύ εύκολο, μελέτησε το, γράψε μόνος σου την trim right.
Πιθανόν να χρειαστεί να προσθέσεις κώδικα και για tabs.

Κώδικας: Επιλογή όλων

; input: si = string offset

; push ds
; pop es

triml:
    push si di
    mov di,si
    cmp byte [si],' '
    jne quit
nxt:   
    lodsb
    cmp al,' '
    je nxt
    dec si
put:
    lodsb
    stosb
    test al,al
    jne put    
quit:       
    pop di si
    ret  

Άβαταρ μέλους
agelosz
Δημοσιεύσεις: 10
Εγγραφή: 18 Νοέμ 2007 13:45
Τοποθεσία: GREECE

trimleft trimright

Δημοσίευση από agelosz » 13 Ιουν 2008 23:11

Ευχαριστω !! βρηκα λυση με βοηθησε η ρουτινα lightforce
Εχο τον tasm assembler.
Java/C/C++/ASM

Απάντηση

Επιστροφή στο “Assembly”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες