Tak to je to co vyplivne prekladac. Snad se v tom zorientujes.
;
;my_lcd.c,97 :: char tmp = 'B',tmp0;
$01BE $0E42 MOVLW 66
$01C0 $6E2B MOVWF put_char_on_lcd_tmp_L0, 0
;my_lcd.c,101 :: RS = 1;
$01C2 $8483 BSF PORTD, 2, 0
;my_lcd.c,103 :: E = 1;
$01C4 $8683 BSF PORTD, 3, 0
;my_lcd.c,111 :: PORTD = (tmp & 0xf0) | (PORTD & 0x0f); // OK
$01C6 $0E0F MOVLW 15
$01C8 $1483 ANDWF PORTD, 0, 0
$01CA $6E00 MOVWF STACK_0, 0
$01CC $0E40 MOVLW 64
$01CE $1000 IORWF STACK_0, 0, 0
$01D0 $6E83 MOVWF PORTD, 0
;my_lcd.c,113 :: E = 0;
$01D2 $9683 BCF PORTD, 3, 0
;my_lcd.c,115 :: E = 1;
$01D4 $8683 BSF PORTD, 3, 0
;my_lcd.c,124 :: PORTD = (tmp<<4) | (PORTD & 0x0f);
$01D6 $C02B F001 MOVFF put_char_on_lcd_tmp_L0, STACK_1
$01DA $3601 RLCF STACK_1, 1, 0
$01DC $9001 BCF STACK_1, 0, 0
$01DE $3601 RLCF STACK_1, 1, 0
$01E0 $9001 BCF STACK_1, 0, 0
$01E2 $3601 RLCF STACK_1, 1, 0
$01E4 $9001 BCF STACK_1, 0, 0
$01E6 $3601 RLCF STACK_1, 1, 0
$01E8 $9001 BCF STACK_1, 0, 0
$01EA $0E0F MOVLW 15
$01EC $1483 ANDWF PORTD, 0, 0
$01EE $6E00 MOVWF STACK_0, 0
$01F0 $5000 MOVF STACK_0, 0, 0
$01F2 $1001 IORWF STACK_1, 0, 0
$01F4 $6E83 MOVWF PORTD, 0
;my_lcd.c,130 :: E = 0; ///////////////////////