ein 8085 assembly language-Programm zu finden, die die Fakultät einer Zahl
will ich finden, Fakultät einer Zahl, die ich Speicher zuerst.(intel 8085)
edit: ich bin Anfänger. ich weiß nicht, wie es zu schreiben ist Montage-codes.
pseudo-code:
input n
fact = 1
loop:
..multiply fact by n
..decrement n
..test n
..jump if not zero to loop
output fact
- Veröffentlichen, was Sie bisher geschrieben haben.
- Auch, warum Sie dies tun wollen? Als learning-Projekt? Sie müssen nur den Wert so einfach wie möglich (Verwendung einer lookup-Tabelle)? Haben Sie library-Funktionen (z.B. Multiplikation), die Sie verwenden?
- Muss Hausaufgaben-tag ?
- R: Es gibt nicht sehr viele Klassen, die lehren, 8085 draußen, und ich sehe das nicht als eine gute Hausaufgaben-Frage, so dass ich eher zu bezweifeln es Hausaufgaben. Könnte es eine sehr schlecht vorbereitete hobby-oder self-learning-Projekt.
- es keine Hausaufgaben. ich studiere 8085 für meine Prüfung.
- Ich würde auf eine viel einfachere Projekt, es sei denn, Sie haben bereits eine Multiplikation Unterroutine, die Sie verwenden können.
- ok. wie kann ich also tun Sie es mit x86?
- Ich habe nie ein Programm ein Intel-chip in assembler, obwohl der Zilog Z80 ist nahe genug, um den 8085, dass ich reden kann, die intelligent über die letzteren. In jedem Fall, die Antwort ist zu lernen, die Instruktionen und Adressierungsarten und dergleichen, das ist ein sehr low-level-Prozess selbst.
- R Hausaufgaben-tag ist veraltet.
- Ich weiß, es war nicht veraltet zurück im Jahr 2010, als ich schrieb, dass Kommentar wenn.
- R: Wow, wie kam ich hierher? 😛
Du musst angemeldet sein, um einen Kommentar abzugeben.
In den ersten Platz, Sie würden besser lernen, wie zu schreiben, 8085, wenn Sie erwarten, es zu benutzen. Assembler, speziell für alte 8-bit-Mikroprozessoren, ist nicht etwas, Sie können nur Konserven software-und patch-in.
In den zweiten Platz, genau das, was verwenden Sie für zahlen? Der 8085 ist ein 8-bit-bus und verwenden können, wird als 16 bit. Wenn Sie beschränkt sich auf 16-bit-zahlen, können Sie mithilfe einer lookup-Tabelle, da kann man nicht vertreten 9! sowieso.
In den Dritten Platz, wenn Sie es tun, die algorithmischen Weg, möchten Sie vielleicht zunächst einen Blick in das, was Sie verwenden für die Multiplikation. Der 8085 nicht über on-chip-Multiplikation. (Ich habe einmal einen Wettbewerb gewonnen, bei mehreren Präzision Multiplikation und division mit der Z80, der hatte einige features der 8085 hatte nicht. Insbesondere war ich in der Lage, die Verwendung des alternativen register-bank zu tun, einige nützliche Dinge.)
mit einem intel 8085-Prozessor, wobei ein 8-bit-Zahl, in diesem Fall 5, kann ich dies Schreibe:
die Fakultät von 5 wäre dann 78 in hex.
die Logik ist..
5!= 5x4x3x2x1
also 5 hinzufügen, vier mal, das Ergebnis (ich.e 20) fügen Sie drei mal und so weiter...
(5+5+5+5), (20+20+20), (60+60) und konvertieren von 120 auf hex ...
Mit diesem Programm können Sie finden die Fakultät für eine 8 bit-Zahl, deren Antwort nicht überschreiten 24 Bits!
Der Eingang ist in der Lage
#2070
- und-Ausgang erhalten wird, ist in 2 memory locations in der Reihenfolge#2074
#2073
#2072
Dieser kann Ihnen dabei helfen. Dies ist für 7!.
Diesen code finden Sie die Fakultät von 9. Finden Sie die Fakultät einer beliebigen Zahl bis 9 den Wert ändern in der DB.