Assembler-Befehl lsld

Gast #2837284
Lesenswert?

Hallo, ich hoffe ich bin hier richtig.
Ich habe eine Frage zum Schift-Befehl und zwar wenn ich bspw. schreibe
1
ldd #$01 // Hex. $01 in Akku d
2
lsld  // schiebe akku d nach links d.h MSB-->carrybit und LSB --->0
ist der Inhalt von d dann $02 ?

Was passiert wenn ich z.B.
1
ldd #$F0
2
lsld
habe.
Ist dann der Inhalt von d $E0 ?
Dann wird das Carrybit ja 1, hat das irgendeine Auswirkung?

Danke und Gruß, Stefan
#2837295
Lesenswert?

Zum anderen gibt es für jeden Prozessor umfangreiche 'Instruction Set' 
Beschreibungen, in denen haarklein in allen Details beschrieben ist, was 
die einzelnen Befehle exakt machen.

Ohne diese Beschreibungen hat man als Assembler-Programmierer keine 
Chance. Die sind ein absolutes "Haben-Muss"

> Dann wird das Carrybit ja 1, hat das irgendeine Auswirkung?

Dann wird das Carrybit eben 1.
Und Auswirkungen hat das dann eben auf den nächsten Befehl, der das 
Carry-Bit mitverwendet. Daher muss man als Assembler Programmierer von 
jedem Befehl wissen:
  * welche Flags beeinflussen wie den Befehl
  * welche Operation führt der Befehl durch
  * wie werden die Flags durch die Ausführung des Befehls beeinflusst

Und wenn man das von einem Befehl nicht auswendig weiß (normalerweise 
gibt es Befehls-'Familien', die sich in dieser Hinsicht gleich 
verhalten), dann muss man eben in der Instruction Set Doku nachsehen, 
denn da steht das alles haarklein drinnen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren