13 April 2021, 23:10 | #21 | |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
Quote:
Thanks! |
|
13 April 2021, 23:17 | #22 |
Registered User
Join Date: Jun 2020
Location: Druidia
Posts: 387
|
The output is also not coping with my white space choices.
For example, it gets this all wrong except the last line: Code:
move.w a6,( a2) move.w d1,( 4,a2) move.w d3,( 8,a2) move.w d7,(12,a2) Code:
lea ( a6),a6 lea ( 2,a6),a6 Last edited by Jobbo; 14 April 2021 at 00:12. |
13 April 2021, 23:45 | #23 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,212
|
Code:
move.w a6,(a2) move.w d1,4(a2) move.w d3,8(a2) move.w d7,12(a2) |
13 April 2021, 23:48 | #24 | |
Registered User
Join Date: Jan 2021
Location: Watford, UK
Posts: 57
|
Quote:
Ok I've added amiga.assembly too now. I wasn't seeing it in the language list after installing the extension, I think because it conflicts with the one defined by prb28/vscode-amiga-assembly. I can see it's there in the manifest though. The colours are meant to signify some kind of 'severity' level based on cycle thresholds that I've set. The idea is to have slow instructions stand out a bit more. The actual colors mapped to these come from your VS Code theme. These are the levels as they stand: cycles > 30: VHigh cycles > 20: High cycles >= 12: Med else Low These are pretty arbritrary and could probably do with tweaking a bit. It might be nice to allow these to be overridden in user settings. |
|
14 April 2021, 00:19 | #25 |
Registered User
Join Date: Jun 2020
Location: Druidia
Posts: 387
|
|
14 April 2021, 00:25 | #26 | |
Registered User
Join Date: Jan 2021
Location: Watford, UK
Posts: 57
|
Quote:
I wasn't aware that this syntax was valid but it's really not a problem to support it. I have it working with all your examples. I'm just having trouble confirming exactly what should be considered valid as neither VASM nor ASMOne seem to support this syntax. Is it just whitespace directly inside the parentheses that's allowed? Code:
lea ( 2,a6 ),a6 Code:
lea ( 2 , a6 ),a6 Code:
lea 2 ( a6 ),a6 |
|
14 April 2021, 00:33 | #27 |
Registered User
Join Date: Jun 2020
Location: Druidia
Posts: 387
|
I'm not sure what is all valid.
I'm using GCC with .s files and also inline assembly. It seems like most white space is valid but not when specifying the register size so not gaps with for example d0.w |
14 April 2021, 00:36 | #28 |
Registered User
Join Date: Jun 2020
Location: Druidia
Posts: 387
|
The timing doesn't show up for inline assembly. If you want to really go crazy you might want to ignore any " markings because the inline assembly is always inside a string.
Sorry for all the complaints, I really like this plugin though and would like it to work as a replacement for copy/pasting things into Easy68k. Incidentally the timings are sometimes different, are you rounding up some timings for Amiga. I forget the exact rules on that. |
14 April 2021, 01:11 | #29 | |
Registered User
Join Date: Jan 2021
Location: Watford, UK
Posts: 57
|
Quote:
Thanks for all the feedback. I'm just happy if it's useful to anyone! |
|
14 April 2021, 05:09 | #30 |
Registered User
Join Date: Jun 2020
Location: Druidia
Posts: 387
|
Here are some example that seem wrong based on the timings reported in EASy68k and on this website http://oldwww.nvg.ntnu.no/amiga/MC68...s/timmove.HTML
These AKAIK should be 14 cycles but are reported as 16 cycles. Code:
move.b (a2,a5.w),d1 move.w (a3,d4.w),d3 move.w (2,a3,d4.w),d4 Code:
move.b (a4,a6.w),(a0)+ It's also not handling white space all the time, like for this: Code:
move.b ( a2,a5.w),d1 This could be a really useful tool if it can be made accurate. |
14 April 2021, 12:52 | #31 | |
Registered User
Join Date: Jan 2021
Location: Watford, UK
Posts: 57
|
Quote:
|
|
14 April 2021, 14:01 | #32 |
OctaMED Music Composer
Join Date: Jan 2009
Location: Venice - Italy
Age: 49
Posts: 666
|
very useful!
|
15 April 2021, 15:57 | #33 |
Registered User
Join Date: Jun 2020
Location: Druidia
Posts: 387
|
I gave the latest a go and the cycle times are now further off for indexed addressing modes.
I don't have time to look into the details but you might want to take a careful look. The little button isn't showing up for my .s files either. Anyway, it's very promising and I hope you'll work through the issues. |
17 April 2021, 01:25 | #34 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,212
|
asr.w d0,d1
only shows 6 cycles.. perhaps it needs to show potential min / max values |
17 April 2021, 21:26 | #35 |
Zone Friend
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 339
|
I don't see "toggle counts" for live viewing, what am I doing wrong then?
|
17 April 2021, 21:46 | #36 | |
Registered User
Join Date: Jan 2021
Location: Watford, UK
Posts: 57
|
Quote:
Yeah I was considering what to do when the 'n' multiplier is unknown, either because it's from a register or a constant / expression that it's unable to parse. One option would be to just give the worst case, as is what the timing tables already do for other operations e.g. divide and multiply. It needs to at least indicate when this is the case though. I agree that showing a range would be the ideal solution where applicable, and showing the calculation would be useful too. I'll have a go at implementing this. |
|
17 April 2021, 22:03 | #37 | |
Registered User
Join Date: Jan 2021
Location: Watford, UK
Posts: 57
|
Quote:
The thing that currently triggers the toggle link is the language of the active document. I've associated it with the language identifiers provided by several 68k asm related extensions. I can keep adding the to list if there are others that I've missed. What language do you see in the bottom right of your editor when you have a source file open? I'm also considering triggering it on file extension: *.s *.i, *.asm. I was concerned that this would activate it for non-68k source files, but it might be the most robust option. For now you can toggle by triggering the '68kcounter: Toggle counts' command from the command palette (cmd-shift-p). |
|
18 April 2021, 15:41 | #38 |
Zone Friend
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 339
|
It says Amiga-Assembly. Now it works, sort of.
I attach a screenshot, shouldn't there be cycle-counting on every row (in my random code-test)? |
18 April 2021, 20:11 | #39 | |
Registered User
Join Date: Jan 2021
Location: Watford, UK
Posts: 57
|
Quote:
The parser expects instruction lines to start with whitespace (at least one space or tab) or a label. In your screenshot it looks like you're only getting counts for the lines with labels as the other lines have a mnemonic on the first character of the line. I didn't think this was valid—VASM doesn't seem to support it, but if it is allowed for other assemblers I can add support. |
|
18 April 2021, 20:19 | #40 |
Zone Friend
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 339
|
Ah ok, you're right!
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
horiz. size & vert. size greyed out in some configurations | honx | support.WinUAE | 3 | 15 August 2020 21:14 |
ASM: Asm-ONE or AsmPro - how to set a Hello amiga coders, I hope it is ok to hijack ? | Fireball | Coders. Asm / Hardware | 2 | 24 April 2020 21:16 |
Hex2 - my little calculator | ALB42 | News | 0 | 11 November 2018 11:46 |
Amiga calculator | cla | Coders. Releases | 35 | 30 December 2017 15:00 |
Speccy on Ti-89 calculator | Fred the Fop | Retrogaming General Discussion | 3 | 27 January 2007 02:30 |
|
|