home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
develop
/
asmone
/
changes.txt
< prev
next >
Wrap
Text File
|
1995-02-27
|
74KB
|
2,276 lines
*********************************************************
* Update report from ASM-One V1.01 to V1.02 *
*********************************************************
Another fine release by Venture...
Editor:
=======
- The status line has been extended, so that * means, "Source Not Saved"
and M means "Macro is being defined".
- When loading a new file, "Source not saved" appears before you enter a
new filename.
- Replace had problems when replacing successive strings, it skipped every
second string.
Assembler:
==========
- If an error occured while assembling a section allocated in chip
or fast (not public) with autoalloc turned on, the allocated memory
was forgotten.
- DS - Define Storage. The defined storage is now initialized to zeroes,
instead of just uninitialized.
- INCLUDE and INCBIN path and filename are printed when the file
is being loaded.
- The following command syntax was not supported: ROL Dn, ASR Dn etc.
Previously you had to type ex. ROL #1,D3, instead of just ROL D3.
- Overall assembler performance has been improved.
- Including a source in an program using ORG and LOAD forced the assembler
back in relative mode, jumping to the latest used section.
- When the message 'Reassembling...' was showed, assembler options was
reset to default.
- Word size is now always default, also in (An,Xn) <=> (An,Xn.W)
- INCBINs are now only loaded in the last pass, when using
assemble optimize.
Disassembler:
=============
- CMPA Dn,Am was disassembled CMPA Dn,Dm
- ABCD and SBCD was disassembled wrong
- Unknown command ??????? is now disassembled as DC.W $nnnn, where
nnnn is the unknown opcode.
- A few other commands was also disassembled a little wrong
Debugger:
=========
- Turning LineNumbers on and off did not take action immidiatly but
first next another function was activated.
- Editing A7 changed always SSP and not USP if in user mode.
Preferences:
============
- Using option "!" (eg !.ASM) in the ASM_One.pref file, didn't
change the fact that an .S was attached at the end of the file
when using the ".S" option.
*********************************************************
* Update report from ASM-One V1.02 to V1.05 *
*********************************************************
--------======= T.F.A. took over !!!! =======-------
Direct line command:
====================
- Inserted the Create sinus command
CS include sinus at a memory adress
DEST> Memory destination adress
BEG> Begin angle
END> End angle
AMOUNT> Number of values generated
AMPLITUDE> Amplitude
YOFFSET> Yoffset
SIZE> (B)ytes / (W)ords / (L)ongwords
MULTIPLIER> Afterwards value multiplier (0 = 1)
HCORRECTION> Half step correction (Against irritating ticks)
RCORRECTION> ROUND instead of INT (0,7 = 1 instead of 0)
CSS include sinus in source
BEG> Begin angle
END> End angle
AMOUNT> Number of values generated
AMPLITUDE> Amplitude
YOFFSET> Yoffset
SIZE> (B)ytes / (W)ords / (L)ongwords
MULTIPLIER> Afterwards value multiplier (0 = 1)
HCORRECTION> Half step correction (Against irritating ticks)
RCORRECTION> ROUND instead of INT (0,7 = 1 instead of 0)
- Inserted the R {filename}
When using the R / RO / RB commands.
Read a file without the filename question
- Inserted the W {filename}
When using the W / WO / WB / WL commands.
Write a file without the filename question
- Inserted the I {filename}
Include a source without the filename question
- Inserted the ZF {filename}
Delete a file without the filename question
*********************************************************
* Update report from ASM-One V1.05 to V1.06 *
* Release date : 07-12-'91 *
*********************************************************
OVERALL
-------
- Workspace allocation at the (re)start of ASMONE showed total availeble
memory. Now it shows the LARGEST BLOK availeble memory
- Inserted the CD {directoryname}
Create a directory without leaving asmone
BUG REPORTS
-----------
- The S:ASM-One.pref file was loaded but didn't install right.
It does that correct now.
- The !.ASM command wasn't recognized. It acted thow it was an exit request.
Now u can change the 'FILE . EXTENSION' in anything u want up to 3 characters
B.V. : !.ASM will be set to {filename}.ASM
or !.PRICE will be set to {filename}.PRI
NOTE #1 : This only has effect when u have the SOURCE .??? menu item enabled
NOTE #2 : It didn't work in the original V1.02 by RUNE Gram-Madsen !!!!!!
ASSEMBLER
---------
- INCBIN / INCLUDE
Changed the INCLUDED BINAIRY FILE and INCLUDED SOURCE FILE line. It now
only shows one line including the file lenght instead of taking up two lines
- Comments
Now ASMONE recognizes the * as a remark (The same as ;)
*********************************************************
* Update report from ASM-One V1.06 to V1.07 *
* Release date : 21-03-'92 *
*********************************************************
BUG REPORT
----------
- When u use ALL the chipmem to work with sometimes the pull down menu's
couldn't be reached. And when u had Req.library ON in the preferences it was
impossible to do anything that uses the req.library !! Now the memory will be
checked and if there is insufficient free chip mem the req.library function
will be automaticly disabled.
ASSEMBLER
---------
- INCBIN / INCLUDE
When u set the INCDIR directory to something else than your current directory
Asm-one didn't look for the incbin files in the current dir but the last
INCDIR !! Now Asm-one will first look in the INCDIR. If the file isn't found
there it will look at the current dir.
OVERALL
-------
- DOS-EXECUTE
Implanted a little version of the dos execute command. This one is very
simple. It just uses the normal dos-execute library jump !!! (so be sure
to have RUN in your C: directory)
usage : Y Diskmaster (will start diskmaster, if found)
Y Xcopy (will start Xcopy, if found)
*********************************************************
* Update report from ASM-One V1.07 to V1.07b *
* Release date : 23-03-'92 *
*********************************************************
OVERALL
-------
- Go command fixed
Ever since the ASM-One V1.05 the go command was fucked up cause of some
bytes added in a bss section. Now this is fixed.
*********************************************************
* Update report from ASM-One V1.07 (a/b) to V1.08 *
* Release date : 01-08-'92 *
* Prime '92 party *
*********************************************************
ASSEMBLER
---------
- ALIGN
Added the ALIGN directive for compatibility reasons.
OVERALL
-------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Asm-One V1.08 now has an internal stack of 16 Kb !
! !
! This use to be 4 Kb, that's why some programs did assemble but gave a GURU !
! when trying to write the object.......... !
! !
! P.S. it took us a (too) long time to find that out, SORRY for that !
! !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- V {Directory command}
Changed the free blocks in free bytes !!!
- =
Changed the view of the = command to a more decent look.
- When asmone was copied to RAD: and you had an reset the system crashed.
This should be over now. (Thanx Nic {End of century 1999})
- Some requesters still showed "ASMONE V1.02". This has been corrected now.
- If you had a source extension with a length of 4 (like .ASM) the last
character wasn't written correct to the S:ASM-ONE.PREF file. this is
corrected now.
- Some words mist a 'l' (Like aLocate Fast/Chip/Absolute) this is correct now.
NEW
---
- Extended the marks to 10. So now you can set 10 marks and jump to them.
Look at the menu's for the keys.
- =C
Someone complaint about the colors of asm-one. I sugested that he changed
the workbench colors. Asm-one uses the default colors !!
Now you can set your own colors. Just adjust the color to your wishes.
The default button will reset the colors to workbench colors....
- Standard directory : you can specify a standard directory to which asmone
switches as soon as you start ASM-ONE up.
put this in your S:ASM-ONE.pref (must be at the end of the + and -
but before the \)
*DH0:SOURCES/MAIN
This will cause asm-one to startup normaly but when you use 'V' it will
allready be in the DH0:SOURCES/MAIN directory.
The standard directory will be shown at the start of ASM-ONE
When writting your prefs (WP) the directoryname will be saved too.
*********************************************************
* Update report from ASM-One V1.08 to V1.08b *
* Release date : 04-08-'92 *
*********************************************************
OVERALL
-------
- If in 2 bitplane mode asm-one V1.08 guru'ed when you wanted to use chip
mem. Sometimes it even fucked up your screen (Thanx Crew one)
- Some words were misspelled.
*********************************************************
* Update report from ASM-One V1.08b to V1.09 *
* Release date : 11-11-'92 *
*********************************************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ MESSAGE TO DEFTRONIC OF CRIONICS +
+ +
+ I liked your TRASH'M-one V1.4 but : +
+ +
+ Why did you steal our create sinus routine ??????????? +
+ Why did you steal our create directory ???????? +
+ Why didn't you mention our name ????????? +
+ +
+ I think your coding is nice but when you use OUR coding you should mention +
+ our name and not take all the credits for stuff you didn't do !!!!!!! +
+ +
+ B.T.W. your G (go command) bug's => Like in our Asm-One V1.06 +
+ your Find/Replace command bug's => Like in our Asm-One V1.06 +
+ when using more than 4Kb of label +
+ pointers WO make trash'm crash => Like in our Asm-One V1.06 +
+ +
+ Since you added a lot of nice function's in your version i dicided to +
+ use some of it (Adjusted to our needs offcause). +
+ +
+ AND GUESS WHAT ????????? +
+ +
+ We will mention your name !!!!!! +
+ +
+ Just keep coding but please be fair and give credits where they belong ! +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ASSEMBLER
---------
- ENDB (Endbasereg) implanted.
In previous versions of Asm-One it was possible to use a Baseregister like
in C programms. Once used the register couldn't be used anymore.
Now you can end a basereg part of source with endb.
SYNTAX:
ENDB {Adress register}
- Implanted the use of parameters. This means you can simulate a CLI startup
In the Assmbler menu you will find a new item called Parameters. Here you
can set if you whish to use parameters at the start of a programm.
(Also in the debugger the parameters will be set.)
** SEE new PS command **
- Implanted a percentage progress indicator (Optional)
>>>>>>> coding done by Deftronic, adjusted to needs by T.F.A. <<<<<<<<
OVERALL
-------
- Implanted the Binairy view command (@B)
This will show memory (like @H or @N) but now in binairy form
>>>>>>> coding done by Deftronic, adjusted to needs by T.F.A. <<<<<<<<
- Implanted include binairy (IB)
This will include lines in your source (like IN,ID,IH) but now
in binairy form.
>>>>>>> coding done by Deftronic, adjusted to needs by T.F.A. <<<<<<<<
- When writing a binairy file the filecheck and deletion of the file will
now happen when you have entered the START and END. If you break during
this procedure the file will not be deleted !!!!
{Thanx Remote-control}
- PS (Parameters set)
Enter this command at the command line and you will be prompted for the
parameter list. This way you can simulate a cli command....
- Implanted the choise of Public mem at the (re)start of ASM-ONE on request.
- Replaced the req.library with the REQTOOLS.library.
This means that all requesters can now be answered with keystrokes as
well !!. Req.library missed some options reqtools.library does have.
!!!!!!!!! Make sure reqtools.library is copied to your workdisk !!!!!!!!!!
On the Asm-One disk are the 1.3 and 2.0 verison of REQTOOLS.
Use the correct one.....
If the reqtools library wasn't found the Project/Preferences/reqtoolslib
will be dissabled. All functions will be redirected to normal text.
The colour request (=C) WON'T WORK !!!!!
Just like in the req.library 3 different directory's will be maintained.
dir 1 = Sources dir => used with : Read source
Write source
dir 2 = binairy dir => used with : Read binairy
Write binairy
Read object
Write object
Write linkfile
Redirected output
Zap file
dir 3 = secondairy source => used with : Write block
Insert source
- Implanted the EXTENDED REQTOOLS library functions. The Search and Replace
function can now be handled thru requesters. This is optional in the prefs.
You can set the PROJECT/Preferences/Extreqtools ON or OFF. (This will be
saved in your S:ASM-ONE.PREF file as +XR or -XR)
- Jump to line function will also be handled thru a requester if the
extended reqtools function is turned on...
- When searching in a source and working with the extended reqtools you
will be able to search for strings in case dependent mode. This means you
can search for strings with UPPER and LOWER case characters in it.
VB: Case dependent search for Mainloop
will only find this string if it is identical.
Normal search for Mainloop
will find anything with 'mainloop' in it no matter what case !!!
When using the replace function the string will be replaced as entered.
So '_LVO' is different than '_LVo'.
When using the Search_next or Replace_next function the mode you used
will be continued.
- When using the {R} command to read a source and you canceled the request
your source was gone empty. Now your source will stay active if you
cancel the requester or press CTRL-C when asked for the filename.
- When updating a file first is checked if the source is changed. If the
source isn't changed the message : "Source not changed. No update needed !!"
is displayed and no file will be written.
- When trying to load a source bigger than the availeble memory asm-one
would read the source anyway and then come up with a error. When still
trying to jump into the editor Asm-One would crash !!! {Sometimes}
Now when trying to load a source bigger than the availeble memory Asm-One
will display the message "Not enough workmem for source !!" and the last
source will still be active
- Since Asm-One v1.08 you could set your own colors. Now Asm-One will save
your color to the S:Asm-One.pref file.
This will be done in the following format :
|000|AAA|FFF|68B| {These are the standard workbench colors !!}
| = Colors init
000 = RGB value (color 0 = black)
| = Color seperator
AAA = RGB value (color 1 = light grey)
| = Color seperator
FFF = RGB value (color 2 = white)
| = Color seperator
68B = RGB value (color 3 = blue)
| = Color end marker
The easyest way to do this is start Asm-One, set your colors (using =C), then
write the S:Asm-One.pref file (using WP). This way your colors will be saved
and used in the future. It could be posssible that Asm-One creates strange
colors if you edit the Asm-One.pref file in a text editor !!, SO DON'T !!!!
- If running under kickstart 2.0 or higher Asm-One will open it's screen in the
workbench 2.x mode. This doesn't have much of a consiquence expect for the
nice look of the requesters.
If running under kickstart 1.3 or lower Asm-One will open it's screen in
normal (and only) mode. This almost doesn't infect the requesters.
THEY STILL LOOK GREAT !!!
- When creating a directory twice (with cd) and the second name was shorter
then the first it bugged. This is now solved
EDITOR
------
- Sometimes the search/replace command would hang. This was in Asm-One
since V1.01 by Rune Gram-madsen. This is now solved !!!
*****************************************************************************
* *
* ASM-ONE is now a 680x0 Macro assembler !! *
* *
* Special thanx must go to : Remote-control (R.A.F.) *
* Schwarzenegger (R.A.F.) *
* *
* They provided me with all the information i needed about the 680x0 *
* *
* *
*****************************************************************************
*********************************************************
* Update report from ASM-One V1.09 to V1.15 *
* Release date : 11-03-'93 *
*********************************************************
- Only in the Kickstart 2.x/3.0 version. In this version you can set all your
preferences in one window. This window is activated by pressing AMIGA-P.
This function can be called at all times (Expect in debugger).
This means you can change your preferences when in Editor, Command line ,
Binary Monitor, Hexidecimal Monitor, Disassembly Monitor.
- Whenever the _LVOOutput dos call was used it returned a 0 (within Asm-One)
Now it returns the output handle of the CLI you called Asm-One from.
(i finaly found out the problem... Thanx T.J.)
- Update will (finaly) write your source were you read it from !!!!
When you change your current directory (with the V command)
and therafter update your source it will be written in the correct place.
(Thanx to all who mentioned this !!! => and there were many who did)
- Reqtools bug removed. I used a absolute offset for the directory name. So
if someone used another version of the reqtools.library the whole thing
didn't work. Now it does !!!
(Thanx CFI !!!)
- When you write a source the filename you see in the menubar will be placed
in the requester.
COMMAND LINE
------------
- Added keyboard exit for all you keyboard lovers (including me!!)
Amiga-Q is the same as entering !{enter}
- Added the VBR register in the register-information command (X)
- Adjusted the custom register information.
Now you can press CTRL-C or Esc when you want to quit at the middle of the
registers list..
- Adjusted the directory command.
The listing of a directory scrolls untill the screen is full. Then it will
wait for a key.
If the CTRL-C or ESC key is hit the directory will be aborted
>> when using the V command after an aborted directory will show the memory
>> directory so not all files on disk will be shown !!!
MONITOR
-------
- Implanted the binary monitor. (Only byte and word size)
look at the menu's for more details.
All function's of the Hex- and Ascii monitor are availeble.
Filled the empty bottomline with some info :
Start : Start save position
End : End save position
Size : Bytes, Words or Longwords
Time : Current time (just like in the editor)
- Implanted the save memory in the monitor. First set the START and END
position (show at the bottom of the screen) and hit Amiga-s
When reqtools library is enabled the normal Write-binary requester is shown
(including the file exists check).
When reqtools library is disabled the normal questions will be asked in
the menu bar...
!! Remember !!
The end position itself won't be saved.....
This means when start is set at $40000 and and is set at $40100 there will
be 256 bytes saved !!! => Position $40100 won't be saved
EDITOR
------
- At the request of many i (finaly) adjusted the search/replace command.
When a search-string is not found it will stay at the last found position.
- At the request of some (who use trash'm-one but like the 2.0 look of Asm-One)
i implanted the free memory in the status bar.
It will show the availeble memory and the largest block of memory in Kb.
- I implanted the timer in the status bar. Why ??? don't know. just another
request of a TRASH'M-One user.
- Jump marks saving implanted....
Look in the preferences menu.
>> Be carefull : TRASH'M-One only saves 9 marks !!
>> Asm-One saves and loads 10 marks
>> When a TRASH'M-One source is loaded in Asm-One the first
>> longword (4 characters) are missing if marks were saved.
>>
>> I used the same recognition longword for marks ($FAF9FAF9)
- Quick Tof and Bof.
Use CTRL-Arrow_up to jump to top of file
Use CTRL-Arrow_down to jump to end of file
- I implanted the error remember.
When a source is assembled and the Assembler/Assemble../ALL_Errors is on
the complete source will be assembled without stopping for any error.
Now when in the editor hit Amiga-e and you will jump to the first error
which occured after your current line. You will see the error that was
produced in the menu bar !!
Note : Only the first 100 Errors are remembered.
ASSEMBLER
---------
- When a '** FILE ERROR' message was displayed it didn't display the whole
filename. This is corrected now.
- The offset command didn't work correct. Now it does !!!
- implanted the ENDOFF directive. Wasn't even implanted in the original Asm-one
- implanted the REM directive.
This directive starts a **REMark** block. the part following a REM statement
will be skipped during assembling.
A REMark block is ended with EREM which stands for ENDREM.
- implanted the TEXT directive.
This will allow you to enter text (like the old dc.b "HAY DUDES")
the TEXT command is ended by ETEXT which stands for ENDTEXT
Whenever a '|' is found in the text it will switch to simulated hex mode !!
and will subtract $30 from the character's untill another '|' is found
1 = chr $31 = ascii "1"
-1 = chr $2F = ascii "/"
Example:
-------------------------------------------------------------< cut here
DATA: text
Hay dudes this is a T.F.A. |1| production....
I love Diny and wanna do dirty things|/|
etext
-------------------------------------------------------------< cut here
is the same as:
-------------------------------------------------------------< cut here
DATA:
dc.b "Hay dudes this is a T.F.A. ",1," production...."
dc.b "I love Diny and wanna do dirty things",-1
-------------------------------------------------------------< cut here
This way you won't have to TEXT & ETEXT everytime you want a special code
inside your text for a trigger or command byte.
- New commands implanted
INSTRUCTION PROCESSOR
BFCHG 68020 and higher
BFCLR 68020 and higher
BFEXTU 68020 and higher
BFEXTS 68020 and higher
BFFFO 68020 and higher
BFINS 68020 and higher
BFSET 68020 and higher
BFTST 68020 and higher
BKPT 68020 and higher
CALLM 68020 ONLY !!
CAS 68020 and higher
CAS2 68020 and higher
CHK2 68020 and higher
CMP2 68020 and higher
DIVS.L 68020 and higher
DIVSL.L 68020 and higher
DIVU.L 68020 and higher
DIVUL.L 68020 and higher
EXTB.L 68020 and higher
MOVE to CCR 68010 and higher {*1}
MOVE from CCR 68010 and higher {*1}
MOVEC 68010 and higher {*2}
MOVES 68010 and higher
MULS.L 68020 and higher
MULU.L 68020 and higher
PACK 68020 and higher
RTD 68010 and higher
RTM 68020 ONLY !!
TRAPcc 68020 and higher
UNPK 68020 and higher
{*1} = 'MOVE from SR' and 'MOVE to SR' have become privileged instructions
as off the 68010 !!!
Use 'MOVE from CCR' and 'MOVE to CCR' in 68010 or higher modes.
{*2} = MOVEC was implanted as off the 68010.
These registers may only be spoken to when using a 68010 or higher:
- SFC (Source Function Code register)
- DFC (Destination Function Code register)
- VBR (Vector Base Register)
- USP (User Stack pointer)
These registers may only be spoken to when using a 68020 or higher:
- CACR (CAche Control Register)
- CAAR (CAche Adress Register)
- MSP (Master Stack Pointer)
- ISP (Interrupt Stack Pointer)
- New adressing modes implanted....
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>> All adressing modes are allowed in source and destionation mode <<
>> as long as the processor allows it <<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
D{number} = Displacement of maximum {number} bits
Ax = Address register
Dx = Data register
Bd = Base displacement
(when the Bd is defined as a constant the size will
automaticly be set to Long)
Od = Outer displacement
(When the Od is defined as a constant the size will
automaticly be set to Long)
Size = size ({W}ord , {L}ongword)
Scale = Scaling (only 0,2,4 or 8 allowed)
(Dx) 68020 and higher
(Dx.Size) 68020 and higher
(Dx.Size*Scale) 68020 and higher
(Dx.Size*Scale,Bd.Size) 68020 and higher
([Bd.Size,Dx]) 68020 and higher
([Bd.Size,Dx.Size]) 68020 and higher
([Bd.Size,Dx.Size*Scale]) 68020 and higher
D8(PC) 68000 and higher
D8(PC,Dx) 68000 and higher
D8(PC,Dx.Size*Scale) 68020 and higher
(PC,Dx.Size*Scale,BD.Size) 68020 and higher
D8(Ax,Dx.Size*Scale) 68020 and higher
(Ax,Bd.Size) 68020 and higher
(Ax,Dx.Size,BD.Size) 68020 and higher
(Ax,Dx.Size*Scale,BD.Size) 68020 and higher
([Bd.Size,Ax]) 68020 and higher
([Bd.Size,Ax],Dx.Size*Scale) 68020 and higher
([Bd.Size,Ax,Dx.Size*Scale]) 68020 and higher
([Bd.Size,Ax],Dx.Size*Scale,Od.Size) 68020 and higher
([Bd.Size,Ax,Dx.Size*Scale],Od.Size) 68020 and higher
{Dx/D5:Dx/D5} 68020 and higher (Bitfields)
{(Ax):(Ax)} 68020 and higher (Bitfields)
Just buy a good processor book and find out how they work !!
- Warnings on/off implanted.
Look in the Assembler/Assemble.. menu
When a specific or higher proccesor is needed for the command you used
a warning will be shown (1 maximal per line)
You can turn off the warnings by disableling the Warnings menu item
When you have this item enabled all 68010++ commands/adressing modes will
show a warning !! even when you have specified a 68040 in your system.
When you have this item enabled the warnings will be remembered in the
error table so you can use Amiga-e in the editor again to find them.
When you have this item enabled and are disassembling ' ; 680x0 mode' will
be added to the line.
Debugger/Disassembler
---------------------
- Added the VBR register on the right side.
- Changed the debugger. It checks the processor used in the system.
This is needed to check if there has to be a longer stackframe for returning
When a programm is executed or stepped thru Asm-One will clear all cache
at the beginning of the programm, or at the start of each step procedure !!!
Remeber >> Don't use Self Modifying Code on the 68020/30/40 without
disableling and clearing INSTRUCTION Cache !!
- All new commands now also disassemble. Due to the fact that 1 commandline
now can reach up to more than 80 characters sometimes the line is cut off.
>>>>>>>In Debug/disassembly mode-Halfscreen (@D)<<<<<<<<<<<
move.l ([$400.w,a0],d1.w*2,$78000.l),([$800.l,a1,d2.l*4],$88220.l)
will be converted to
{adres} 23B01327040000078000>MOVE.L ([$0400,A0],D1.W*2,$00078000.L),([$000>
^ ^
| |
----------- Meaning this is not all !! ---------
>>>>>>>>In disassembly mode-full screen (D)<<<<<<<<<<
move.l ([$400.w,a0],d1.w*2,$78000.l),([$800.l,a1,d2.l*4],$88220.l)
will be converted to
{adres} 23B01327040000078000>MOVE.L ([$0400,A0],D1.W*2,$0007800>
^ ^
| |
---- Meaning this is not all !! -----
>>>>>>>>When including disassembly (ID)<<<<<<<<
move.l ([$400.w,a0],d1.w*2,$78000.l),([$800.l,a1,d2.l*4],$88220.l)
will be converted to
MOVE.L ([$0400.W,A0],D1.W*2,$00078000.L),([$00000800.L,A1,D2.L*4],$00088220.L)
*********************************************************
* Update report from ASM-One V1.15 to V1.16 *
* Release date : 05-04-'93 *
*********************************************************
My birthday, Anybody wanna send me a gift ???
OVERALL
-------
- Since the 68020 and higher allow odd word/longword adressing it's implemented
in Asm-One. You can now use words,longwords at odd adresses.
You can not use ODD coding in Asm-One !!!
COMMAND LINE
------------
- Added the indirect memory acces.
When you use tabels and pointers you allways had to look in the pointer
and then find out the info about the adress. This can now be done in one
step. Just add the { between the command and the adress/pointer
Example:
@h{4 will give you the hexdump starting at the ExecBase.
@h{.l4 will give you the hexdump starting at the ExecBase in longwords
@h4 will give you the hexdump starting at adress 4
@h{sinuspos will give you the hexdump starting at the adress that was in
the pointer: sinuspos.
The same is used for @a,@d,@n,@b.
REMEMBER : if you use .w or .l on a 68000 processor bit 0 of the
pointer AND value of pointer will be cleared !!
on a 68010+ system this will not happen.
ASSEMBLER
---------
- Go command bugged. The stackframes of the 68000/10/20/30/40 are
NON compatible, all stackframes are recognized and handled now.
- A 'STUPID' bug was in the 1.3 version. I forgot to check for the OS
somewhere and that made the Go and Jump command hang when running a
OS 1.3 Amiga !!!
(Sorry.......)
- The (pc,dx) / d8(pc,Xn) / (d16,pc,Xn) / ([Bd.s,pc],Xn,Od.s) didn't
assemble. Now it does.....
- When a incdir was set with a assign or device and in the include command
was a assign or device both names were used. Now the incdir device/assign
is filtered out when in the include is an assign or device set to !!
DEBUGGER
--------
- Some {2 words} commands did disassemble right but gave a error when you
executed them in the debugger.. (like MULU.L (a0,d1.w,$400),d0:d2)
Solved now.
*********************************************************
* Update report from ASM-One V1.16 to V1.20 *
* Release date : 19-09-'93 *
*********************************************************
EDITOR
------
- CTRL-up CTRL-down is now selectable.
Due to the fact that i got very much responseto this function
i made it selectable.
Quote #1 : "I love you for implanting this"
Quote #2 : "Change this at once!!!"
You'll find it in the environment/editor section of the preferences.
- When entering the editor and using AMIGA-E (jump to last error line)
without assembling a source first the editor could hang or give
strange message !! solved now.
- When exiting the editor when the mouse button was pressed some
errors occured.
When entering the editor the Mousepressed flag will always be cleared
now.
- Mark blocks with mouse implemented.
When pressing the left mouse button on the same place in the
source twice will start marking the block.
When the block is on and you press the left mouse button on the
same place twice it will UNmark the block.
- Comment & Uncomment block implemented
You can now quickly comment or uncomment a block.
Comment block will place a ; at the start of each line. Uncomment
block will delete the first character of each line if that character
is a ;
Comment & Uncomment block can be found in the editor/block menu.
Shortcuts are : Amiga-; = Comment block
Amiga-: = Uncomment block
- At some places the Source-changed flag will be set.
Like : Rotate-block.
Search & Replace.
Deleting a character with DEL or BACKSPACE will now set the
SOURCECHANGED flag. (Why didn't it before ???)
- Custom tabs implemented
At the request of many user i implemented the custom tabs function.
It works the same as Trash'm-one.
Just define the tabs at the first line of your source.
1 2 3 4 5 6 7
1234567890123456789012345678901234567890123456789012345678901234567890
line 1 ;----------T--------T-------------------T---------T
will create tabs on the 12th,21th,41th and 51th column.
When you only specify a part of the line the tabs will continue
with the standard format.
When no tab-define line is found at the top of the source the standard
tabs will be used.
When changing the tab-definition line the source will be adjusted
accordingly.
MONITOR
-------
- The Quickjump command didn't work. This was caused by the (hidden)
fast-exit command (never documented, it was AMIGA-q).
fixed now.
OVERALL
-------
- The new REGSDATA now contains ALL aga information available.
(Got this stuff from commodore itself hehehehehe... Not the
'missing page 19/last page' textfile.)
P.S. The amigaguide file is also present on the disks.
- When the V (Change dir) command was issued at the command line with
a file instead of a directory the file would be locked and never
released again.
Now it is not possible to change your directory to a file !!
- When the =R command was issued and it was broken off by a CTRL-C
and the Resident-regsdata wasn't on the space allocated for the
regsdata file wasn't freed. Not it is !!
Since the Regsdata's size is now over 100Kb (Including all
ECS/AGA information) it's better to make it NON-resident. Unless
you've got lot's a memory to spare....
- Added the Assembled/Run/New flag in the status bar. (Like in Trashm)
- = New.
a = Assembled and run.
A = Assembled not run yet.
- You can now specify a own .pref file when starting Asm-One from
the CLI.
Asm-One_V1.20 -sources:megademo/megademo.pref \f\300\r demo.asm\
Will first load the sources:megademo/megademo.pref as a preference
file. After that the usual command line will be continued.
This way you can pre-specify the preference file you want for each
time you start Asm-one.
- Enable/Permit upon reentry of Asm-One
Some users reported a 'bug' how Asm-One hung upon reentering the
editor and clicking the mosue somewhere in the source code after
a faulty programm which used a Disabled/Forbid exec library call.
Since this is NOT a bug in Asm-One i implanted a feature which
allows you to execute the ENABLE/PERMIT exec library calls directly
upon reentering Asm-One. This can be switched on/off in the
Environment/Monitor-debugger preferences (Amiga-[)
- Direct FPU calculation command implanted.
This command work almost the same as the normal calculate command (?)
Use the [ to calculate floating point numbers !
You will get the decimal AND the hexidecimal representation of the
calculation.
You can specify the size : .S .D .X .P
This will have no effect on the calculation but will effect the
hexidecimal output of the number. Extended precision (.X) is default
Example:
>[.s383.3827*56.54{enter}
2.16764579 E 4 $4D4EB90A.S
>
>[.x383.3827*56.54{enter}
2.16764579 E 4 $401A0000CEB90A2947AE2000.X
>
>[2/3{enter}
6.66666666»E-1 $401C00009EF21AAAAAAAAAAA.X
|
+- This means the number continues untill infinity.
>[2/3{enter}
6.66666667±E-1 $401C00009EF21AAAAAAAA000.X
|
+- This means the number is inexact.
The inexact and infinity flags only work in the commandline version !!
Since during debugging Asm-One can not recognize which FPU register
caused the inexact/infinity flag it will ignore them !!!
- When a programm was terminated with an exeption or trap the cursor
of Asm-One was fucked up. Fixed now..
- P command fixed.
Didn't work at all... Guess almost nobody uses it because i only
received 1 bug-report about it.
- When starting Asm-One kickstart 2.0/3.0 version running a
kickstart 1.2/1.3 system, you would see the message
'This version of Asm-One requires kickstart 2.04 or higher'
and immediatly giving an guru after that. Solved now
- Since V1.15 (only in the 2.0/3.0 version) all commands entered at the
CLI where not recognized. So ASM-ONE_V1.15 \f\100\v tools\r my_prog.s\
didn't work anymore... fixed now..
- =S{characters} changed. (show symbols)
Now you can specify the first, or the first two characters.
When characters are specified the symbols table will be shown as off
the entered characters.
=Sex Will start the symbols table at ex.....
=Se Will start the symbols table at e......
NOTE : When you have UCase=LCase on the characters you enter will
be converted to UCase (since all the symbols will be!!)
When you have UCase=LCase off it is important that you
specify upper and lowercase characters.
- Added the =A feature. This command will display all Asm-One Sections
This enables you to look were Asm-One is located in memory (5 blocks)
- When writing an Object,Linkfile or Binary the filename in the requester
will be the source filename without the .xxx extension. Everything
from the . character will be removed from the name.
- When zapping your source your incdir will be cleared now too.
- Preferences split up to 2 windows:
1.) Assembler preferences (Start with Amiga-[ )
2.) Environment preferences (Start with Amiga-] )
Which can be found in the Assembler menu.
All according to the commodore standards.
Menu's are available when the preferences are active.
You can now :
- Save
- Save as
- Load
- Return to default
- Cancel
- Use without saving (Same as close window in previous version)
At bootup Asm-One will use ASM-ONE.PREF
When loading a preference file Asm-One DOES NOT check the file !!!
So make sure it's a .PREF file ! --------
I don't know what will hapen if the file you load isn't a Asm-One
.pref file. Especialy when + and - characters are present in that file
The boot command from the prefs file can be edited in the ENVIRONMENT
preference window and will be saved now..
- Screen is now opened in Kickstart 3.0 mode. (when available)
- All menu's are created using gadtools.library !!
Only menu's that are usefull at that time will be shown, this will
create a more efficient way of using menu's
All menu's are rendered in Kickstart 3.0 mode. (when available)
ASSEMBLER
---------
- DIVS.L,DIVU.L,MULS.L and MULU.L didn't show a warning if the
processor was lower then a 68020 in the preference file. Now
they do.
- At request of some {ex} Trashm'one users i implanted the
addwatch command in source. it works exactly the same as Trashm'one !
- DS Clearing ON/OFF implemented.
After some letters i decided to implement this. It can be found in
the Assembler preference window.
- In some rare cases it was possible that Asm-One crashed when trying to
display the percentage counter. Solved now...
- MOVES didn't assemble right. Now it does..
- MULU.L,MULS.L,DIVS.L,DIVSL.L,DIVU.L & DIVUL.L #xxxxxxxx,Dx:Dx didn't
assemble right. They took the immediate data as a word. But it should
have been a Longword.. This is corrected now.
- CAS2 didn't assemble right !! now it does.
- Link.l wasn't implanted. now it is...
- Some PC relative adressingmodes gave a 'Relative mode error' when they
shouldn't ! solved now.
- When a error is encountered in a include file both the current source
file line and the line inside the include file will be shown. This way
it's easyer to locate the problem.
- Some include file provided by Commodore ended with the ENDC !{incfile}
This produced an error in Asm-One. This is now allowed !!
(Since Commodore won't change their mistaches we have to work around it)
- New data definition implanted
NOTE: all FPU commands can be assembled without having a FPU, these
data definitions NEED a FPU to assemble !!
Directive Name Bits How
DC.S Single precision 32 31 = Sign of fraction
30-23 = Exponent (8bits)
22- 0 = Fraction (23bits)
DC.D Double precision 64 63 = Sign of fraction
62-52 = Exponent (11bits)
51- 0 = Fraction (52bits)
DC.X Extended precision 80(96) 95 = Sign of mantissa
94-80 = Exponent (15bits)
63- 0 = Mantissa
DC.P Packed decimal string 96 95 = Sign of Mantissa
94 = Sign of Exponent
93-92 = Invinity or NAN bits
91-79 = Exponent (12bits)
79-76 = +999 Exponent digit
75-68 = ALLWAYS ZERO !!
67- 0 = Mantissa (68bits)
All the above forms can be used in BCD.x,BLK.x and DS.x directives
All numeric expresions for these new data definitions are DECIMAL and
HEXADECIMAL only !!!
In hexadecimal mode you must provide all numbers for the float.
Packed = 24 chars.
Extended = 24 chars.
Double = 16 chars.
Single = 8 chars.
Long = 8 chars.
Word = 4 chars.
Byte = 2 chars.
The following mathematic expressions can be used for these data defenitions:
Directive Name Example Result
* Multiply dc.s 500.5*2.45 1226.225
+ Add dc.d 500.5+2.1 502.6
- Subtrackt dc.x 500.5-2.1 498.4
/ Divide dc.p 500.5/2.65 188.8679245
^ Power dc.s 500.5^2 250500.25
- new registers implanted
Assembler name Official name
FP0 data register 0
FP1 data register 1
FP2 data register 2
FP3 data register 3
FP4 data register 4
FP5 data register 5
FP6 data register 6
FP7 data register 7
FPCR Mode Control Byte
FPSR Status register
FPIAR Instruction Adress Register
- new MOVEC registers implanted for the 68040
TC
ITT0
ITT1
DTT0
DTT1
MMUSR
URP
SRP
- new MOVEC registers implanted for the 680ec40
IACR0
IACR1
DACR0
DACR1
- new commands implanted
INSTRUCTION (CO)PROCESSOR
MOVE16 68040 only
FABS 68881/68882/68040
FACOS 68881/68882/68040
FADD 68881/68882/68040
FASIN 68881/68882/68040
FATAN 68881/68882/68040
FATANH 68881/68882/68040
FBcc 68881/68882/68040
FCMP 68881/68882/68040
FCOS 68881/68882/68040
FCOSH 68881/68882/68040
FDBcc 68881/68882/68040
FDIV 68881/68882/68040
FETOX 68881/68882/68040
FETOXM1 68881/68882/68040
FGETEXP 68881/68882/68040
FGETMAN 68881/68882/68040
FINT 68881/68882/68040
FINTRZ 68881/68882/68040
FLOG10 68881/68882/68040
FLOG2 68881/68882/68040
FLOGN 68881/68882/68040
FLOGNP1 68881/68882/68040
FMOD 68881/68882/68040
FMOVE (control register) 68881/68882/68040
FMOVE (data register) 68881/68882/68040
FMOVECR 68881/68882/68040
FMOVEM (control reg list) 68881/68882/68040
FMOVEM (data reg list) 68881/68882/68040
FMUL 68881/68882/68040
FNEG 68881/68882/68040
FNOP 68881/68882/68040
FREM 68881/68882/68040
FRESTORE 68881/68882/68040
FSAVE 68881/68882/68040
FSCALE 68881/68882/68040
FScc 68881/68882/68040
FSGLDIV 68881/68882/68040
FSGLMUL 68881/68882/68040
FSIN 68881/68882/68040
FSINCOS 68881/68882/68040
FSINH 68881/68882/68040
FSQRT 68881/68882/68040
FSUB 68881/68882/68040
FTAN 68881/68882/68040
FTANH 68881/68882/68040
FTENTOX 68881/68882/68040
FTRAPcc 68881/68882/68040
FTST 68881/68882/68040
FTWOTOX 68881/68882/68040
- New Syntax adressing modes
label(pc) can now be written as (label,PC)
label(pc,dn) can now be written as (label,PC,dn)
label{-label}(an) can now be written as (label{-label},An)
label{-label}(an,dn) can now be written as (label{-label},An,dn)
- High coding commands !!
Since sometime i've looked at diferent assemblers and MOST of them
gave a relative mode error when trying to assembly the following line:
MOVE.L $7F(PC),d0
This is theoreticly possible since the following piece of coding will
produce the same line
MOVE.L b(pc),d0
dcb.b $7d,0
b:
this last piece of coding will disassemble as
MOVE.L $.......(PC),D0
so, after evaluating the different modes i discovered that BOTH lines
are identical !!!, the first line (move.l $7f(pc),d0)) is just a
High coding command ! no use of labels! just put the value (which
would otherwise be converted from a label) in the command.
Asm-One will allow this way of coding !! it's just not as easy as
using a label to do exactly the same !!!!
The same is for ($xxxx,PC) / (PC,Dx,$XXXXXXXXX)
DEBUGGER
--------
- On 68010++ systems the VBR was shown in the debugger.. I don't know
if any of you noticed it but the first character of the line beneath
the VBR line was missing !!! solved now
- FPU registers during source level debugging.
Now you can switch the Dx registers and FPx registers while in the
source level debugger. This will enable you to watch what you are
doing with your FPU.
This is only available when you have an FPU !!!
Switch between the Dx and FPx with Amiga-Shift-c or select
CHANGE Dx/FPx in the debugger menu.
(When no FPU is found this menuitem will be disabled)
DISASSEMBLY
-----------
- The bitfield commands didn't disassemble right. Every time when a
imediate number was used the $ was forgotten.
- The CHK2.B command didn't disassemble. Solved now.
- All fpu commands should disassemble.
- MOVE16 (68040 only) now disassembles.
COMMAND LINE
------------
- X (show registers) command extended
!! This also applies to the end of a program or a breakpoint reached !!
If you have 'FPU present' ON in the assembler preferences AND you have
a FPU or integrated FPU in your CPU all FPU information will be shown.
Example :
1.) D0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
2.) A0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 004DA694
3.) SSP=004DB694 USP=004DA694 SR=0004 -- -- PL=0 --Z-- PC=004EAE7E VBR=005C5056
4.) FPCR= 0000 BSUN=0 SNAN=0 OPERR=0 OVFL=0 UNFL=0 DZ=0 INEX2=0 INEX1=0
5.) FPSR= 00000000 BSUN=0 SNAN=0 OPERR=0 OVFL=0 UNFL=0 DZ=0 INEX2=0 INEX1=0
6.) N=0 Z=0 I=0 NAN=0 S=0 QU=00 IOP=0 OVFL=0 UNFL=0 DZ=0 INEX=0
7.) FPIAR=00000000 PRECISION=X ROUNDING=RN
8.) FP0: 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0
9.) FP4: 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0
10.) PC=004EAE7E 4E75 RTS
Line 1,2,3 and 10 should be familiar.
Line 4 shows the FPCR
Line 5 shows the FPSR
Line 7 shows the FPIAR
Line 8 shows the FP0 till FP3
Line 9 shows the FP4 till FP7
Explanation of abreviations:
; Part of
BSUN = Branch/Set on UNordered ; \
SNAN = Signaling Not-A-Number ; \
OPERR = OPerand ERRor ; \
OVFL = OVerFLow ; \ Mode Control Register
UNFL = UNderFLow ; /
DZ = Divide by Zero ; /
INEX2 = INEXact operation ; /
INEX1 = INEXact decimal input ; /
; Part of
N = Negative ; \
Z = Zero ; \ Condition Code Byte
I = Infinity ; /
NAN = Not-A-Number or Unordered ; /
; Part of
S = Sign of Quotient ; \ Quotient byte
QU = 7 least significant bits of quotient ; /
; Part of
IOP = Invalid operation ; \ Accrued exeption byte
INEX = inexact ; /
Precision abreviations:
S = Single
D = Double
X = Extended
U = Undefined
Rounding abreviations:
RN = To nearest
RZ = To Zero
RM = To minus infinity
RP = To plus infinity
*********************************************************
* Update report from ASM-One V1.20 to V1.25 *
* Release date : 07-04-'93 *
*********************************************************
» Trash'm-One V2.0 came out !!
»
» 'Totally ReWritten code'
»
» Well Rune, Look's like you gave the source to Deftronic. Why ???
» Just because he's an old friend of yours or to put T.F.A's Asm-One down ??
»
» (I hope it's the first option)
»
» Anyway, We'll see what the future will bring us. My guess is that Trash'm-One
» will lead it's own live as like Asm-One.
»
» Just a fast reminder: Deftronic told everybody the first Trash'm-One was
» a re-write/add-write of Asm-One V1.02. To bad he forgot?
» to mention some parts (Create sinus,Create dir and more)
» where taken from Asm-One V1.05 (or so) by T.F.A.
» (And that's a fact because i checked the code !)
»
» I'll will continue my work with the Asm-One we have and hope that both version
» will suit the needs of the many.
»
» Deftronic : Succes with the source. But keep playing fair. It's not how big
» your name in the scene is but HOW YOU GOT IT !!!!
»
» PS: Get the exit command (!) to work with the latest reqtools !!!
» Get the R {filename} implanted again
» Get the Zap Source (zs) to work with the latest reqtools
» Did you test this version on MC68020++ systems ?????
» The =l command doesn't work (maybe a 68020++ problem ???)
» I liked your solution to the preference window !! looks very nice
» The Write Link file (WL) doesn't bug like you said. The problem is
» in the section statement (hint)
»
» Come on man !! how old are you ????? are you realy putting this shit in
» a great assembler ?????
»;----------------------------------------------------------------------------
Deftronictext: dc.b 'Deftronic was the coder of this FANTASTIC Assembler!',$A,0
dontmentiontext:dc.b "DON'T MENTION THAT NAME!!!",$A,0
tfanothintext: dc.b "YES! T.F.A. has nothing to do with TRASH'M-One..',$A,0
promaxtext: dc.b 'PROMAX was the creator of ASM-One..',$A
dc.b 'I got the source from him not from RESOURCE!'
dc.b '!',$A,0
»;----------------------------------------------------------------------------
» Straight from your Trash'm-One V2.0 !!! (yes resourced)
»
» 'Deftronic was the coder' <---- Nope.... Rune was,is and allways will be
» 'not from RESOURCE!' <---- mmmhh... May i remind you of all the
» previous versions of Trash'm-One
» Did you get the source then ?????
»
» Why , o , why do you have to pretend you coded the shit? The things you've
» added to Trash'm-One are cool enough so why brag about stuff you didn't do?
»
» Why implement Weird texts to bring Asm-One down ? can't stand the competition?
»
»
» Friendship Rulez
»
» Signed : Price / T.F.A.
********************************************************************************
* *
* Now for the changes & add-ons of Asm-One V1.25 *
* *
********************************************************************************
OVERALL
-------
- When you returned in Asm-One with an error (Like division by zero) on
aga machine's the screen could go blank. This was caused by, Not
loading the oldview back. This is now solved.
- The AGA.GUIDE can now be called from Asm-One within :
. The Editor
. The Commandline
. The Monitor (All functions)
Use Amiga-= or the menu function.
The AGA.GUIDE must be placed in the S: directory !!
- !!
Quick exit, This will allow including Asm-One in a script file.
eg.
Asm-One -dh0:s/linker.pref \p\300\v eautils\r bull.asm\a\wl ram:tt\!!\
This will start Asm-One, Using the dh0:s/linker.pref as preference file
allocating 300Kb public memory, Jump to the EAutils directory
read the bull.asm source,assemble it, write it to Ram:tt as linkfile
and exit Asm-One.
P.S. There could come requesters at some points. But Reqtools will
automaticly put the Asm-One screen in front of any others before
executing the requester.
- Oeps, forgot to (or removed) some TAG_DONE's and that caused
Reqtools V38.1092 to crash the system. Solved now anyway.....
EDITOR
------
- Now the editor can scroll right and left (FiNaLy!!!!)
Special thanx must go to BlackHawk/Paradox for giving me a part of
his own adjusted source. ! Friendship Rulez !
- KEEP X
You can specify if you want to select this function in the
environment/preferences. If you activate this function Asm-One will
always try to reach the old X position of the cursor when you move
to the next/previous line or jump pages. The X position will be
remembered when moving a character to the left,right,eol,bol,search&replace
or using the mouse.
Jumping to tof or bof will set the x-remember to colomn 1.
(Exiting and reentering the editor will NOT clear the x-remember)
- MULTIPLE SOURCES
Finaly implanted this function. After a lot of messages from users
and some heavy consideration i implanted this function. All sources
are kept in memory. NO FILE'S ARE SAVED while in Asm-One. This is
somehow different than TRASH'M-One, which saves the file's and info
to RAM:.
Advantages : No memory will keep being occupied after exiting Asm-One.
Fast changing between sources.
(+- 1 second for a 500Kb source on a MC68000)
Disadvantages: Memory fragmentation can occur when you switch much and
keep changing the size of the sources.
These points will be saved in memory when switching between sources :
1.) Source
2.) Filename
3.) Update place
4.) all 10 Marks
5.) Flags
6.) Copy buffer
7.) Includes kept per source
Now you can switch between 10 source with the F1 - F10 keys.
While switching between the 10 sources the copybuffer will be held so
you can copy parts from source to source.
When exiting Asm-One all sources will be checked. When a source is
still in memory and not saved you will be warned.
The warning only applys to the first -NOT SAVED- source. If there
are multiple sources which are not saved yet you will get a message
everytime you try to exit Asm-One
If you use the (new) Quick-Exit function of Asm-One no source will be
checked and all changes done will be lost !!!! All occupied memory
will be freed offcause.
- UnComment debugged
Sometimes when uncommenting a block 1 ; would remain in the source.
ASSEMBLER
---------
- Includes are now case sensitive stored if the UCase=LCase function
is off. This way you can use Asm-One in networks which require that
the filenames are given in correct case.
(Hay Rhino, nice option he ???)
- movem.l {label}(pc),{reglist} gave a relative mode error..
Solved now.
- movem.l {reglist},(pc,.....) didn't give an error when it should !!
no PC relative moves are allowed in RL->MEM movem opcodes.
- Nasty bug removed !
When you specify an offset with 'dc.w <label>-<label>' it was possible
that the offset would become lower than -32767. An error should be
created since this is an Negative Overflow. Asm-One didn't produce
and error (long time to find this boogie!!)
Now it will generate an error when passing the -32767 line.
NOTE : Only when the word is negative !
- Bra.L implanted
Bcc.L implanted.
These functions are for the 68020++ ONLY !!
Asm-One disassembles these opcode on any processor, but assembles
according to the selected processor in the preferences.
68020++ selected : Bra.L nextpart
Will assemble as : 60FF00000016 BRA.L $002F3150
68000/10 selected : Bra.L nextpart (L interpreted as W !)
Will assemble as : 60000016 BRA.W $002F3150
So when you are using this new .L branches be sure to define for
which processor the programm is made !!
- JUMPERR (re)implemented
Donno what happend but this funtion was allready implemented. Anyway
it works again now.
Jumperr will allow you to run a own error check routine.
e.g.
JUMPERR status
start: moveq #0,d0
moveq #0,d1
divu d0,d1 ; Will generate a 'division by zero'
; exception !!
moveq #0,d0 ; he will never reach this
rts ; part of coding.
status: movem.l d0-a7,regs
....
....
....
movem.l regs,d0-a7
rts
regs: blk.l 2*8,0
This status function will save your registers, do some shit and
return to Asm-One.
- new opcodes implemented:
CINVa ; *1
CINVp ; *1
CINVl ; *1
CPUSHa ; *1
CPUSHp ; *1
CPUSHl ; *1
PBcc ; *2
PDBcc ; *2
PFLUSH ; *2
PFLUSHA ; *2
PFLUSHAN ; *2
PFLUSHN ; *2
PFLUSHS ; *2
PFLUSHR ; *2
PLOADR ; *2
PLOADW ; *2
PMOVE.b ; *2
PMOVE.w ; *2
PMOVE.l ; *2
PMOVE.d/q ; *2
PMOVEFD.b ; *2
PMOVEFD.w ; *2
PMOVEFD.l ; *2
PMOVEFD.d/q ; *2
PRESTORE ; *2
PSAVE ; *2
PScc ; *2
PTESTR ; *2
PTESTW ; *2
PTRAPcc ; *2
PTRAPcc.w ; *2
PTRAPcc.L ; *2
PVALID ; *2
*1 = cache modes are : BC ; Instruction & Data cache
IC ; Instruction cache only
DC ; Data cache only
*2 = See Registers added
- Global access to local labels implemented (Like in Trash'm-One)
local labels can now be accessed everywhere in your source.
(why use locals if you need them in your complete source???)
e.g.
start: move.w loop1\.loop,d7
lea datablk\.data_1(pc),a0
loop1: bsr.s startit
.loop: bsr.s doit
dbf d7,.loop
moveq #0,d0
rts
datablk:dc.w 100
.data_1:dc.w 179
startit:fmove.x #27663.2722,fp1
rts
doit: fmul.x #3.3,fp1
rts
For the ones who don't know Trash'm-One :
- Local labels allways start with a . (point)
- Local labels can normaly only be accessed in the area between 2
global labels.
- Local labels can now be accessed everywhere in your programm
by adding the start_global_area_label and the '\'.
In the example above :
.loop is a local label in the loop1: till datablk: area
.data_1 is a local label in the datablk: till startit: area
to access .loop outside it's own area use loop1\.loop
to access .data_1 outside it's own area use datablk\.data_1
- Progress Line indicator implanted
This is usefull when assembling big sources. With this you can
break the assembling and see the line which was currently being
assembled (Approx ! it uses 256 line steps)
Sometimes using the right code/data in the right place can save
a lot of time. eg
LABELA: DC.L LABELC-LABELA
LABELB: DC.L LABELC-*
LABELC:
will cost much more time to assemble while
DR.L LABELC
DR.L LABELC
LABELC:
Creates the identical code but assembles much faster.
DISASSEMBLER/DEBUGGER
---------------------
- 68040 Datacache/CopyBack & Rescue combination did not work and
crached the computer (Pretty hard!!). Now it works again.
(Thanx Schwarzenegger, Couldn't have done it without you lending
me your A4000/40 !!)
- MMU opcodes/adressingmodes disassembly implemented.
NOTE: some opcode's are a little different on the MC68851 compared
to the MC680x0. so NEVER jump to conclusions.
Check for which processor it's written !!
NOTE#2: for the 68851 the PSR and PCSR are used. For other MC680x0
it's called MMUSR.
MC68851
-------
PBcc.<W/L> ; Branch on PMMU condition
PDBcc ; Test, decrement, and Branch on MMU condition
PScc ; Set on MMU condition
PFLUSHA ; Flush entries in ATC - all
PFLUSH ; Flush entries in ATC - by code only
PFLUSHS ; Flush entries in ATC - by code incl shared
PFLUSH ; Flush entries in ATC - by code & ea
PFLUSHS ; Flush entries in ATC - by code & ea incl shared
PFLUSHR ; Invalidate ATC and RPT entries
PLOADR ; Load an entry into ATC (read mode)
PLOADW ; Load an entry into ATC (write mode)
PRESTORE ; Restore function
PSAVE ; Save function
PTESTR ; Test logical addres (read mode)
PTESTW ; Test logical addres (write mode)
PTRAPcc.<W/L> ; Trap on MMU condition
PVALID ; Validate a pointer
PMOVE ; pmove to/from PMMU reg
MC68030
-------
PFLUSHA ; Flush entry in ATC - all
PFLUSH ; Flush entry in ATC - by code only
PFLUSH ; Flush entry in ATC - by code & ea
PLOADR ; Load an entry into ATC (read mode)
PLOADW ; Load an entry into ATC (write mode)
PTESTR ; Test logical addres (read mode)
PTESTW ; Test logical addres (write mode)
PVALID ; Validate a pointer
PMOVE ; pmove to/from MMU registers
MC68EC030
---------
PTESTR ; Test a logical address (read mode)
PTESTW ; Test a logical address (write mode)
PMOVE ; pmove to/from MMU register
MC68040 / MC68LC040 / MC68EC040
-------------------------------
PFLUSH ; Flush ATC entries - page entry
PFLUSHN ; Flush ATC entries - page entry not global
PFLUSHAN ; Flush ATC entries - all execpt global
PFLUSHA ; Flush ATC entries - all entries
- New MMU registers implemented
TC
TT0
TT1
AC0
AC1
CRP
DRP
SRP
SCC
PSR
PCR
MMUSR
ACUSR
VAL
CAL
AC
BAD0 - BAD9
BAC0 - BAC9
- On KS 2.0 68010 or lower processors the debugger didn't work anymore
(How many of you use it ??? not enough i guess cause i didn't get
much response to this bug. GET WISE !! USE IT !!)
Solved now anyway...
- You can now specify if you want library calls in hexidecimal or decimal
offsets. (In the main preference window)
VB: Dos.Library call Open is -30(A6) decimal
or -$1E(A6) hexadecimal.
- AD {Label/address} implanted
You can now specify the label/address where the debugger will start
with debugging.
e.g. ADfint (try using this with the Asm_allmodes.asm)
- Step command fixed on systems using FPU.
When a FPU was present in the system the 'Step n' command didn't work
correct. This is solved now.
- Run untill here implanted (Amiga-u)
This function is usefull when you are testing a 'looped' routine.
Press Amiga-U and the programm will start running untill it reaches
the same PC as where you are currently standing on or EOP is reached.
- Animate (Amiga-i) implanted
This function will allow you to watch the programm run step by step.
It will continue through the programm untill you press any key or
EOP is reached.
Animate will enter JSR & BSR's but will check if the JSR is a library
call. It will determine this with checking if the opcode is a
JSR -...(A6). If this is so it will execute but not enter (step down)
the routine.
Remeber : When you see the line you are on; the command is
allready executed. So when you press a key, you will
stop at after 2 lines where you are at that moment.
- Skip instruction (Amiga-k) implanted
This function will allow you to skip one instruction and continue
the program flow.
COMMAND LINE
------------
- When register D0 or A0 was changes with the xd0 / xa0 command it was
done correct. As soon as you entered the debugger (started the
programm) D0 and A0 where set to the parameters or cleared. This is
solved now.
- When specifying a size (.b/.w/.l) after a command (like edit-memory)
the size wasn't kept. Now it is !
- On a A4000 with Copyback Mode on the Read-Object (RO) didn't work
correct. It now does !!
- Extend Labels enhanced.
Now you can Extend Labels with a Prefix or Postfix.
After the normal 'Extend labels with' question you will be asked
if you want to PREFIX this extension. If you answer 'Y' all labels
will be prefixed with the given extension. Any other answer will
be read as Postfix.
NOTE : This is a very slow procedure !! i can take up some time
so be patient.
- Directory command debugged (V)
When an illegal path was specified it would tell the user so. But
when, after that, a V command was issued Asm-One came with a
memory directory. Not it won't anymore; instead it will show an
error text : '** No valid memory directory present'
- Bootblock simulator. (BS)
For testing bootblocks. Just code your bootblock and start it with
BS. The beginning address which is asked is the start of the CODE !!
e.g.
Boot: DC.B "DOS",0
dc.l 0 ; for checksum
dc.l 880 ; root block
Bootstart: move.l ...
lea ...
... ...
rts
Would be assembled and started at Bootstart: (so not Boot: !!)
- The Power function of the Floating point calculator was incorrect..
Fixed now..
- The directory you viewed wasn't kept in memory anymore. Now it is again.
- When an illegal path name was given it was possible that Asm-One
gave some weird free/used space values. solved.
- Pressing ESC on the Command-Line/Window-bar will not longer work as
an enter but clear the entire Command-Line/Menubar.
Pressing ESC when the command line is empty will jump into the editor
Pressing ESC when the command line is filled will clear the command line
- Activate Source (AS.) implanted
This function will allow you to switch between sources from the
command line.
NOTE : This function is only possible when you have been in
the editor at least once !!!!!!
Just enter the source number you wish to activate right after the AS.
eg: AS4{enter} will activate source nr 4
AS0{enter} will activate source nr 0
Legal numbers are : 0 - 9.
When an illegal number is given Asm-One will give an error message
###############################################################################
# THANX MUST GO TO % THANX MUST GO TO % THANX MUST GO TO % THANX MUST GO TO #
###############################################################################
Name Group For what Version
----------------------- ----------------------- ----------------------- -------
Nic End of century 1999 Bug report 1.05/1.09
Madison T.R.S.I Idea's 1.05
Dark helmet Spaceballs Bug report 1.05
R.E.M. L.D.S. Bug report / Idea's 1.06
Fulcrum From beyond Bug report 1.06
Maniac Catastrophy Bug report / Idea's 1.06
?????????? The lost boys Bug report 1.07a
Boushh T.F.A. {since 09-'92} Bug report / Idea's 1.07b
Inkey T.F.A. {since 09-'92} Idea's 1.07b
Crew one ????? Bug report 1.08a
Dragzter ????? Bug report / Idea's 1.08ab
CFI Size Bug report / Idea's 1.08b
Flake D-TECT Bug report / Idea's 1.08b/1.09
Remote-control {off. commodore dvpl} Help with 2.0/Reqtools 1.08b
Remote-control {off. commodore dvpl} 680x0 books/info 1.09
Deftronic Crionics Coding/Stealing?? 1.06 !!
- GALAXY - ????? Cursing/ Idea's 1.09
Schwarzenegger R.A.F. Help with 3.0/Idea's 1.09
PBA independant Support/Idea's 1.07 !!
SMF independant Support/Idea's 1.07 !!
Spike X-Ray Bug report / Idea's 1.09
Coders of Italian Bad Boys Bug report / Idea's 1.09
Team HOI Team HOI Bug report / Idea's 1.15
Remco Océ Graphics France Bug report / Idea's 1.15
Leviticus independant ?? Bug report / Idea's 1.15
Vector Zite-productions Bug report 1.15
Michel Oradion Bug report / Idea's 1.15
Dope White label Bug report 1.15
Zest Triangle Bug report / Idea's 1.16
Quazar Cyanide Bug report / Idea's 1.16
Xave Oxygen Bug report / Idea's 1.16
(Cool letter, You made me jalours with the postcard !!)
Splash Steelens Letter ????
Rhino Team HOI help with FPU routines 1.20
Roger Independant Bug report / Idea's 1.16
Tizzy DualCrew-Shining Bug report / Idea's 1.16
Maniac Oradion Bug report 1.16
Cortex TRSI Nice chat somewere in holland
Vector Vision Bug report 1.16
T.I.B. Genetic {Now T.F.A.!!} Bug report 1.16
»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
All people at 'THE PARTY III' who asked me,told me,begged me,hit me,tried to
kill me, fried me, loved me (not many!!), kicked me about Asm-One....
»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
Dr. Jones Zenith Bug report / Sources 1.20
Jesper Skov Triangle Bug report / Idea's 1.20
Raw Style Jetset / Skid Row Bug report 1.16
Crazy Crack Complex Bug report / Idea's 1.20
Crayon Noxious Bug report / Idea's 1.20
President Screw Spaceballs Bug report / Idea's 1.20
zero-commander ALIENGROUP Bug report / Idea's 1.20
Oxygene ALIENGROUP Bug report / Idea's 1.20
Gettler & Grind King ???? Bug report / Idea's 1.20
Dope Spaceballs Bug report / Idea's 1.25
Mario Euphoria Bug report / Idea's 1.25
Ritgore Team Hoi Bug report / Idea's 1.25
+++++++++++++++++++++
------------------------------+Special Thanx go to+--------------------------
+++++++++++++++++++++
BlackHawk Paradox >80 column editor solution !!
-----------------------------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
===============================================================================
!! IMPORTANT !! !! IMPORTANT !! !! IMPORTANT !! !! IMPORTANT !! !! IMPORTANT !!
===============================================================================
If u got any bug reports or great ideas please sent them to :
T.F.A.
P.O. BOX 2249
1200 CE HILVERSUM
HOLLAND
OR leave EMail
Price@hstorm.hacktic.nl
OR CALL
+31-(0)35-855918 - TOTAL CONFUSION - 16.8Dual (14.4K+ only)
Use the asm-one 'REPORTER' door installed
Leave a msg to the Sysop 'Telekinetic' or Price.
+31-(0)35-035-837926 - Morbid violence - 14.4 HST (2400 - 14.4K)
Use the asm-one 'REPORTER' door installed
This BBS is now on-line and has a second Asm-One Support
area. This way you have 2 places to call in stressy times.
Leave a msg to the Sysop 'Inkey' or Price.
+49-448-877020 - Ulixys Dual - (14.4K+ only)
Use the asm-one 'REPORTER' door installed
Leave a msg to the Sysop 'Galaxy' or Price.
!!!!!!!!!! THERE IS A SPECIAL ASM-ONE SUPPORT CONFERENCE !!!!!!!!!!
----------------------------------------------------------------------------
NOTE: date 22 Januari 1994
A lot of coders have found their way to Total Confusion. We of T.F.A.
think this should continue !!
We are currently discusing the possebility of starting a MC68xxx
coders network. In this network we want to create a net where users
(only coders allowed) can exchange message's/information/sources.
If you or a close friend have a BBS (must be a little known) which
wants to join in this venture please call or write to us at the above
address.
NOTE 2: date 26 March 1994
Ulixys bbs using Asm-One reporter now.
This will allow german coders to call national and still get support
and responses of questions and idea's within a very short period of
time......
----------------------------------------------------------------------------
When sending a bug report :
Please include the configuration u are using (Processor, Memory, Drives,
Harddisks you are using).
<< INCLUDE THE .PREF file you use >>
Give a general disciption of your source. (If no problem, include the
part which is the boogie).
Give a discription of your actions starting
at the point of declaring memory !! (Max and used mem !!!!!)
When sending new idea's :
If posible please include a little demo source of how you think the idea you
send in could work.
Remember it must be a kickstart 1.2/1.3/2.0/3.0 compatible source
(may be 2 sources, one for 1.2/1.3 and one for 2.0/3.0)
=====> If you include a disk and partial source you will recieve the latest
version of ASM-One. (when released)
===============================================================================
!! IMPORTANT !! !! IMPORTANT !! !! IMPORTANT !! !! IMPORTANT !! !! IMPORTANT !!
===============================================================================
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It only makes the program more efficiently !!!
Signed : Price
Asm-One is PD, SPREAD IT!