• AVR Freaks

Helpful ReplyHot!Is MPASM intentionally killed?

Page: 12 > Showing page 1 of 2
Author
ematicon
Junior Member
  • Total Posts : 55
  • Reward points : 0
  • Status: offline
2020/04/05 12:52:11 (permalink)
0

Is MPASM intentionally killed?

After installing MPLABX 5.35 I've got a Configuration Loading Error:
 
"MPASM is not supported on 64 bit Operating Systems. Please consider migrating your project XXXXX configuration YYYYY to XC8 Assembler or continue to use a previously released IDE."
 
While in MPASM readme just stated that parallel build is no more functioning. That is also very sad (changing one inc file in almost hundred asm files project will take a time to build). 
 
I have some old but alive and continuing projects made in assembly with extensive usage of macros and other mpasm specifics. And recent versions of MPLABX gradually improves, support of 4K among them (and I hope finally will solve issues). So from my perspective to discard MPASM is a strange and destructive idea. 
 
If that trend will continue maybe someone already has a successive and hopefully painless experience porting asm project from MPASM to XC8 Assembler and ready to share?
#1
1and0
Access is Denied
  • Total Posts : 10999
  • Reward points : 0
  • Joined: 2007/05/06 12:03:20
  • Location: Harry's Gray Matter
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/05 13:42:07 (permalink) ☄ Helpfulby ematicon 2020/04/05 14:48:55
5 (2)
#2
dan1138
Super Member
  • Total Posts : 3730
  • Reward points : 0
  • Joined: 2007/02/21 23:04:16
  • Location: 0
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/05 19:59:03 (permalink)
5 (5)
<rant>
IMHO MPASM is being neglected to death.

It seems that for years Microchip has acted as if assembly language programming is no longer useful for their controllers.

This point of view is hard to argue with as the vast majority of revenue must be coming from the 16 and 32 bit PIC and Atmel controllers.

With MPLABX the Microchip tools group appears hard pressed to fix the Java craplet bugs in Netbeans that cause it to crash let alone add things to the tools that actually help developers write less buggy code.

Having used the Microchip PIC assembler from when it was first released as something that ran only on PC/MSDOS. I doubt it was much different than the General Instruments assembler it came from.

The changes made to the assembler of over the decades have been extensive but little effort has ever been focused on making it a better assembler for developing code with. To really appreciate what I mean you would need to have used the Intel assembler for the 8086 and the Microchip assembler in the same years. The Intel assembler supported declaration of data structure as complex as anything that a C compiler could do. The Microchip assembler still cannot tell the debugger the size of of the data a symbolic definition references.

There is nothing NOTHING that the Microchip assembler does that actually helps a developer avoid creating buggy code. In almost every way possible the syntax creates situations where bugs are likely, and don't get me started on "warning 302". This was a stupid diagnostic on a PIC16C54 and it only has one bank.

The one and perhaps only thing at present useful about MPASM is the legacy of know good code written with it.

The XC8 assembler (ASPIC) has a different origin. This was one of several target specific assemblers created by Hi-Tech that would accept output from their C compiler for various controllers. Remember back in the day Hi-Tech's business was selling code development tools for a vast array of controller chips.

I suspect that if Hi-Tech was still a going concern today ASPIC would be better and more useful than the GNU assembler.
</rant>
post edited by dan1138 - 2020/04/17 09:32:40
#3
ematicon
Junior Member
  • Total Posts : 55
  • Reward points : 0
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/17 04:06:45 (permalink)
0
It also seems that Microchip is not very proud of that. No official announcement, no migration/porting guide. Just behaves like MPASM was long gone by then.
#4
NorthGuy
Super Member
  • Total Posts : 6228
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/17 07:01:09 (permalink)
4 (2)
dan1138
IMHO MPASM is being neglected to death.



Do you think there's a demand for better assembler? I think if Microchip drop MPASM they believe that there's no demand. Or perhaps, they don't want this demand.
 
It is sad that we won't be able to use MPASM for newer parts, but if there's no market for MPASM, it's destine to die. Some as with MPLAB 8, which was much better than MPLAB X, especially for assembler programmers. But, for some reason, neophytes like these overbloated, buggy and clumsy IDEs of today. So MPLAB 8 had to die. Nothing we can do about this :(
#5
mpgmike
Super Member
  • Total Posts : 449
  • Reward points : 0
  • Joined: 2014/01/23 17:27:06
  • Location: NJ
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/17 07:44:21 (permalink)
0
Perhaps I just don't understand the mechanics that well, but XC8, MicroC, PBP, etc would require an ASM foundation which to build the higher level language upon.  In other words, how can MPASM go away?  How does Microchip & partner companies create the files needed to make the higher level language operate without it?

I don't need the world to know my name, but I want to live a life so all my great-grandchildren proudly remember me.
#6
rpg7
Super Member
  • Total Posts : 1405
  • Reward points : 0
  • Joined: 2003/11/07 12:47:35
  • Status: online
Re: Is MPASM intentionally killed? 2020/04/17 07:53:03 (permalink)
0
XC8 uses ASPIC. Not quite compatible with MPASM. It requite tings like explicit result destination, explicit banking etc. MPASM defaults to file destination and access bank doesn't need qualifiers.
#7
Jerry Messina
Super Member
  • Total Posts : 540
  • Reward points : 0
  • Joined: 2003/11/07 12:35:12
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/17 09:12:50 (permalink) ☄ Helpfulby ematicon 2020/04/20 14:11:49
5 (2)
There is some documentation available...
 
MPLAB XC8 PIC Assembler
http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20XC8%20PIC%20Assembler%20User's%20Guide%2050002974A.pdf
 
MPASM to MPLAB XC8 PIC Assembler Migration Guide
http://ww1.microchip.com/downloads/en/DeviceDoc/MPASM%20to%20MPLAB%20XC8%20PIC%20Assembler%20Migration%20Guide%2050002973A.pdf
 
If they really mean no more updates to MPASM, this is going to piss off a lot of people and will be a terrible blunder.
#8
dan1138
Super Member
  • Total Posts : 3730
  • Reward points : 0
  • Joined: 2007/02/21 23:04:16
  • Location: 0
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/17 10:21:45 (permalink)
0
Jerry Messina
If they really mean no more updates to MPASM, this is going to piss off a lot of people and will be a terrible blunder.



If we look at what Microchip is doing for the PIC24/dsPIC33 with regard to assembly coding they want to support it only as an extension in a C language program.
 
At present in is not possible to create a project using only assembler source files for new PIC24/dsPIC33 devices. A project is required to have at least one C language source file to initialize the configuration words for controllers with partitioned program flash space like the PIC24FJ1024GB606 or dual code core dsPIC33 devices.
 
It seems Microchip has a plan to do the same for the 8-bit controllers in the PIC and Atmel lines.
 
The Atmel controllers are likely the reason Microchip wants to abandon further MPASM development.
post edited by dan1138 - 2020/04/18 12:23:55
#9
ric
Super Member
  • Total Posts : 28006
  • Reward points : 0
  • Joined: 2003/11/07 12:41:26
  • Location: Australia, Melbourne
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/17 16:22:59 (permalink)
0
dan1138
...
The Atmel controllers are likely the reason Microchip wants to abandon further MPASM development.

I think you've hit the nail on the head.
Someone has tossed the "maintain two totally incompatible lines of assemblers" need into the "too hard" basket.
 

I also post at: PicForum
Links to useful PIC information: http://picforum.ric323.co...opic.php?f=59&t=15
NEW USERS: Posting images, links and code - workaround for restrictions.
To get a useful answer, always state which PIC you are using!
#10
PStechPaul
Super Member
  • Total Posts : 2814
  • Reward points : 0
  • Joined: 2006/06/27 16:11:32
  • Location: Cockeysville, MD, USA
  • Status: online
Re: Is MPASM intentionally killed? 2020/04/17 16:57:37 (permalink)
0
I just tried building and simulating an old mpasm project for a PIC16F84. It seems to work OK, but gives this warning:
MPASM is not supported on 64 bit Operating Systems. Please consider migrating your project "U19A2T1-4" configuration "default" to XC8 Assembler or continue to use a previously released IDE.


 
#11
Mark Yampolsky
Super Member
  • Total Posts : 122
  • Reward points : 0
  • Joined: 2009/04/03 18:50:36
  • Location: Russia Fryazino Moskow reg
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/18 03:03:07 (permalink)
0
dan1138
 
If we look at what Microchip is doing for the PIC24/dsPIC33 with regard to assembly coding they want to support it only as an extension in a C language program.
At present in is not possible to create a project using only assembler source files for new PIC24/dsPIC33 devices. 

Where does such strange information come from?
All my recent projects using dsPIC33EP512GM304, dsPIC33EP128MC202(204) and PIC24FJ256GA702 are going to build and compile hex files quite normally. Since ASM16 (instead of ASM30) is part of the XC16 package, there are no grounds for your allegations.
All of these projects are written in pure ASM (.s/.inc/.gld files) and used by MPLAB X 5.35.
 
post edited by Mark Yampolsky - 2020/04/18 03:08:37
#12
1and0
Access is Denied
  • Total Posts : 10999
  • Reward points : 0
  • Joined: 2007/05/06 12:03:20
  • Location: Harry's Gray Matter
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/18 06:14:11 (permalink)
0
And why the XC8 compiler install folder has a subfolder of only MPASM files: MPASM assembler, MPLINK linker, MPLIB librarian, device specific include files, and so on?
 
#13
dan1138
Super Member
  • Total Posts : 3730
  • Reward points : 0
  • Joined: 2007/02/21 23:04:16
  • Location: 0
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/18 12:22:13 (permalink)
0
Mark Yampolsky
dan1138
 
If we look at what Microchip is doing for the PIC24/dsPIC33 with regard to assembly coding they want to support it only as an extension in a C language program.
At present in is not possible to create a project using only assembler source files for new PIC24/dsPIC33 devices. 
A project is required to have at least one C language source file to initialize the configuration words for controllers with partitioned program flash space like the PIC24FJ1024GB606 or dual code core dsPIC33 devices.

Where does such strange information come from?
All my recent projects using dsPIC33EP512GM304, dsPIC33EP128MC202(204) and PIC24FJ256GA702 are going to build and compile hex files quite normally. Since ASM16 (instead of ASM30) is part of the XC16 package, there are no grounds for your allegations.
All of these projects are written in pure ASM (.s/.inc/.gld files) and used by MPLAB X 5.35.

I feel that you have misquoted my post so I added the missing part in bold for better context.
 
The part you have created assembly language project for: dsPIC33EP512GM304, dsPIC33EP128MC202(204) and PIC24FJ256GA702, in my view these device are not the "new" parts. What are new are parts have dual partition program flash space or dual execution cores.
 
I have yet find a method to set the FBOOT configuration word for my PIC24FJ1024GB606 without using the #pragma config FBOOT statement in a C file.
 
If you have a method to initialize the configuration words of these device using the Microchip supplied include files for assembly language please share that code.
post edited by dan1138 - 2020/04/18 12:24:24
#14
Mark Yampolsky
Super Member
  • Total Posts : 122
  • Reward points : 0
  • Joined: 2009/04/03 18:50:36
  • Location: Russia Fryazino Moskow reg
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/18 18:48:00 (permalink)
0
dan1138
I have yet find a method to set the FBOOT configuration word for my PIC24FJ1024GB606 without using the #pragma config FBOOT statement in a C file.
If you have a method to initialize the configuration words of these device using the Microchip supplied include files for assembly language please share that code.

You are trying to discuss not the problems of assembler as a tool, but the availability of examples of assembler code for all occasions.
In order to write such examples for you, the microchip must hire special people who will be for you and such as you generate the code for these examples in assembler. Is free. Because assembler is free. But assembler programmers are very few and they do not affect silicon sales.
Therefore, I advise you to create your own assembler library.
I worked with PIC24FJ1024GB606, but did not use the mode of work with two partitions. But I do not see any problems for their use. Now, because of COVID19, I work remotely, and not in the office, so I don’t have a product with PIC24FJ1024GB606 available and I can't find a solution for you immediately. I think that within one month I will be able to get to the office and take this product there in order to write an example code that interests you.
A manual for writing code for dual-core MK is available. This requires the creation of two separate projects (slave and master) and a special “master stub” project for debugging the slave.
#15
ric
Super Member
  • Total Posts : 28006
  • Reward points : 0
  • Joined: 2003/11/07 12:41:26
  • Location: Australia, Melbourne
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/18 19:39:00 (permalink)
1 (1)
You are addressing one of the most experienced programmers on this forum.
He is not asking you to write code for him, just a method to do something which appears impossible on these new chips with the old assembler.
 

I also post at: PicForum
Links to useful PIC information: http://picforum.ric323.co...opic.php?f=59&t=15
NEW USERS: Posting images, links and code - workaround for restrictions.
To get a useful answer, always state which PIC you are using!
#16
dan1138
Super Member
  • Total Posts : 3730
  • Reward points : 0
  • Joined: 2007/02/21 23:04:16
  • Location: 0
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/18 21:28:06 (permalink)
5 (1)
ric
You are addressing one of the most experienced programmers on this forum.

Ric, it's very kind of you to make such a nice comment. Your view of my abilities may not be shared by all the members here :)

Mark Yampolsky
dan1138
I have yet find a method to set the FBOOT configuration word for my PIC24FJ1024GB606 without using the #pragma config FBOOT statement in a C file.

If you have a method to initialize the configuration words of these device using the Microchip supplied include files for assembly language please share that code.

You are trying to discuss not the problems of assembler as a tool, but the availability of examples of assembler code for all occasions.
In order to write such examples for you, the microchip must hire special people who will be for you and such as you generate the code for these examples in assembler. Is free. Because assembler is free. But assembler programmers are very few and they do not affect silicon sales.
Therefore, I advise you to create your own assembler library.
I worked with PIC24FJ1024GB606, but did not use the mode of work with two partitions. But I do not see any problems for their use. Now, because of COVID19, I work remotely, and not in the office, so I don’t have a product with PIC24FJ1024GB606 available and I can't find a solution for you immediately. I think that within one month I will be able to get to the office and take this product there in order to write an example code that interests you.
A manual for writing code for dual-core MK is available. This requires the creation of two separate projects (slave and master) and a special “master stub” project for debugging the slave.


Mr. Yampolsky,

My comment goes to the heart of how Microchip seems to regard assembly language for their controllers.

Your statement: " ... I don’t have a product with PIC24FJ1024GB606 available ..." raises the question with how developers work with the Microchip tool chain. It would appear that you require having a physical controller chip connected to the In-Circuit-Debug tool before attempting to create any code at all.

The example I seek requires only the MPLABX IDE and the XC16 compiler the simulation tool or real hardware is not needed. Just opening the "Configuration Bits" window would show everything I could need.

As you have interpreted my request as a request for example code to initialize a dual core dsPIC using assembly language. All I can say is this is not what I asked for. Perhaps I should seek advise from other members with more experience and fewer axes to grind.

As far as a library of example code I have posted some on github here: https://github.com/dsoze1138

The repositories I post on github are projects I have done for my own education and as examples to support posts I have made on various forums. While I have a day job of writing embedded firmware these repositories are exercises that keep me in practice.

Have you made any of your code or projects accessible to the public?
#17
Mark Yampolsky
Super Member
  • Total Posts : 122
  • Reward points : 0
  • Joined: 2009/04/03 18:50:36
  • Location: Russia Fryazino Moskow reg
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/18 23:26:26 (permalink)
0
dan1138
Mr. Yampolsky,
My comment goes to the heart of how Microchip seems to regard assembly language for their controllers.
Your statement: " ... I don’t have a product with PIC24FJ1024GB606 available ..." raises the question with how developers work with the Microchip tool chain. It would appear that you require having a physical controller chip connected to the In-Circuit-Debug tool before attempting to create any code at all.

The example I seek requires only the MPLABX IDE and the XC16 compiler the simulation tool or real hardware is not needed. Just opening the "Configuration Bits" window would show everything I could need.

Well, I created a project in MPLAB X and figured out what you are talking about.
But I also have a question .... How is it in English?
In Russian, it will be: "Vam shashecki ili ehat?" - "Аre you looking for "checkers" or do you need to go?" )))
Do you always follow assembler warnings? Do you always follow all the warnings in real life?
But I am not so "law-abiding."
Therefore, I always use the design:
 config __FBOOT,BTMODE_DUAL

You won’t believe .... It works !!!
)))))
 
 
post edited by Mark Yampolsky - 2020/04/18 23:53:16

Attached Image(s)

#18
Mark Yampolsky
Super Member
  • Total Posts : 122
  • Reward points : 0
  • Joined: 2009/04/03 18:50:36
  • Location: Russia Fryazino Moskow reg
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/19 01:39:06 (permalink)
5 (1)
ric
You are addressing one of the most experienced programmers on this forum.

What should I do with this information? Beat low bows? )))
#19
ric
Super Member
  • Total Posts : 28006
  • Reward points : 0
  • Joined: 2003/11/07 12:41:26
  • Location: Australia, Melbourne
  • Status: offline
Re: Is MPASM intentionally killed? 2020/04/19 01:44:26 (permalink)
5 (2)
Mark Yampolsky
ric
You are addressing one of the most experienced programmers on this forum.

What should I do with this information? Beat low bows? )))

Get down off your high horse and stop treating him like a newbie asking someone to write all his code for him.
Dan has helped many hundreds of people on this forum, and as he just stated, published many examples of code for others to use.
 

I also post at: PicForum
Links to useful PIC information: http://picforum.ric323.co...opic.php?f=59&t=15
NEW USERS: Posting images, links and code - workaround for restrictions.
To get a useful answer, always state which PIC you are using!
#20
Page: 12 > Showing page 1 of 2
Jump to:
© 2020 APG vNext Commercial Version 4.5