Forum: Mikrocontroller und Digitale Elektronik MUL DIV (Sprung)


von Düsseldorf246 (Gast)


Lesenswert?

Hallo zusammen,

ich habe heute eine Hausaufgabe aufbekommen und die lautet 
so..MUL.DIV..wie haben in der schule 2 programme aufgeschrieben gehabt:

MOV A, 0000 00001b
CPL A
MOV DPTR,#0FA40h
MOVX @DPTR, A
  u1: MOV B,#02h
MUL AB
CPL A
MOVX @ DPTR,A
(Zeit)
CPL A
jmp u1

2.Programm:

   u1: MOV A ,# 0128
MOV B ,# 02
DIV AB
MOV DPTR,#0FA40h
CPL A
MOVX @ DPTR, A
(Zeit)
CPL A
jmp u1


Mein Frage ist es jetzt wenn man von den 1.Programm bei CPL A einen 
sprung zu den anderen Programm(2.)Springt.... wie was macht man das.

Meine meinung muss man ganz normale jmp befehl schreiben...?

mfg

von Düsseldorf246 (Gast)


Lesenswert?

Wie macht man das....?

mfg

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> jmp befehl
Gibts beim 8051&Co so direkt nicht.
Abhängig von der Sprungweite ist das ein rjmp, sjmp oder ljmp. 
Allerdings gibt es Assembler, die aus einem jmp den korrekten Sprung 
ermitteln.

von Düsseldorf246 (Gast)


Lesenswert?

ok danke...ich glaube das ist der LJMP adr16;---> Setze das programm bei 
adr16 fort...

Oder

Das kann ja auch der jmp@A+DPTR sein----> Setze das programm an der 
stelle fort, die sich aus der summe von akkumulator und DPTR gibt.

mfg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.