Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » MULTI/DIV MCU Zilog Z86C93 » Themenansicht

Autor Thread - Seiten: -1-
000
02.06.2022, 13:00 Uhr
deaf_ac1



Zilog Z86C93 hat einen erweitertes Befehlsatz für MULTI/DIV

MULTI = Multiplikation von 2 Zahlen je 16 Bit (benötigt 2 Registerpaare) zu 32 Bit Ergebnis (benötigt 2 andere Registerpaare)
DIV = Divison von Zahl 32 Bit mit dem Zahl 16 Bit zu 16 Bit Ergebnis.

Ich habe nach den Befehlsatz MULTI/DIV gesucht. Welche 4 Register-Paare benötigt man für Multiplikation und Divison? Es dürfte auch bei Zilog Z8 encore sein.

Ich würde mich freuen, wenn es Hinweise gibt.

Viele Grüße

Babette
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
02.06.2022, 13:22 Uhr
MarioG77

Avatar von MarioG77

Hi Babette,

hab noch nicht (nein noch keine... ) viel Z80 Assembler Erfahrung. vielleicht hilft dir der Link weiter:
https://www.zilog.com/docs/z8/appnotes/signedmath.pdf

Appendix A

Quellcode:

; MULTIPLICATION PROCEDURE
; *******************************
; Purpose = To perform an 8-bit by 8-bit unsigned binary
; multiplication.
;
; Input = R1 = multiplier
; R3 = multiplicand
;
; Output = RR2 = product
; R0 = destroyed
; *******************************



Appendix B

Quellcode:

; DIVIDE PROCEDURE
; *******************************
; Purpose = To perform a 16-bit by 8-bit unsigned binary division.
;
; Input = R1 = 8-bit divisor
; RR2 = 16-bit dividend
;
; Output = R3 = 8-bit quotient
; R2 = 8-bit remainder
; Carry flag = 1 if overflow
; = 0 if no overflow
*******************************



Gruß Mario
--
Gruss Mario

Betriebsbereit: KC85/3, 2x [KC85/4, D004+Floppy], PPC512, PC1512, 2xEC1834, Soemtron 286, 3x PC1715, picoAC1
Zu restaurieren: 1x D004

Dieser Beitrag wurde am 02.06.2022 um 21:06 Uhr von MarioG77 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
02.06.2022, 13:24 Uhr
paulotto



Hallo Babette,

lade Dir dc2508.pdf (unter dokumentation bei Z86C93) von zilog.com runter, da ist alles beschrieben. Die Multiplikations-/Divisionsregister liegen in der extended register bank 0Eh von Bank 0. Die Mult/Div-Einheit wird wie ein peripheres Gerät gehändelt (genauso wie die Timer/extended register bank 0Dh).

Gruß,

Klaus

Dieser Beitrag wurde am 02.06.2022 um 13:35 Uhr von paulotto editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek