New 8051 smart assembler

Hi those of you who are programming in 8051 assembler:

If you have been missing instructions like Sub, Dec DPtr, CJE, or are tired of messages like "Conditional jump out of range", or want to do floating point math, or ...., you might want to try the free SesAsm51 assembler. Download it at this link,

formatting link
/ Assembler / 8051 / Development Tools / SesAsm51

Jorgen

Reply to
Schjaer
Loading thread data ...

You'd have to download and look in the pdf file.

Here's a short list, though:

Variable case sensitivity Local labels Nested and recursive macros Tab stops on in- and output Floating point calc Math functions (Sqrt, Log, Sine, Random....) String manipulation Date and time Autocomment Type checking Conditional assembly Autosize all branches Compound instructions (Sub; Mov Rn,Rm; Dec DPtr; CJE; Call @DPtr....) Checksums Variable endianness Smart listing

Jorgen

Reply to
Schjaer

"Hi those of you who are programming in 8051 assembler:

If you have been missing instructions like Sub, Dec DPtr, CJE, or are tired of messages like "Conditional jump out of range", or want to do floating point math, or ...., you might want to try the free SesAsm51 assembler. Download it at this link,

formatting link
/ Assembler / 8051 / Development Tools / SesAsm51"

Searching for SesAsm51 worked but searching instead for 8051 did not find SesAsm51 so you might want to make it easier to find. Also, only three tools are listed in "Assembler / 8051 / Development Tools" and none of them is SesAsm51.

Reply to
Colin Paul Gloster

You must look more closely! There are about 50!

Happy New Year. Schjaer

Reply to
Schjaer

Happy New Year to you too.

I looked over your assembler and the main issue I had was the apparent lack of linker. I may have slipped up in this regard. Do you have suggestions on how to use libraries?

--Rocky

Reply to
Rocky

As there is no linking your libraries must be available in source form.

Jorgen

Reply to
Schjaer

Do you have 'dead code' removal? The reason I ask is we currently have a library that is quite large and to use it efficiently one would have to split it into many files as normally the linker would only include reference modules.

-Rocky

Reply to
Rocky

Using conditional assembly you may code a subroutine (or any piece of code) to only be assembled if referenced.

Jorgen

Reply to
Schjaer

tired

I'm using the the assembler SesAsm51 ( cross assembler for 8051 with floating point calculation, math functions......) for one of my projects, where we are designing a control loop for a subsonic wind tunnel to maintain the velocity of air flow in it.

I came to know about this assembler in one of your threads :

formatting link

and the link for the assembler is :

formatting link
/ Assembler / 8051 / Development Tools / SesAsm51"

There are some things I needed to know regarding the same. we need to evaluate an expression like this.. Vel= 4.28 * sqrt(40 *X) where X is a variable fed to the controller from an ADC. But the operand for sqrt function, as given in the pdf, is an immediate data. Is there any way with which we can realize the given expression,as stated above, using this assembler?

Reply to
yasha

The assembler itself doesn't supply code for runtime floating point operation. You can either find a library with the needed math routines or write your own.

Generally the easiest way to do this is to use a C compiler which comes with a library containing the functions you want.

What is the update rate for the wind tunnel? You might need to use a faster processor, depending on the complexity of the calculations and the required update rate.

--
Thad
Reply to
Thad Smith

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.