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

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έστω ότι μεταφέρεις το περιεχόμενο τάδε της μνήμης , στον 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.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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