📄 mpalc.bug
字号:
Bug list for:
PICALC 16c5x assembler Version 3.03
This file contains all known bugs for PICALC versions 3.03 Released
throgh version 4.00 Released.
Last file update: Thursday 07 Jan 93
-------------------------------------------------------------------------
Key Words: bug, expression
Description: The relational expression 3==3 does NOT evaluate correctly.
Example:
movlw (3==3)
movlw (3<=3)
movlw (4!=3)
When assembled, line 1 generates a 'Bad expression' message.
Lines 2 and 3 evaluate correctly to logical value
TRUE (1).
Work around: None
Related Prob: None
SSR#: 1021
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: ARITHOP.ASM
Status: Fixed 3.03.20
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, expression
Description: The expression ~8 evaluates to 0xFF instead of 0xF7.
Example:
movlw ~8
The list file displays the value as 0x0CFF.
Work around: None
Related Prob: None
SSR#: 1022
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: ARITHOP.ASM
Status: Fixed 3.03.20
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, org
Description: The org directive allows setting an address value
beyond the processor range.
Example:
list P=16C54, F=INHX16
org 000h
nop
org 1ffh
nop
org 200h
nop
Org 200h should generate an error message.
Work around: None
Related Prob: 1054
SSR#: 1023
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: ARITHOP.ASM
Status: Fixed 4.00
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, res, output file
Description: The res directive does not always produce a correct output
file even though the listing file appears correct.
Example:
RESLBL res 3
data 0x1234
The .lst file shows the directive res 3 and the data
0x1234 at address RESLBL+3. However, the .obj file
places the data at address RESLBL, ignoring the
res 3 directive.
Work around: None
Related Prob: None
SSR#: 1024
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: ARITHOP.ASM
Status: Unscheduled
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, INHX8S, output file format
Description: The example below shows the .asm, .lst, & .obl files. The
The problem is that the addresses of the obl & obh files
appear to be left shifted by 1 bit.
Example:
.ASM FILE:
list F=INHX8S
org 00h
data 1234h
data 5678h
data 9ABCh
org 100h
data 1234h
data 5678h
data 9ABCh
data 1234h
data 5678h
data 9ABCh
org 1f0h
data 1234h
data 5678h
data 9ABCh
.LST FILE:
0008 0000 1234 data 1234h
0009 0001 5678 data 5678h
0010 0002 9ABC data 9ABCh
0011
0012 0000 org 100h
0013
0014 0100 1234 data 1234h
0015 0101 5678 data 5678h
0016 0102 9ABC data 9ABCh
0017
0018 0103 1234 data 1234h
0019 0104 5678 data 5678h
0020 0105 9ABC data 9ABCh
0021
0022 0000 org 1f0h
0023
0024 01F0 1234 data 1234h
0025 01F1 5678 data 5678h
0026 01F2 9ABC data 9ABCh
.OBL FILE:
:030000003478BC95
:060200003478BC3478BC28
:0303E0003478BCB2
:00000001FF
Work around: None needed
Related Prob: None
SSR#: 1025
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: ARITHOP.ASM
Status: The file format is correct and complies with Intels format for
programing two eight bit proms to form a 16 bit words.
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, res
Description: The following erroneous code does NOT produce any error
messages.
Example:
res -1
Work around: None
Related Prob: None
SSR#: 1026
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: ARITHOP.ASM
Status: Unscheduled
Severity: Nuisance
-------------------------------------------------------------------------
Key Words: bug, org
Description: The following erroneous code does NOT produce any error
messages.
org 01F0h
nop
nop
nop
org 01F2h
This code should produce an error message because the second
org references over existing code.
Work around: None
Related Prob: SSR# 1054
SSR#: 1027
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: ARITHOP.ASM
Status: Fixed 4.00
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, branch, res
Description: When using the res directive after a b (branch) instruction
the program counter is properly advanced in the .lst file
but not in the object code file.
Example:
.ASM FILE:
BUGLBL1 b BUGLBL2+4
BUGLBL2
res 4
movlw 1
movlw 2
movlw 3
movlw 4
movlw 5
LST FILE:
0001
0002
0003 list F=INHX16
0004
0005 0000 0A05 BUGLBL1 b BUGLBL2+4
0006 BUGLBL2
0007 0001 res 4
0008 0005 0C01 movlw 1
0009 0006 0C02 movlw 2
0010 0007 0C03 movlw 3
0011 0008 0C04 movlw 4
0012 0009 0C05 movlw 5
OBJ FILE:
:060000000A050C010C020C030C040C05A0
:00000001FF
If one runs the above example in PICSIM, the PC
will jump from BUGLBL1 to the movlw 5 instruction
instead of the intended movlw 1 instruction. Note
the .lst file shows the correct PC values.
Work around: None
Related Prob: None
SSR#: 1028
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: BRANCH.ASM
Status: Unscheduled
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, local label, macro
Description: This macro has a local label with forward and backward
references. The .lst file shows the forward reference
correctly and the label is correct. But the backward
reference is NOT correct and generates an erroneous error
message as shown on line 17 below.
Example:
.ASM FILE:
MAC1 macro
local LBL1
movlw 1
goto LBL1
movlw 2
LBL1 movlw 3
goto LBL1
endm
MAC1
.LST FILE:
0005 MAC1 macro
0006 local LBL1
0007 movlw 1
0008 goto LBL1
0009 movlw 2
0010 LBL1 movlw 3
0011 goto LBL1
0012 endm
0013
0014 MAC1
0015 m
0016 0000 0C01 m movlw 1
0017 0001 0A03 m goto??00000000
0018 0002 0C02 m movlw 2
0019 0003 0C03 m??00000000movlw3
0020 0004 0A00 goto LBL1
Work around: An alternate approach is to use the SET directive as shown
below:
MAC1 macro
; local LBL1
; comment out local directive
movlw 1
goto LBL1
movlw 2
LBL1 set $ ;set label = pc
movlw 3
goto LBL1
endm
Related Prob: None
Work around: None
SSR#: 1029
Version: PICALC 3.03
Date: 12 Feb 92
Reported by: Tim Colburn, Microchip Technology
Test File: MACROS.ASM
Status: Fixed 3.03.20
Severity: Affected Code
-------------------------------------------------------------------------
Key Words: bug, macro
Description: When the following macro is called, the 'goto LBL3'
instruction produces strange characters in the listing
file for the label LBL3.
Example:
.ASM FILE:
MAC3 macro
local LBL3
goto LBL3
LBL3 nop
endm
MAC3
.LST FILE:
0012 m
0013 0000 0A00 m goto
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -