Archiv verlassen und diese Seite im Standarddesign anzeigen : Bedeutung von MVI, LXI?
Hi, ich bräuchte unbedingt ein paar Infos über folgende Befehle und wie man sie anwendet.
MVI B,FF (Das Register B bekommt den Wert FFh, soweit korrekt?
LXI D 21 <-- Was mache ich hier? D bekommt den Wert 21h?
System ist ein 8085 (nein, ich hab mich nicht verschrieben ;)) von Midicom. Gibts da nicht eine kleine und feine Anleitung dazu?
MfG,
Silver
MVI is ein MOVE befehl ( hier steht genaueres : http://skywy.ch/ASM/IBM/MVI/index.html )
Leider habe ich nichts genaues zu LXI gefunden denke aber das es ein LOAD befehl ist. Sry für diese vagen aussagen :)
Nutah
Also MVI bedeutet das du einen Wert in ein bestimmtes register schreibst
(MVI A, FF)
LXI H, ISR
ISR: ....
Speichert die Adresse von ISR in in das HL Register (LXI benutz immer 2 Register = 8 bit)
hier mal ein Beispiel mit dem Interrupt 7.5
;********************************
;* *
;* Init 7.5 *
;* *
;********************************
.ORG 0E000h
MAIN: MVI A, 0C3h ;0C3 = befehl für jmp
STA 0FC9Eh ;STA Speichert Akku nach FC9E - RST 7.5 springe nach FC9Eh (wenn der Interrupt ausgeführt wird)
LXI H, ISR ;Adresse von ISR in Register HL speichern
SHLD 0FC9Fh ;Register HL auf FC9E und FAC0 speichern
MVI A, 00011011b ;7.5 Maske
SIM ;Setze Interrupt maske
MVI A, 00 ;Wert 00 in den Akku schreiben
STA 0F800h ;löschen des inhaltes der Sekunde durch überschreiben mit Akku
STA 0F801h ;löschen des inhaltes der Minute durch überschreiben mit Akku
STA 0F802h ;löschen des inhaltes der Stunde durch überschreiben mit Akku
EI ;Generelle Freigabe
RET ;Zurück zum...
;****************************************
;* *
;* Frequenzteiler für 1 Sek *
;* *
;****************************************
ISR:
MVI A, 00100101b ; MASKE für Zähler 0 in Akku speichern
OUT 0B3H ; Akku auf das Steuerwort Register ausgeben
MVI A, 20H ; 2000 Dez in den Akku schreiben
OUT 0B0H ; Akku in den Zähler 0 schreiben(Fequenzteiler = 2000)
MVI A, 01100101b ; MASKE für Zähler1 in Akku speichern
OUT 0B3H ; Akku auf das Steuerwort Register ausgeben
MVI A, 10H ; 1000 Dez in den Akku schreiben
OUT 0B1H ; Akku in den Zähler 1 schreiben(Fequenzteiler = 1000)
RET ; zurück ins Hauptprogramm
.END
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.