DVT2N aufgabe 3

Hallo zusammen

habe probleme mit der 3. aufgabe von dvt2n:

;DVT2N_3

jmp start

;data
ORG 2900h

;code
start: mvi a,00h
mvi c,0b9h
ein: In 0b8h
cmp c
jz ein
jc null
mov c,a
jmp ein
null: in 0b8h
ani 0ffh
jnz null
aus: mov a,c
out 0a8h



hlt

a) welche anweisung fehlt nach ORG2900h ->habe mithilfe des lernheftes OFS 3900h ermittelt

b) an port b wird 8fh eingegeben. Ergänzen sie nur die Wirkung derjenigen Befehle die bei der programmabarbeitung ausgeführt werden -> meiner meinung nach läuft das programm erstmal bis zur zeile JMP ein, dann kommt der sprung zum ein-label. danach beginnt eine endlosschleife vom label-ein bis zu JZ ein.

Ich dneke das die ich die ersten aufgaben richtig habe (falls nicht wäre ein hinweis sehr nett). ab aufgabe c) hab ich probleme weil ich das program wohl nicht wirklich verstehe

c) welche bedingung muss erfüllt sein damit das an port b eingegebene wort an port a ausgegeben wird

ich habe ein bisschen rumprobiert und zb den port c mit einem wert vorgeladen der größer ist als der an port b anliegende (8Fh)damit bei CMP befehl das carry gesetzt wird und ich somit zum label "null" weiterkomme. nur bin da wieder in einer endlosschleife gefangen.

d)begründe sie den befehl ANI 0FFh

aus meiner ausbildung hab ich noch eine wage erinnerung, dass AND zum ausmaskieren von einzelnene bits benutzt wird, was bei FFh allerdings keinen sinn macht, da der eingegebene wert vor und nach dem AND gleich ist. hat noch jemand ne idee dazu?

e) nach der ausgabe an port a soll ein neues wort von port b gelesen werden können, schrieben sie die dazu erforderlichen befehle.

da mein program nie bis zum ende kommt kann ich es nicht praktisch ausprobieren. ich würde einen einfachen "JMP start" einfügen, oder denke ich da zu einfach?

Ich hoffe ich werde jetzt nicht von euch auseinandergenommen, bin aber für jegliche form von konstruktiver kritik dankbar!
 

Jobs

Jobmail abonieren - keine Jobs mehr verpassen:

Top