Assembler ; Rechnen mit Überlauf

Joined
Dec 9, 2002
Messages
7,533
Points
310
Moin,

habe da mla eine Frage.

Nehmen wir an ich habe folgendes geschehen.

Adresse

0001 = 80
0002 = 81
0003 = x
0004 = x

nun folgendes Programm

LD HL 0001
LD A, M
INC L
LD B, M
SUB A, B
INC L
LD M, A
LD A, H
SBC A, A
INC L
LD M, A
RET


meine Frage was steht nun in 0003 und 0004?

ich habe ja Hex 80 - 81 gerechnet.

Geht also darum wenn ich einen "Überlauf" in einem Byte habe wie der Assembler reagiert, also ob er auf "FF" oder "00" zurücksetzt?

0003 = FF
0004 = 01

oder

0003 = 00
0004 = 01

?

evlt weiss es ja jemand ;)

PS: Assembler ftw :D
 
Dies ist nicht vorgeschrieben, weshalb du Angaben zur CU machen müsstest, damit ich es dir beantworten kann.
 
Control Unit, ein Bestandteil einer CPU.
Falls du eine CPU nutzt, reicht mir auch deren Name, ansonsten sag mir einfach die genaue Bezeichnung des Gerätes, welche deine Assemblerbefehle ausführen soll.
 
Hi,

also eigentlich haben wir als Rechner die Z80.

Allerdings war das eine Theorie Aufgabe, wo auch kein Rechensystem gegeben war. Könnte man sich da also streiten das beides richtig ist wenns nich gegeben ist? hehe :)
 
Ja, denn dies hängt von der jeweiligen Implementation ab.
Viele würden dann ein Carry/Overflow Flag setzen und auf den Überlauf reagieren, andere lässt dies aber total kalt *brrr* ...
Es ist eben nicht vorgeschrieben, sondern abhängig vom jeweiligen Prozessor.
 
Back
Top Bottom