A13003: Value is truncated to one byte

[DISABLED, INFORMATION, WARNING, ERROR]

Description

An operand is only possible as 8 bit direct mode, but the actual passed in one is larger. As labels are 16 bit by default.

Example
  MyData: SECTION

  data:   DS.B 1

  POS     EQU 2

  MyCode: SECTION

  entry:

          ADD data

          BCLR  7, data

          BRCLR 4, data, entry

          BSET  3, data

          BRSET POS, data, entry
  

The following instructions do only support direct memory access. Using them with a label without explicit size specification causes this message.

  XREF label
 
  ASR label

  BCLR 2,label

  BRSET 0, label, *

  BSET 0,label

  CBEQ label,*

  CLR label

  COM label

  CPHX label; legal for HCS08

  DBNZ label, *

  DEC label

  INC label

  LDHX label; legal for HCS08

  LSL label

  LSR label

  MOV #1, label

  MOV label, label

  NEG label

  ROL label

  ROR label

  STHX label; legal for HCS08

  TST label
  
Tips

Use the Direct addressing Mode for the operand: as an example, you can define data in a section located on page zero using the qualifier SHORT after the SECTION directive. For labels defined with XREF, use the XREF.B or XREFB directive. For labels defined with EQU, use EQU.B if the right side cannot be automatically determined to be direct.

  MyData: SECTION SHORT

  data:   DS.B 1

  POS     EQU 2

  MyCode: SECTION

  entry:

          CPHX data

          BCLR  7, data

          BRCLR 4, data, entry

          BSET  3, data

          BRSET POS, data, entry
  

Example
  XREF.B label

  ASR label

  BCLR 2,label
  

See also