Was soll das bedeuten?

OP #558338
Lesenswert?
• ▲
▼
Hi,

kann mir jemand erklären warum es hier einen Unterschied im disassembly 
listing gibt?

.
.
.

a = Eingang1 (zb Port A0)

b = Eingang2 (zb Port C2)

.
.
.

Das dazugehörige disassembly listing

.
.
.
1
a =  Eingang1; 
2
  5204    5080     MOVF 0xf80, W, ACCESS
3
  5206    0B01     ANDLW 0x1
4
  5208    0100     MOVLB 0
5
  520A    6FE0     MOVWF 0xe0, BANKED
6

7
b =  Eingang2;
8
  5216    5082     MOVF 0xf82, W, ACCESS
9
  5218    0B04     ANDLW 0x4
10
  521A    E001     BZ 0x521e
11
  521C    0E01     MOVLW 0x1
12
  521E    0100     MOVLB 0
13
  5220    6FE0     MOVWF 0xe0, BANKED

Ich verstehe da soweit alles, nur den Sinn und Zweck der zwei Zeilen 
nicht
1
 5218    0B04     ANDLW 0x4
2
 521A    E001     BZ 0x521e

Kann mir jemdand das erklären, was sich der Compiler dabei gedacht hat?
PIC18F2250, C18 Compiler.

lg,
blitzgeist
Gast #558504
Lesenswert?
• ▲
▼
Das Ergebnis in a bzw. b ist ein boolscher Wert, also 0 oder 1.

Wenn Du Bit 0 einliest enthält das wreg nach dem ANDLW 0x1 schon den 
richtigen Wert.

Bei dem zweiten Beispiel steht aber nach dem ANDLW 0x4 entweder 0 oder 4 
im wreg, bei 4 wird MOVLW 0x1 ausgeführt und bei 0 wird es übersprungen.
Als Folge enthält wreg dann auch wieder 0 oder 1.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.