Abs(number)

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

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

Απάντηση
Άβαταρ μέλους
zero_1
Δημοσιεύσεις: 5
Εγγραφή: 27 Μαρ 2009 14:39
Τοποθεσία: ΑΘΗΝΑ
Επικοινωνία:

Abs(number)

Δημοσίευση από zero_1 » 01 Απρ 2009 15:20

Γειά σας :-)

Θα ήθελα ένα παράδειγμα της συνάρτησης ABS(NUMBER) σε ASSEMBLY.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Abs(number)

Δημοσίευση από dva_dev » 01 Απρ 2009 16:06

Αν σου κάνει ψευδοκώδικας:

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

Αν x>0 τότε abs(x) = x αλλιώς abs(x) = -x

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

Abs(number)

Δημοσίευση από LightForce » 01 Απρ 2009 16:35

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

mov ax, -1
call abs16
; ax = 1
;
Για 16 bit.

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

; input: ax = value
; output: ax = abs(value)
; destroys: dx, flags

abs16:
        cwd
        xor ax, dx
        sub ax, dx
        ret
Για 32 bit.

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

abs32:
         cdq
         xor eax, edx
         sub eax, edx
         ret

Άβαταρ μέλους
zero_1
Δημοσιεύσεις: 5
Εγγραφή: 27 Μαρ 2009 14:39
Τοποθεσία: ΑΘΗΝΑ
Επικοινωνία:

Abs(number)

Δημοσίευση από zero_1 » 02 Απρ 2009 15:16

Ευχαριστώ.

Άβαταρ μέλους
zero_1
Δημοσιεύσεις: 5
Εγγραφή: 27 Μαρ 2009 14:39
Τοποθεσία: ΑΘΗΝΑ
Επικοινωνία:

Abs(number)

Δημοσίευση από zero_1 » 22 Απρ 2009 10:57

Υπάρχουν turorials η βιβλία στα ελληνικά για τον FASM
?

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

Abs(number)

Δημοσίευση από LightForce » 22 Απρ 2009 14:18

Χμ, βιβλία στα Ελληνικά ναι μπορείς να βρείς για Assembly γενικά, όμως για Fasm συγκεκριμένα όχι δεν νομίζω.

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

Abs(number)

Δημοσίευση από agelosz » 10 Μάιος 2009 18:39

Αλλος τρoπος για 32 bit. Ο αριθμος πρεπει να ειναι στον eax.

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

ABS32:
   MOV EBX,EAX
   SAR EBX,31
   XOR EAX,EBX
   SUB EAX,EBX
   RET

Απάντηση

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

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

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