 |
|
 |
MAEC TOOL NEWS:
MAECT-M3T-PD79SIM-021016D
Notes on Simulator Debuggers M3T-PD79SIM and M3T-PD77SIM
|
Please take note of the following problems in using simulator debuggers M3T-PD79SIM and M3T-PD77SIM:
- On absolute-value instructions
- On subtraction instructions
- Problem on Absolute-Value Instructions
- 1.1 Product and Versions Concerned
- M3T-PD79SIM V.1.00 Release 1 -- V.3.10 Release 1 for the 79xx series
- 1.2 Description
- When operations handling any of the values shown below that cannot be converted to positive numbers are performed using an absolute-value instruction (ABS or ABSD), the C flag may be set to 1, not cleared to 0.
- 8-bit operation: -128 (80h)
- 16-bit operation: -32768 (8000h)
- 32-bit operation: -2147483648 (80000000h)
- 1.3 Example
---------------------------------------------------------------
LDA A, #8000H
ABS A ; C = 1
LDAD E, #80000000H
ABSD E ; C = 1
---------------------------------------------------------------
- 1.4 Workaround
- There are no ways that can circumvent this problem. Use absolute-value instructions with care, when you use them.
- 1.5 Schedule of Fixing the Problem
- We plan to fix this problem in our next release.
- Problem on Subtraction Instructions
- 2.1 Products and Versions Concerned
- M3T-PD79SIM V.1.00 Release 1 -- V.3.10 Release 1 for the 79xx series
- M3T-PD77SIM V.1.00 Release 1 -- V.3.00 Release 1 for the 77xx series
- 2.2 Description
- When the value of the minuend loaded in the accumulator or memory is 0 before the operation is performed using any of the subtraction instructions shown below, the V flag will not be set to 1 if the result of the operation overflows.
| Simulator debugger | Subtraction instructions |
| M3T-PD79SIM | SBC, SBCB, SBCD, SUB, SUBB, SUBD, SUBM, SUBMB, and SUBMD |
| M3T-PD77SIM | SBC |
- 2.3 Example
- In the program example shown below, the results of the subtraction operations using SBC, SBCB, and SBCD overflow, but the V flag is not set to 1.
---------------------------------------------------------------
LDA A, #0000H
CLM
SEC
SBC A, #8000H ; V = 0
LDA A, #0000H
SEC
SBCB A, #80H ; V = 0
LDAD E, #00000000H
SEC
SBCD E, #80000000H ; V = 0
---------------------------------------------------------------
- 2.4 Workaround
- There are no ways that can circumvent this problem. Use subtraction instructions with care, when you use them.
- 2.5 Schedule of Fixing the Problem
- We plan to fix this problem in our next release.
|
 |