Προς το περιεχόμενο
  • 0

Assembly 8085 άσκηση εργασίας


scorpion1000

Ερώτηση

Καλησπέρα! Κάθησα μαζι με έναν συμφοιτητή μου και έγγραψα τον παρακάτω κώδικα για να γεμίζει έναν πίνακα στη μνήμη με αριθμούς(όπου υπάρχει βρόχος επανάληψης και σε κάθε θέση αποθηκεύεται ο αριθμός Ν ξεκινώντας απο την διεύθυνση ΑΜ16, Ν=i2-1 αν το αθροισμα των ψηφίων του ΑΜ είναι περιττός αριθμούς και Ν=1-i2 , αν το άθροισμα των ψηφίων του ΑΜ είναι άρτιος αριθμός, i ο μετρητής του βρόχου) [ ο συγκεκριμένος κώδικας είναι για περιττό αριθμό και εκεί που κολλάω είναι τι ακριβώς να αλλάξω για να γίνεται σε άρτιο].... αν υπάρχει καμιά ιδέα θα ήταν ευπρόσδεχτη!

 

MVI A,00h

LXI H,A99h

loop1: MOV M,A

MOV B,M

MOV C,M

MOV D,A

MVI A,00h

loop2: ADD B

DCR C

JNZ loop2

MOV E,A

MVI A,01h

SUB E

MOV M,A

INX H

MOV A,D

INR A

CPI 0Ah

JC loop1

HLT

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

1 απάντηση σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

  • 0

Έστω ότι μεταφέρεις το περιεχόμενο τάδε της μνήμης , στον A register.

 

mov a,m

RRC

jc Is_Negative_or_Not_Multiple

RRC

jc Is_Negative_or_Not_Multiple

RRC

jc Is_Negative_or_Not_Multiple

 

Αν θυμάμαι καλά , μπορείς να χρησιμοποιήσεις την rrc ( δύο φορές ! ) ώστε να διαπιστώσεις αν είναι άρτιος.

Σε κάθε rrc , ελέγχεις το cary ! και αν υπάρχει τουλάχιστον 1 φορά τότε δεν είναι άρτιος.

Αν δεν υπάρχει ούτε στα 2 checks , τότε είναι άρτιος.

 

Checkαρε το και δράσε ανάλογα.

 

MindControl.

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.