scorpion1000 Δημοσ. 10 Ιουνίου 2012 Δημοσ. 10 Ιουνίου 2012 Καλησπέρα! Κάθησα μαζι με έναν συμφοιτητή μου και έγγραψα τον παρακάτω κώδικα για να γεμίζει έναν πίνακα στη μνήμη με αριθμούς(όπου υπάρχει βρόχος επανάληψης και σε κάθε θέση αποθηκεύεται ο αριθμός Ν ξεκινώντας απο την διεύθυνση ΑΜ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
MindControl Δημοσ. 11 Ιουνίου 2012 Δημοσ. 11 Ιουνίου 2012 Έστω ότι μεταφέρεις το περιεχόμενο τάδε της μνήμης , στον 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.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα