Απορία σε Assembly 8085 για διαίρεση αριθμών

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

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

Απάντηση
marseille_13
Δημοσιεύσεις: 1
Εγγραφή: 01 Σεπ 2015 16:05

Απορία σε Assembly 8085 για διαίρεση αριθμών

Δημοσίευση από marseille_13 » 01 Σεπ 2015 16:38

Γεια σας,

προσπαθώ να κάνω ένα κώδικα που να βρίσκει το συνημίτονο μιας γωνίας μέσω της σειράς Taylor.

Επειδή είμαι αρχάριος πειραματίζομαι με την Assembly και εν προκειμένω βρίσκω το γινόμενο δύο αριθμών (3Χ3) και έπειτα το παραγοντικό ενός αριθμού (2).

Ωστόσο όταν πάω να διαιρέσω τον γινόμενο με το παραγοντικό δεν εμφανίζεται σωστή τιμή...

Παραθέτω τον κώδικα μέχρι στιγμής...

Γνωρίζει κανένας από εσάς τι παίζει;;;; Ευχαριστώ εκ των προτέρων !! :)

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


START:	   MVI A,03	// ΜΕΤΑΦΟΡΑ ΤΗΣ ΓΩΝΙΑΣ 3 RAD ΣΤΟΝ ΚΑΤΑΧΩΡΗΤΗ Α
	   STA 0000	// ΑΠΟΘΗΚΕΥΣΗ ΤΗΣ ΓΩΝΙΑΣ ΣΤΗ ΘΕΣΗ ΜΝΗΜΗΣ 0100H
	   MVI A,03	// ΜΕΤΑΦΟΡΑ ΤΗΣ ΓΩΝΙΑΣ 3 RAD ΣΤΟΝ ΚΑΤΑΧΩΡΗΤΗ Α
	   STA 0001	// ΑΠΟΘΗΚΕΥΣΗ ΤΗΣ ΓΩΝΙΑΣ ΣΤΗ ΘΕΣΗ ΜΝΗΜΗΣ 0101H
// ////////////// ΥΠΟΛΟΓΙΣΜΟΣ ΤΟΥ 3^2/////////////////////
	   LXI H,0000
	   MOV B,M
	   INX H
	   MOV C,M
	   MVI A,00

LOOP:	   ADD B
	   DCR C
	   JNZ LOOP
	   INX H
	   STA 0002
	   MOV M,A
// ///////////////////// ΥΠΟΛΟΓΙΣΜΟΣ ΤΟΥ 2!////////////////
	   MVI B,02
	   MOV C,B
	   DCR C

LOOP1:	   MOV E,C
	   SUB A

LOOP2:	   ADD B
	   DCR E
	   JNZ LOOP2
	   MOV B,A
	   DCR C
	   JNZ LOOP1
	   STA 0003
// ////////////////Διαίρεση 9/2////////////////////////////
	   MVI C,00	// initialize register C to 00
	   LDA 0003	// Διαιρέτης στον Accumulator
	   MOV B,A	// Διαιρέτης στον register B
	   LDA 0002	// Διαιρεταίος στον accumulator

TOP:	   SUB B
	   INR C

JNC TOP:	   DCR C
	   ADD B
	   MOV A,B
	   STA 0007	// Aποθήκευση του υπόλοιπου στο 0007
	   MOV A,C
	   STA 0008	// Aποθήκευση του πηλίκου στο 0008
	   HLT

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

Απορία σε Assembly 8085 για διαίρεση αριθμών

Δημοσίευση από LightForce » 02 Σεπ 2015 09:17

Γεια,

Δεν γνωρίζω 8085, εντούτοις αν βρω χρόνο ίσως δοκιμάσω τον κώδικα. Σε ποιον emulator?

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Απορία σε Assembly 8085 για διαίρεση αριθμών

Δημοσίευση από geomagas » 02 Σεπ 2015 15:45

Ούτε εγώ γνωρίζω από 8085, και η assembly μου είναι αρκετά ...σκουριασμένη, αλλά από πρώτη ματιά, η παρακάτω γραμμή μου φίανεται ύποπτη:
marseille_13 έγραψε:

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

JNC TOP:	   DCR C
Μπορεί να κάνω και λάθος... :)

Απάντηση

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

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

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