Βοηθεια για εργασια

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

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

Απάντηση
timpr
Δημοσιεύσεις: 1
Εγγραφή: 21 Οκτ 2009 01:10

Βοηθεια για εργασια

Δημοσίευση από timpr » 21 Οκτ 2009 01:20

Λοιπον, εχω να κανω μια εργασια αλλα ειμαι λιγο......ασχετος. Λοιπον, μου δινει καποιους μονοψηφιους αριθμους και μετα απο καποιες πραξεις βγαινει ο 289 σε δεκαδικο (ο 121 σε δεκαεξαδικο). Μετα ομως πρεπει να αφαιρεσω αυτον τον αριθμο. Μπορειται να μου πειτε πως θα γινει αυτο; (Δεν μπορω να προχωρισω επειδη δεν μπορω να καταλαβω πως θα μεταφερθει ο αριθμος αυτος για παραδειγμα μονο στο al, επειδη μετα τη πραξη εινα τι 01 στο ah, και το 21 στον al. Ευχαριστω εκ'των προτερων και συγγνωμη εαν σας μπερδεψα. :roll: :cry:

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

Βοηθεια για εργασια

Δημοσίευση από LightForce » 22 Οκτ 2009 01:24

Hi, καλώς ήρθες.
Τι Assembler τρέχεις?

Ο AH και ο AL είναι 8-bit καταχωρητές, μαζί αποτελούν τον 16-bit καταχωρητή AX.
Η μέγιστη τιμή που μπορεί να έχει 8-bit καταχωρητής είναι 0-255 # 0h-0FFh ενώ ο AX 0-65535 # 0h-0FFFFh
Η αναπαράσταση του 289 # 121h στο δυαδικό σύστημα είναι 100100001 και υπερβαίνει το byte, χρειάζονται 9 bit, οπότε πρέπει να τον τοποθετήσεις στον καταχωρητή AX.

Αν χωρίσεις τον 16-bit δυαδικό αριθμό σε υψηλό και χαμηλό byte έχεις,

00000001-00100001
AH=1h και AL=21h

ΑΧ = 121h # 289 στο δεκαδικό.


Διαβάζοντας εδώ θα πάρεις βασικές και χρήσιμες πληροφορίες.

Απάντηση

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

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

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