Ok, I've been thinking about MikroBASIC and here are the changes you would have to make to include 10F support:
Remove Gosub/Return
No functions or procedures
No (mB) function calls within expressions
Reduce stack usage to 8 bytes or less (easy with the above removed)
That's the limitations I'm having to work with on my compiler.. Can't even support word variables on the 10F200 due to the 16 bytes available on the pic.
10fxx support......
There are legal issues with this. Also, that extra step means a user has to install MPLAB (the latest version) with support for all PICs, new definition files, linker scripts... Too many things we cannot control.Niki wrote:I meant advantages of embedding your assembler into the IDE instead of using MpAsm as the back-end..
Btw, our compilers do not generate HEX from ASM, they do it directly from Pascal/Basic/C code. ASM you see on screen is just for user information. We do not have ASM compiler inside our IDE.
Hi Zristic
Personally, I think that hex/binary templates are too much trouble, so I think I'll have to write my own PIC assembler. Should be quite easy compared to a BASIC language - only 33 instructions
I thought that may be your answer.zristic wrote:There are legal issues with this. Also, that extra step means a user has to install MPLAB (the latest version) with support for all PICs, new definition files, linker scripts... Too many things we cannot control.Niki wrote:I meant advantages of embedding your assembler into the IDE instead of using MpAsm as the back-end..
Thank you for letting me know!!zristic wrote:Btw, our compilers do not generate HEX from ASM, they do it directly from Pascal/Basic/C code. ASM you see on screen is just for user information. We do not have ASM compiler inside our IDE.
Personally, I think that hex/binary templates are too much trouble, so I think I'll have to write my own PIC assembler. Should be quite easy compared to a BASIC language - only 33 instructions
Why do you need to write your own assembler? Can't you simply write instructions to download MPLAB, and feed ASM into it? As long as you're not the one doing the distribution, I don't see how that would be a problem. That's how Linux distros get away with using Microsoft TrueType fonts. They can't distribute them themselves, but they can instruct the end user how to download them for free.
If you know what you're doing, you're not learning anything.
Hi LGR
I don't have to write my own assembler, however, detailed knowledge of the pic opcodes would make it easier to write the simulator/ICE system I have planned at a future date..LGR wrote:Why do you need to write your own assembler? Can't you simply write instructions to download MPLAB, and feed ASM into it? As long as you're not the one doing the distribution, I don't see how that would be a problem. That's how Linux distros get away with using Microsoft TrueType fonts. They can't distribute them themselves, but they can instruct the end user how to download them for free.
True, but the benefit to using MPLAB is that they already have a simulator, and you also have ICD. But if you want to do you own, I'm sure the package would be a lot more tightly integrated. I haven't tried it myself, but I'm hearing good reports about the usability of ME's ICD.
If you know what you're doing, you're not learning anything.
Hi LGR
ICD is better than nothing, but you still need to compile & program a PIC each time which is why I would like to make an ICE system.
I haven't been able to use the ICD function as I don't have a recent EasyPIC.LGR wrote:True, but the benefit to using MPLAB is that they already have a simulator, and you also have ICD. But if you want to do you own, I'm sure the package would be a lot more tightly integrated. I haven't tried it myself, but I'm hearing good reports about the usability of ME's ICD.
ICD is better than nothing, but you still need to compile & program a PIC each time which is why I would like to make an ICE system.
Update!
Sorry for lack of updates, but I recently found out I'm going to be a dad
I now have hex file generation completed - including a good 2-pass assembler!
The system has also been updated to allow for many numerical formats (more than mB + MPlab support!), for example, you can use (for hex):
0x12345678
H'DEADBEEF'
5Dh
Binary, decimal and octal are also well supported.
Most of the core system has now been completed. Should not be more than 2-3 weeks from release
I now have hex file generation completed - including a good 2-pass assembler!
The system has also been updated to allow for many numerical formats (more than mB + MPlab support!), for example, you can use (for hex):
0x12345678
H'DEADBEEF'
5Dh
Binary, decimal and octal are also well supported.
Most of the core system has now been completed. Should not be more than 2-3 weeks from release
Re: Update!
I just wanted to ask thatNiki wrote:Should not be more than 2-3 weeks from release
OK, I am counting days.
Re: Update!
I hope it's 2-3 weeks! Here's my To-Do listzristic wrote:I just wanted to ask thatNiki wrote:Should not be more than 2-3 weeks from release
OK, I am counting days.
Create support web-site (Registered domain yesterday)
Turn compiler into a web-service
Add subversion support
Finish bug testing
Finish writing main commands
Not too much work....