20.Dec.2023
|
Assembler: ASM-Pro 1.20 released
ASM-Pro is a MC680x0 macro assembler for the Amiga with integrated editor, debugger, linker and monitor. The programme offers complete MC680x0, FPU and MMU support. ASM-Pro has now been updated to version 1.20. The changes:
ADDITIONS
- ASM: New symbol REPTN, value is set to 0 to (N-1) while inside a
REPT block and -1 while outside.
- ASM: New predefined symbol ASMPRO, value contains ASMPro version
in the following format: major*256+minor.
- ASM: New directive EQUA, intended for post-processing. Do not use
if unsure how it works and what it does. It works similar to EQU
but the value is absolute (it also "relocates" and can be used to
access relocatable data from absolute sections).
- ASM/DISASM: Added support for PLPA instruction (68060).
MODIFICATIONS
- UI: reqtools.library v38+ is required instead of any version.
- DISASM: FNOP is now displayed instead of a 0 displacement FBF.W.
- ASM: Macro parameter \@ reimplemented to work correctly with
system includes (pass1/2 conflicts with conditional assembly).
- ASM: Trailing / is appended to INCDIR path if needed.
- ASM: Current source directory is used as fallback to find include
files, and finally the INCLUDE: assign as well.
- ASM: Both CMP and CMPM with (Ax)+,(Ay)+ are now allowed.
- ASM: Allow MOVEM and FMOVEM descending register lists.
- ASM: Allow longword size for FMOVEM with control registers.
- UI: The ancient prefs toggles and closewb code removed from the
menu event handler.
- Over 900 additional micro optimizations, 21KB reduction of the
executable size compared to v1.18.
BUGFIXES
- UI-1.19: File pattern in the read/write source file requester is
incorrect if Source .ASM is enabled in the general preferences.
- UI: Crash if diskfont.library couldn't be opened.
- DISASM: Crash on 68000/010 systems if DBcc.L (Apollo) has a 2-char
conditional code.
- EDIT: Continuously pressing page up to reach the top of the source
code after unsuccessful assembly (and similar variations), would
freeze the editor.
- DISASM: CALLM absolute and pc-relative modes don't work, immediate
mode's hex operand is missing a leading $.
- DISASM: Several CHK2 and CMP2 modes don't work.
- ASM: Incorrect opcodes generated or not supported for CHK2 and CMP2.
- DISASM: CINV and CPUSH specifier NC (neither cache) is displayed as
BC (both caches).
- ASM: CINV and CPUSH specifier NC (neither cache) is not implemented.
- DISASM: MOVES destination absolute long mode doesn't work.
- DISASM: PMOVE (68030 variant) mixes up registers TT0 and TT1.
- ASM: FMOVEM and some FMOVE variants allow destination pc-relative
modes.
- UI: The changed source prompts are brought up at the end of restart
instead of right away.
- ASM: No CPU warning for CALLM (68020 only) if the selected CPU is
68030 or higher.
- ASM: INCDIR path is not reset when starting a new assembly.
- ASM: Including a directory prints out random trash characters.
- MONI: Scrolling left/right (alt-left/right arrow) hides the cursor.
- ASM: PMOVE with MMUSR outputs incorrect register.
- DBG: Debugged program's user and supervisor stacks (and corresponding
USP/SSP registers) are switched.
- DISASM: FMOVEM has a trailing "/" in some scenarios.
- ASM: FMOVEM allows size .X with control registers.
- DISASM: Infinite loop with some 68040 specific FPU opcodes.
- ASM: Watchpoints and breakpoints are kept after switching to a
different source.
- Public port's name and type are not initialized.
- ASM: PRINTV doesn't flush the print buffer properly causing the next
line to be truncated (for example, if followed by INCLUDE or INCBIN
the path is not printed).
- UI: System freeze and/or crash if multiple hotkeys are pressed at the
same time, and the first one is causing the menu strip change (for
example, pressing amiga-AS in the editor).
- ASM: Numerous FPU instructions with source immediate longword operand
are generated as byte, resulting either in the out of 8-bit range error
or incorrect opcode.
- DISASM: FSINCOS prints only one destination FPU register.
- DISASM: Absolute and pc-relative modes don't work with all bitfield
instructions (68020+).
- DISASM: CMPI pc-relative index mode (68020+) doesn't work.
- DISASM: CAS allows several invalid and non-existing modes, absolute
modes don't work.
- DISASM: LPSTOP (68060) is not implemented.
- DISASM: Typos in FPU ROM constant names (appended as a comment to the
MOVECR instruction), probably due to the same typos in the M68K manual.
Additionally, TAB changed to a space if Printer Dump is not enabled in
the preferences to avoid weird characters on the screen.
- ASM: PFLUSHR doesn't allow address register indirect mode.
- ASM: MMU register PCSR is not recognized (PCR is checked twice instead).
(dr)
[News message: 20. Dec. 2023, 09:30] [Comments: 0]
[Send via e-mail] [Print version] [ASCII version]
|