• AVR Freaks

Helpful ReplyHot!MPLABX 5.40 out, MPASM dead

Page: < 12345 > Showing page 4 of 5
Author
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: MPLABX 5.40 out, MPASM dead 2020/05/31 07:16:28 (permalink)
0 (4)
Jerry Messina
That turns a condescending smile into a frown.

I have not missed anything. As of today, the latest 8-bit Microchip chips are supported by the penultimate version of the IDE. That is, all these new chips can be used in new projects using IDE versions up to 5.30 / 5.35. No one ever guarantees eternal portability from the bottom up. Sooner or later, the moment comes when efforts are required to update one's own competencies, one’s habits, and sometimes one’s profession. This is how life is arranged and it is absolutely fair.
#61
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: MPLABX 5.40 out, MPASM dead 2020/05/31 07:21:47 (permalink)
-1 (5)
NorthGuy
Call it a progress if you wish.

Do you seriously believe that perpetual stocking from the same old chest of drawers is progress? A strange idea of progress ...
#62
Jerry Messina
Super Member
  • Total Posts : 668
  • Reward points : 0
  • Joined: 2003/11/07 12:35:12
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 07:52:47 (permalink)
+1 (1)
Mark Yampolsky
A strange idea of progress ...

And what/where exactly is the "progress" in all this? Does the new pic-as bring new capabilities or productivity enhancements to the table? Does it make my job easier or better? It's an assembler.
 
If you feel that it being 64-bit is progress then you need a job in marketing. All I see is that the change costs everyone involved money, time, and effort for no gain whatsoever.
 
Anyway, all this is a dead horse. No need to keep flogging the poor beast. What's done is done.
#63
NorthGuy
Super Member
  • Total Posts : 6523
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 07:59:32 (permalink)
+3 (3)
Mark Yampolsky
Do you seriously believe that perpetual stocking from the same old chest of drawers is progress? A strange idea of progress ...



IMHO, progress is forward motion. Such as old PIC16s didn't have logic cells, but now they do - that's progress - because logic cells provide additional benefits. Moving all the software from 32-bit to 64-bit is not progress - because nothing new is added. New episodes of Star Wars is not progress, merely a repetition of the old ones with inferior quality. Moving from MPASM to the new assembler is opposite to the progress, because it is lacking capabilities which were present in MPASM.
#64
andersm
Super Member
  • Total Posts : 2892
  • Reward points : 0
  • Joined: 2012/10/07 14:57:44
  • Location: 0
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 08:21:12 (permalink)
+4 (4)
I doubt the change has much of anything to do with 32- vs 64-bit, but rather the new assembler sharing code with the compiler. Also, it's probably not worth losing your minds over the first release.
#65
NorthGuy
Super Member
  • Total Posts : 6523
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 08:30:57 (permalink)
+1 (1)
andersm
I doubt the change has much of anything to do with 32- vs 64-bit



Sure it does. Someone from Microchip explained this - MPASM was written on Pascal which they cannot port to 64-bit (if I understood this correctly).
#66
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: MPLABX 5.40 out, MPASM dead 2020/05/31 08:39:20 (permalink)
-1 (5)
andersm
Also, it's probably not worth losing your minds over the first release.



Praise the Lord, a sober-minded person was found ...
Maybe this will finally stop the endless cry for MPASM.
#67
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: MPLABX 5.40 out, MPASM dead 2020/05/31 09:05:33 (permalink)
0 (4)
NorthGuy
 
IMHO, progress is forward motion.



Is using C a progress? Obviously, yes.
Is mixed code a progress against pure ASM? Obviously, yes.
All crying about the outgoing MPASM comes down to a ban on ASPIC using an anarchist ORG. And that’s all. Everything else is bows and ruffles.
ASPIC is no worse than MPASM in the sense of writing the actual executable code. The ban on violence against Linker is certainly a blessing. I must honestly admit this, despite the fact that I myself liked ORG.
It’s ridiculous to watch a child regularly minus me. Kindergarten, nursery. By God. )))
post edited by Mark Yampolsky - 2020/05/31 09:12:09
#68
crennolet
Super Member
  • Total Posts : 226
  • Reward points : 0
  • Joined: 2012/03/15 09:51:58
  • Location: 0
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 09:17:31 (permalink)
+2 (2)
Er, there are pascal-to-C translators available. Many. They aren't generally going to produce code that will just run in any large program, but it's usually a relatively small effort to complete the process. I've used them. They work. That excuse therefore is not sensible on its own. Of course, if there's a severely limited budget available, judgment calls have to be made. From what I see, Microchip developers have a lot on their plate with MCC and Harmony, not to mention the IDE itself.
 
Having built a pic-as project and checked out the situation, I would say that pic-as (invoked through creating an xc8 project) does have capabilities that mpasm does not have. It's not clear to me that you need those capabilities in a pure assembly project, but that may be a question for someone who builds larger projects than I typically do.
 
 
#69
NorthGuy
Super Member
  • Total Posts : 6523
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 10:49:02 (permalink)
+1 (1)
Mark Yampolsky
Is mixed code a progress against pure ASM? Obviously, yes.



This is not obvious, moreover this is absolutely not true. If you start from wrong premises, you will arrive to incorrect conclusions.
 
Assembler allows you to write anything at all, and doesn't impose any structure. C is, sort of, an extension to assembler which imposes structure in form of different storage models, stack, function calls, parameters passing, which is partly described by platform ABI. C is designed with this particular structure in mind. If you can't uphold the structure, C becomes very inefficient. For example va_list entity historically represents a pointer to a list of parameter, which is very simple and easy to operate - va_next() just advances the pointer to get to the next parameter. Where C is used on hardware which doesn't provide the matching structure, be it on x64 where parameters are passed in registers, or in XC8 (I don't know if it ever supports va_list and functions such as vsprintf()) the implementation of va_list gets complex, and its use gets extremely inefficient (I meant that as an example of a situation where the language structure is not suitable for underlying hardware).
 
The structure imposed by C is just one of many possible structures you may have in your design. If you like it, you may use it. In this case you can use a mix of C and assembler, and since C is easier to write, you'll probably have 90% of C and 10% of assembler, or, more typically, 100% C.
 
However, if you believe that a different structure matches your project better, you will have to get rid of C structure completely. Then the only resort is to use pure assembler. You typically create macros to implement your own structure and then you use your macros as you would use C statements. Your program text will consist  mostly of macros with a small portion of straight assembler commands.
 
#70
andersm
Super Member
  • Total Posts : 2892
  • Reward points : 0
  • Joined: 2012/10/07 14:57:44
  • Location: 0
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 11:28:38 (permalink)
+2 (2)
NorthGuy
andersm
I doubt the change has much of anything to do with 32- vs 64-bit

Sure it does. Someone from Microchip explained this - MPASM was written on Pascal which they cannot port to 64-bit (if I understood this correctly).

Examining the executable, it's written using Free Pascal. The current development versions of FPC can generate 64-bit code for all Microchip's supported platforms, so if they'd wanted to, they probably could have made it work.
#71
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: MPLABX 5.40 out, MPASM dead 2020/05/31 12:26:55 (permalink)
-1 (3)
NorthGuyAssembler allows you to write anything at all, and doesn't impose any structure.

Freedom is an awareness of the need ...
 
You can write any code in any language, but it will remain stupid regardless of the language. Because it is not language that is important, but the idea. And not just any, but as streamlined as possible for effective project management now and in the future, by you and anyone else.
Thought of freedom vs. C are anarchic and unproven.
High-level languages ​​are not created as ASM options, but as independent entities - tools for solving specific classes of problems. ASM, by and large, is not a language at all. This is a convenient syntax for machine code.
With the same success, it can be argued that only knowing the ABC can write something cooler than Dostoevsky or Shakespeare.
 
 
 
#72
NorthGuy
Super Member
  • Total Posts : 6523
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 14:01:01 (permalink)
+2 (2)
Mark Yampolsky
Because it is not language that is important, but the idea.

 
Exactly. Do the design first, then implement it in the language of your choice. You only need to make sure that it is indeed possible to implement your design using the language you have selected.
 
Mark Yampolsky
High-level languages ​​are not created as ASM options, but as independent entities

 
It depends on the language. C compiler is a program which reads your source and generates assembler on the output. If you wish, you can insert an assembler text at any place and it goes directly to the output. Therefore C has a flow, the same as assembler. For example, you can jump into the middle of the loop or anywhere else without limitations. In most other languages, designed as abstract ones, as Pascal, there's no flow - the program is structured into blocks which can only be executed as a whole.
 
Mark Yampolsky
With the same success, it can be argued that only knowing the ABC can write something cooler than Dostoevsky or Shakespeare.



Do you think they would write better if they had a modern spell-checker?
 
#73
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: MPLABX 5.40 out, MPASM dead 2020/05/31 19:38:39 (permalink)
0 (4)
NorthGuy
You only need to make sure that it is indeed possible to implement your design using the language you have selected.

Yes, the choice of language is determined by the task. Because the main thing when writing code is managing the process of writing code, and not at all building the syntactic structures of the language. Otherwise, the project will drown very quickly in errors and contradictions.
NorthGuyFor example, you can jump into the middle of the loop or anywhere else without limitations.

What for? Why jump in a loop anywhere? Following your "freedom" you need to walk not along pedestrian crossings, but along the shortest path - in a straight line. Even if this line crosses the autobahn ... The restrictions of the language are called, like any law, to restore order and understanding of the ways to implement the plan, minimize algorithm errors, simplify the solution of a complex problem. So that your work colleague understands what you wrote there, and you yourself in a month dawned on what this code is all about.
NorthGuy Do you think they would write better if they had a modern spell-checker?

Do you know what an artistic composition is? Or do you think that a work of art can be written as God puts on the soul?
 
#74
NorthGuy
Super Member
  • Total Posts : 6523
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/05/31 20:42:51 (permalink)
0
Mark Yampolsky
NorthGuyFor example, you can jump into the middle of the loop or anywhere else without limitations.

What for?



No reason. It's how it's been in assembler and got inherited by C. This is because C grew up from the assembler, but wasn't designed top down as you're suggesting. Otherwise, the ability to jump into the middle of the loops wouldn't be there.
#75
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: MPLABX 5.40 out, MPASM dead 2020/06/01 11:01:04 (permalink)
-2 (2)
NorthGuy
It's how it's been in assembler and got inherited by C.

This is complete nonsense. All high-level languages ​​grew out of the application tasks under which they created this language. These tasks were transformed into abstractions of the language, as a set of tools for solving these problems, and assembler was simply included in the translation procedure, and even then, provided that the language was a compiler, not an interpreter.
"Goto" remained as a kind of atavism of PROGRAMMING CONCEPTS, and not at all as an assembler instruction.
You are trying to imagine a high-level language (large entity) as a subset of assembler (small entity). You do not want this idiocy? Big cannot be part of small. Brick is a subset of the house, but not the other way around.
Moreover, modern processors are increasingly adapting the instruction system, and hence assembler for high-level languages. This assembler mimics C, not the other way around.
Feel the difference, my dear opponent... ;)
 
post edited by Mark Yampolsky - 2020/06/01 11:08:16
#76
dan1138
Super Member
  • Total Posts : 4243
  • Reward points : 0
  • Joined: 2007/02/21 23:04:16
  • Location: 0
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/06/01 12:37:40 (permalink)
+3 (5)
You are all so young.

How many of you remember actually using wires to program a computer? (IBM plug board)

Or setting a bank of switches to setup the initial program loader? (CDC 6600 dead start panel)

Assembly language is the method used to translate human readable text to patterns of one's and zero's that the CPU hardware uses as instructions.

The execution path control structures of the hardware are directly represented.

Other elements may be included in the assembly language to make it easier and less error prone for humans to use but the hardware doesn't care.

Real programmers use switches, wires and solder.


Youth is definitely wasted on the wrong people.
#77
NorthGuy
Super Member
  • Total Posts : 6523
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/06/01 12:55:09 (permalink)
+3 (3)
Mark Yampolsky
All high-level languages ​​grew out of the application tasks under which they created this language.

 
In case of C, the task was to simplify programming without applying too much restrictions. This was very pragmatic, it worked well. So C became widespread quickly.
 
Roughly at the same time academics created their own languages, such as Algol-68. They had very nice abstractions and were very well structured. But such approach wasn't practical, so such languages got extinct very quickly.
 
The CPUs cooked for C, such as MIPS, only appeared over a decade after C was created.
 
#78
crennolet
Super Member
  • Total Posts : 226
  • Reward points : 0
  • Joined: 2012/03/15 09:51:58
  • Location: 0
  • Status: offline
Re: MPLABX 5.40 out, MPASM dead 2020/06/01 15:08:26 (permalink)
+2 (2)
Pros and cons are the whole thing. High-level languages make it easier to write code, there's not really much doubt. (Except, of course, for languages like Ada, which was designed to make it virtually impossible to write bad code, and resulted -- IMHO -- in making it hard to write anything. Which may explain the popularity of Ada today.)
For a simple application on, say, a pic12f683, which is a pretty low-level pic, the same functionality (minimal -- pic12f683 is not a high-powered little guy):
 
 
In assembly I managed to use 11 bytes of RAM and 187 words of flash. In xc8 (C99) it needed 30 bytes of RAM (even though there were fewer variables) and, at optimization level 2, 242 words of flash. I have no doubt that with higher levels of optimization the flash requirements could be reduced a bit more. RAM? I doubt it, given the requirement for a stack.
The size of the sources were 245  lines, 5765 characters for the assembly (a bit more for the pic-as version),
For xc8, 140 lines, 3500 characters. The assembly took some time to write and get working -- a few hours. The C code took an hour, at most.
Of course, your mileage may vary.
 
#79
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: MPLABX 5.40 out, MPASM dead 2020/06/01 19:04:50 (permalink)
0
dan1138
You are all so young.

Thank you for the compliment, I believe that you deserve it too ... ;)))
NorthGuyIn case of C, the task was to simplify programming without applying too much restrictions.

Is it an objection or consent? The conversation went into nostalgia far from the essence of the issue.
The essence of the issue is that there are good tools to combine the efficiency of the resulting binary code with the effectiveness of managing its creation and support. Mixed code using a compiler that includes easy support for such code is the very progress that I originally talked about. This is progress against digging in self-written and meaningless macros in half with partisan ORGs.
On ASM in mixed code, you need to write only runtime critical functions, as well as functions that are non-native to C. These can be functions for supporting DSP modules and interrupt handlers, as well as part of functions where there is a danger of blocking the main loop.
NorthGuyThe CPUs cooked for C, such as MIPS, only appeared over a decade after C was created.

What is it about? What was I convincing? ;)))
 
 
 
post edited by Mark Yampolsky - 2020/06/01 19:10:55
#80
Page: < 12345 > Showing page 4 of 5
Jump to:
© 2021 APG vNext Commercial Version 4.5