Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Emu 8086 βοήθεια σε πρόγραμμα!

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

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

Απάντηση
kotsos13
Δημοσιεύσεις: 5
Εγγραφή: 15 Μαρ 2012 19:09

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από kotsos13 » 29 Μάιος 2012 17:09

Προσπαθώ να δω το αποτέλεσμα απο τον παρακάτω κώδικα στον emu 8086!

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

#make_bin#

mov ax,[0200h]
mov bx,[0202h]
add ax,bx
mov [0204h],ax

hlt
Όταν όμως κάνω emulate και δίνω τιμές στον ΑΧ και στον ΒΧ δεν πηγαίνει στις σωστές διευθύνσεις!Τί κάνω λάθος?
http://tinypic.com/view.php?pic=25ztjtf&s=6
http://tinypic.com/view.php?pic=2wn798j&s=6

Άβαταρ μέλους
LightForce
WebDev Moderator
Δημοσιεύσεις: 3826
Εγγραφή: 13 Απρ 2003 23:49

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από LightForce » 30 Μάιος 2012 13:10

Αν ψάχνεις το αποτέλεσμα στην θέση μνήμης 0204h σύρε την scrollbar εκεί που θέλεις, η απευθείας στο πεδίο segment:offset βάλε την διεύθυνση π.χ xxxx:0204.
Eίναι το πεδίο πάνω από το πράσινο μαρκαρισμένο πλαίσιο στην πρώτη photo.

Υπ' όψιν πως με χρήση brackets τοποθετείς στον ax την λέξη που βρίσκεται στην θέση μνήμης xxxx:0200h (η οποία εφόσον δέν έχει πρώτα οριστεί είναι undefined - τυχαία)

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

mov ax,[0200h]          ; το ίδιο με mov ax,word[0200h]
Ενώ χωρίς, τοποθετείς στον ax απευθείας την δεκαεξαδική τιμή 0200h

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

mov ax,0200h

kotsos13
Δημοσιεύσεις: 5
Εγγραφή: 15 Μαρ 2012 19:09

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από kotsos13 » 30 Μάιος 2012 13:55

Το έχω δοκιμάσει και αυτό lightforce αλλά τα αποτελέσματα ειναι όλα 00!

Άβαταρ μέλους
LightForce
WebDev Moderator
Δημοσιεύσεις: 3826
Εγγραφή: 13 Απρ 2003 23:49

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από LightForce » 30 Μάιος 2012 16:32

Είπαμε ότι προσθέτεις 2 undefined (null στην περίπτωση σου) τιμές.
Δοκίμασε να δώσεις πρώτα τιμές στις θέσεις μνήμης και μετά να προσθέσεις.

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

mov [0200h], 0200h
mov [0202h], 0202h      
mov ax,[0200h]
mov bx,[0202h]
add ax,bx                      ; ax = 0402h
hlt

kotsos13
Δημοσιεύσεις: 5
Εγγραφή: 15 Μαρ 2012 19:09

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από kotsos13 » 30 Μάιος 2012 17:07

Πάλι τα δικά του κάνει!Ποιό άλλο emulator είναι καλό για assembly;

Άβαταρ μέλους
LightForce
WebDev Moderator
Δημοσιεύσεις: 3826
Εγγραφή: 13 Απρ 2003 23:49

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από LightForce » 30 Μάιος 2012 19:02

Δεν νομίζω, κάπου μπερδεύεσαι.
Κάνε copy-paste τον κώδικα σε empty workspace, πάτα emulate->run.
Τι σου εμφανίζει?, εμένα αυτό.

ps. τα λέμε το βραδάκι.

kotsos13
Δημοσιεύσεις: 5
Εγγραφή: 15 Μαρ 2012 19:09

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από kotsos13 » 30 Μάιος 2012 20:16

Ναι αυτό ακριβώς μου βγάζει και εμένα αλλά που είναι το 0402;Σε ότι αφορά τον δικό μου αρχικό κώδικα λέω ότι είναι λάθος τα αποτελέσματα επειδή κοιτάω αυτό το παράδείγμα!Κάνω ακριβώς ότι και στην φωτογραφία και μου βγάζει ότι να 'ναι
http://tinypic.com/view.php?pic=hsnczs&s=6

Άβαταρ μέλους
LightForce
WebDev Moderator
Δημοσιεύσεις: 3826
Εγγραφή: 13 Απρ 2003 23:49

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από LightForce » 30 Μάιος 2012 22:29

To 0402h είναι στον ax, δες αριστερά τους καταχωρητές, το υψηλό byte ah είναι 04h και το χαμηλό byte al είναι 02h.
Εγώ προσθέτω το 0200h και το 0202h ενώ εσύ προσθέτεις δύο τυχαίες τιμές από δύο θέσεις μνήμης, άρα το αποτέλεσμα στον ax είναι τυχαίο.
Χμ, δεν ξέρω αν μπορώ να το εξηγήσω καλύτερα.

kotsos13
Δημοσιεύσεις: 5
Εγγραφή: 15 Μαρ 2012 19:09

Emu 8086 βοήθεια σε πρόγραμμα!

Δημοσίευση από kotsos13 » 30 Μάιος 2012 23:00

Α ναι σωστά!Χαζή απορία!Νόμιζα ότι θα το έβγαζε το αποτέλεσμα εκεί που σταματάει το run!Στο 01015 δηλαδή!Ευχαριστώ για την βοήθεια!

Απάντηση

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

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

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