Truncated match.
PICList
Thread
'pseudo-asm'
1998\05\12@010254
by
FScalini
Hi everyone,
I've seen in Myke's book the use of pseudo-asm to abbreviate code in some
situations (e.g. "dt" to implement lookup tables). I've searched all over
Microchip's literature and the web for more of these "short cuts" and haven't
found a thing. Does anybody know where the literature that describes these
pseudo-ops can be found? Are there many other such commands that also
abbreviate code like dt? Thanks.
Fernando
1998\05\12@062753
by
STEENKAMP [M.ING E&E]
Hi,
> Hi everyone,
>
> I've seen in Myke's book the use of pseudo-asm to abbreviate code in some
> situations (e.g. "dt" to implement lookup tables). I've searched all over
> Microchip's literature and the web for more of these "short cuts" and haven't
> found a thing. Does anybody know where the literature that describes these
> pseudo-ops can be found? Are there many other such commands that also
> abbreviate code like dt? Thanks.
>
> Fernando
"dt" is one of the directives and you can find help about it (and more) in
the MPASM help file, Chapter 3, that comes with MPLAB (I have version
3.31).
There is also a list of pseudo-mnemonics (like skpz, skpnc, etc.) in the
same help file under Appendix D \ PIC16CXX Instruction Set \ Special
Instruction Mnemonics.
Niki
1998\05\12@063649
by
g.daniel.invent.design
FScalini wrote:
>
> Hi everyone,
>
> I've seen in Myke's book the use of pseudo-asm to abbreviate code in some
> situations (e.g. "dt" to implement lookup tables). I've searched all over
> Microchip's literature and the web for more of these "short cuts" and haven't
> found a thing. Does anybody know where the literature that describes these
> pseudo-ops can be found? Are there many other such commands that also
> abbreviate code like dt? Thanks.
>
> Fernando
Use Microchips MPLAB help, MPASM, 16cXX and then look for "Special"
opcodes ie "BZ destination" = a "BTFSC status,z" followed with "GOTO
destination"
regards,
Graham Daniel
1998\05\12@064701
by
Pandit Panburana
Fernando,
I found these "short cuts" that you are referring to from
the MLAB software under asm. help menu. You can
download the software from Microchip.
-Pandit
----------
> From: FScalini <spam_OUTFScaliniTakeThisOuT
AOL.COM>
> To: .....PICLISTKILLspam
@spam@MITVMA.MIT.EDU
> Subject: pseudo-asm
> Date: Tuesday, May 12, 1998 12:53 AM
>
> Hi everyone,
>
> I've seen in Myke's book the use of pseudo-asm to abbreviate code in some
> situations (e.g. "dt" to implement lookup tables). I've searched all
over
> Microchip's literature and the web for more of these "short cuts" and
haven't
> found a thing. Does anybody know where the literature that describes
these
> pseudo-ops can be found? Are there many other such commands that also
> abbreviate code like dt? Thanks.
>
> Fernando
1998\05\12@073455
by
Caisson
> Van: FScalini <FScalini
KILLspamAOL.COM>
> Aan: .....PICLISTKILLspam
.....MITVMA.MIT.EDU
> Onderwerp: pseudo-asm
> Datum: dinsdag 12 mei 1998 6:53
>
> Hi everyone,
>
> I've seen in Myke's book the use of pseudo-asm to abbreviate code in some
> situations (e.g. "dt" to implement lookup tables). I've searched all
over
> Microchip's literature and the web for more of these "short cuts" and
haven't
> found a thing. Does anybody know where the literature that describes
these
> pseudo-ops can be found? Are there many other such commands that also
> abbreviate code like dt? Thanks.
>
> Fernando
Hai Fernando,
There are some more ! Look for a booklet called "mpasm assembler user's
guide".
Greetz,
Rudy Wieser
1998\05\12@105855
by
Ivan Cenov
Hi,
I have written an include file (parallax.inc) which
implements 'parallax' instructions. These are more readable for one that's
moving
form hc11 or 8051 to PIC but hardly 'traceable' in MPLAB.
zipped file is 3kb. If it interesting for somebody i can post it to the
list.
Ivan Cenov
EraseMEokto7spam_OUT
TakeThisOuTbotev.ttm.bg
{Original Message removed}
1998\05\12@111958
by
myke predko
|
Hi Fernando,
As people have pointed out, "dt" is part of the "directive language" that is
part of MPASM (and you can see in MPLAB -> "Help" -> "MPASM").
There are also "psuedo-assembler" instructions that I avoid largely because
I don't find it that much more difficult to write out the instructions (and
with 35 instructions and just knowing the basic Status Register flags, I
find that having to learn *more* instructions is more trouble than it's
worth). These instructions include things like "BZ" which is Branch on Zero
Flag Set and is the equivalent of "btfsc STATUS, Z"/"goto {Label}".
I have been steering beginners, when I've been asked, away from using these
psuedo-assembler instructions because while they do make programming the PIC
easier, they make understanding the bit operations less intuitive. I've
seen beginner's struggle with code like:
mov flag, w ; Get the Flags Register
andlw 0x010 ; Test Bit 4
BNZ Label ; and if it's set, Jump to Label
When:
btfsc flag, 4 ; Test Bit 4
goto Label ; and if it's set, Jumpt to Label
Will do the same thing in half the instructions and not affect the "w"
register or flags.
I avoid the Parallax set of instructions and warn beginners to stay away
even if they are familiar with 8051 operations. I avoid it because
registers and Status register flags can get changed inadvertently without
the user neccessarily knowing it.
On these points, what do other people think? When I see a snippet using the
"psuedo-assembler" or PAX assembler, for the most part I can figure out what
the instructions are doing, but I don't find them more efficient to use for
coding with at all.
myke
{Quote hidden}>Hi everyone,
>
>I've seen in Myke's book the use of pseudo-asm to abbreviate code in some
>situations (e.g. "dt" to implement lookup tables). I've searched all over
>Microchip's literature and the web for more of these "short cuts" and haven't
>found a thing. Does anybody know where the literature that describes these
>pseudo-ops can be found? Are there many other such commands that also
>abbreviate code like dt? Thanks.
>
>Fernando
>
>
"If people don't know what you're doing, they don't know what you're doing
wrong." - Sir Humphrey Appleby K.C.B
1998\05\12@200036
by
Steve Baldwin
|
> I avoid the Parallax set of instructions and warn beginners to stay away
> even if they are familiar with 8051 operations. I avoid it because
> registers and Status register flags can get changed inadvertently without
> the user neccessarily knowing it.
>
> On these points, what do other people think?
I agree. That was my first reaction when I got the Scenix stuff (my
first contact with Parallax tools).
I don't have a problem with them being there, but I would
really like to be able to turn them off in the assembler or have
the option to have them flagged as warnings or at least expanded in
the listing file.
It also seemed rather odd to have a micro that has a small
instruction set as one of its benefits and then add lots
more instructions.
Two things made me most nervous about the idea. The hidden
register/flag changes you mention and the increased likelyhood of
typing related bugs. For example, leaving a '!' off a Scenix
instruction would be an error caught by the assembler in a native
assembler, but would produce a different instruction in the extended
instruction set. I know which I prefer.
Steve.
======================================================
Steve Baldwin Electronic Product Design
TLA Microsystems Ltd Microcontroller Specialists
PO Box 15-680, New Lynn http://www.tla.co.nz
Auckland, New Zealand ph +64 9 820-2221
email: steveb
spam_OUTtla.co.nz fax +64 9 820-1929
======================================================
1998\05\12@213437
by
TONY NIXON 54964
>On these points, what do other people think?
I thought the idea of a RISC processor was to keep the instruction
count to a minimum while still providing flexiblility.
35 instructions are pretty easy to learn and remember.
I think simpler is, more often than not, better :-)
Tony
PicNPoke Multimedia 16F84 Beginners PIC Tools.
**PLUS** - PicNPlay - PicNPlan - PicNPrep - PicNPost
PicNPort - DT Type Saver - *new* PicNQuiz.
Recent addition - Hex To Source converter.
http://www.picnpoke.com
Email @spam@picnpokeKILLspam
cdi.com.au
1998\05\12@232950
by
David Sorlien
|
Steve Baldwin wrote:
> > On these points, what do other people think?
Microchip's pseudo-ops (documented in the MPASM.HLP file, appendix D) are huge
time savers for me. When writing a large PIC application, it is a lot quicker
to type:
skpz
than it is to type:
btfss STATUS,Z
IMO, the source code becomes more readable when some pseudo opcodes are used. I
usually limit my use of these 'extra' instructions only when they expand to a
single opcode. Timing calculation errors are easily avoided following this
simple rule.
I use Multiedit for writing PIC code. This source code editor is by far the
best in its class. When configured properly, Multiedit provides syntax
highlighting, configurable macro keys, a compiler program interface, automatic
compiler error file parsing, fantastic search and replace functions... I could
go on and on about how great this editor is. It's not cheap though - version 8
cost me $129USD for the electronic download!
Back to the topic: I have setup Multiedit to display all standard PIC opcodes
in bold, compiler directives are displayed in bold text of a different color,
and pseudo-opcodes are bold and in a third color. Provides immediate
verification of proper spelling, and I can instantly locate which instuctions
are not the 'standard' ones.
If anyone has (or decides to get) Multiedit and needs the configuration info
for PIC use, I would be happy to share. Oh yeah, I am not affiliated with
American Cybernetics, just a satisfied user of their product. Check it out,
there is a demo you can download at:
http://www.multiedit.com/
Dave Sorlien
1998\05\13@030602
by
Steve Baldwin
> I use Multiedit for writing PIC code.
> cost me $129USD for the electronic download!
Don't bother paying extra for a manual though. There isn't one.
What you get is a 60 page brochure that covers the macro language in
one page. It used to take a book.
> If anyone has (or decides to get) Multiedit and needs the configuration info
> for PIC use, I would be happy to share.
I'd be interested in that. Got a 7.11 manual that you don't want any
more ? :-)
Steve.
======================================================
Steve Baldwin Electronic Product Design
TLA Microsystems Ltd Microcontroller Specialists
PO Box 15-680, New Lynn http://www.tla.co.nz
Auckland, New Zealand ph +64 9 820-2221
email: KILLspamstevebKILLspam
tla.co.nz fax +64 9 820-1929
======================================================
1998\05\13@062745
by
g.daniel.invent.design
|
I like the sound of Dave's edit program as below, wouldn't it be nice
for us if Microchip expanded the official product along these lines ?
SGS Thomson now appear to have bought the software rights from Actum to
give us the "Realiser" (st62xx series only) at the price of CDROM only,
that's great for "need the product yesterday" or uC newbie
applications, the weak point in most uC manufacturer's products that I
have seen is the assembler/editor.ie motorola's "IASM11"
Yeah, I know that higher level languages such as "C" exist, and can help
with time to market, but as many of you have discovered, RAM space and
speed are more friendly to low level assembly.
Many of us (well me anyway) use a P.C. at home for our R&D, a 14 or 15
inch moniter can show only a limited number of code lines. Filling these
up with movlw and movf sure makes it look like you've been busy, but I
prefer to condense with a macro and shunt this sort of thing off to the
list and hex files. As a general rule of thumb if I have to do a tedious
piece of code more than three times I will put it into a macro or a
subroutine.
Here some claims to fame/sales pitch from a few of our leading
suppliers:
Motorola advertise "CISC" (complex instruction set chip ?)
Microchip advertise "RISC", only 35 instructions etc(16cxx)
SGS Thomson advertise "universal core" (snail with Pic&Mix
pheripherals))
Atmel advertise "RISC with CISC features" (similiar to MPASM with
special instruction equivalents)
Scenix advertise "Virtual Pheripherals" (pre debugged? bit bangers)
I think that Microchip deliberatly downplay their "Special Instruction
Mnemonics" as a sales strategy. (conflicts with their "only 35
instructions to learn !") line.
This doesn't mean that we the sold, have to restrict ourselves to only
the awkward minimalist mnemonics.
In an open discussion forum such as the PICLIST I agree that the
exclusion of exotic instructions can make sharing and debugging of code
easier. This is assuming however, that we are not interested in training
ourselves to program more efficiently.
As the piclist's main subject matter is "MICROCHIP PICXXXXX"
microcontrolers and programming of them, perhaps we should check their
freeware MPLAB help files for information on MPASM assembly mnemonics ?
Those of you who have already done so will note the subject "SPECIAL
INSTRUCTION MNEMONICS" , listed on the left is the special mnemonic, on
the right is the "EQUIVALENT CODE" , please note: No cycle count is
specified here; this doesen't mean zero cycle time, simply check out the
cycle times for the component mnemonics making up a special instruction.
Personally I have a problem with "btfss STATUS,Z" (for example) : when
an operation is made affecting the status flags, and the result is zero,
I would expect to test for a clear (0) Z bit. It's not this way ! , Zero
result means Z bit in STATUS is SET. Therefore, I prefer to use a
special instruction. Especially when doing maths calculations, I find
that the special instruction mnemonics give much better readability.
(and macros)
I like seeing macros and extended MPASM vocabulary code in my email, it
tells me that people are looking for a "best" solution.
regards all,
Graham Daniel
David Sorlien wrote:
{Quote hidden}>
> Steve Baldwin wrote:
>
> > > On these points, what do other people think?
>
> Microchip's pseudo-ops (documented in the MPASM.HLP file, appendix D) are huge
> time savers for me. When writing a large PIC application, it is a lot quicker
> to type:
> skpz
> than it is to type:
> btfss STATUS,Z
>
> IMO, the source code becomes more readable when some pseudo opcodes are used.
I
> usually limit my use of these 'extra' instructions only when they expand to a
> single opcode. Timing calculation errors are easily avoided following this
> simple rule.
>
> I use Multiedit for writing PIC code. This source code editor is by far the
> best in its class. When configured properly, Multiedit provides syntax
> highlighting, configurable macro keys, a compiler program interface, automatic
> compiler error file parsing, fantastic search and replace functions... I could
> go on and on about how great this editor is. It's not cheap though - version 8
> cost me $129USD for the electronic download!
>
> Back to the topic: I have setup Multiedit to display all standard PIC opcodes
> in bold, compiler directives are displayed in bold text of a different color,
> and pseudo-opcodes are bold and in a third color. Provides immediate
> verification of proper spelling, and I can instantly locate which instuctions
> are not the 'standard' ones.
>
> If anyone has (or decides to get) Multiedit and needs the configuration info
> for PIC use, I would be happy to share. Oh yeah, I am not affiliated with
> American Cybernetics, just a satisfied user of their product. Check it out,
> there is a demo you can download at:
>
http://www.multiedit.com/
>
> Dave Sorlien
1998\05\13@072713
by
Caisson
|
> Van: myke predko <RemoveMEmykeTakeThisOuT
PASSPORT.CA>
> Aan: spamBeGonePICLISTspamBeGone
MITVMA.MIT.EDU
> Onderwerp: Re: pseudo-asm
> Datum: dinsdag 12 mei 1998 16:02
[Cut]
> I have been steering beginners, when I've been asked, away from using
these
> pseudo-assembler instructions because while they do make programming the
> PIC easier, they make understanding the bit operations less intuitive.
Did you ever try to 'skip' a macro-instruction ?
btfsc {register},7 ;Is it negative
negf {register} ;Yes : make it positive
; negf := comf and incf together
Boy, do you have a lot of fun !
By the way : Pseudo-instructions and macro's are not the same ...
You _need_ pseudo instructructions like 'org' , 'db' , 'dw' and 'dt'.
> On these points, what do other people think? When I see a snippet using
the
> "psuedo-assembler" or PAX assembler, for the most part I can figure out
what
> the instructions are doing, but I don't find them more efficient to use
for
> coding with at all.
That's about what i'm thinking too.
> myke
Greetz,
Rudy Wieser
1998\05\13@083444
by
Walter Banks
> I know that higher level languages such as "C" exist, and can help
> with time to market, but as many of you have discovered, RAM space
> and speed are more friendly to low level assembly.
C started out as little more than a structured assembler. For every
Microchip PIC instruction there is a C statement and a one for one
relationship between the C generated code and the assembler. There
is no need for any penalty to be paid for using C. C at its
basic level offers the advantages of the pseudo-asm instructions
in a format that is similar to algorithmic languages. Well written C
like well written assembler produces tight effective application
code.
Walter Banks
1998\05\13@124829
by
Mike Keitz
|
On Wed, 13 May 1998 22:26:54 +1200 "G.Daniel Invent Design"
<TakeThisOuTg.daniel.invent.designEraseME
spam_OUTxtra.co.nz> writes:
>Personally I have a problem with "btfss STATUS,Z" (for example) : when
>an operation is made affecting the status flags, and the result is
>zero,
>I would expect to test for a clear (0) Z bit. It's not this way ! ,
>Zero
>result means Z bit in STATUS is SET. Therefore, I prefer to use a
>special instruction.
Most processors work this way, but it is confusing. I like the simple
"special instructions" (actually they are predefined macros) like skpz,
skpnz, setc, etc. because it is easy to remember exactly what they do
without thinking about whhich bit is which in the status register. They
expand to single PIC instructions so skipping them is no problem. The
"instructions" like bz, negf, etc. are too "far away" from how the PIC
works so I don't use them.
It would be nice if MPASM read these predefined macros from a file so
users could change or delete them. But then there would be a lot of
nonstandard code out there. For sharing code with others, it's best to
use only the 35 stock instructions and maybe some of the simple
psuedo-instructions. Then no matter what assembler they have they'll be
able to understand and use it readily.
_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]
1998\05\13@132128
by
Dwayne Reid
Hiya Myke
I use the single instruction pseudo-ops such as 'skpc', 'skpnz', 'setc',
'clrz' and the like because they help make the code easier to read. One
does not have to remember what each bit in the status register does.
I sometimes (occasionally) use multiple instruction pseudo-ops such as 'bnc'
and 'bz' if they make reading the code easier. One has to always be careful
not to use these following a condition test but aside from that limitation,
they are useful.
Just my opinion, for what its worth.
dwayne
Dwayne Reid <RemoveMEdwayner
TakeThisOuTplanet.eon.net>
Trinity Electronics Systems Ltd Edmonton, Alberta, CANADA
(403) 489-3199 voice (403) 487-6397 fax
1998\05\13@143025
by
Mark Hellman
At 12:53 AM 5/12/98 -0400, you wrote:
>Hi everyone,
>
>I've seen in Myke's book the use of pseudo-asm to abbreviate code in some
>situations (e.g. "dt" to implement lookup tables). I've searched all over
>Microchip's literature and the web for more of these "short cuts" and haven't
>found a thing. Does anybody know where the literature that describes these
>pseudo-ops can be found? Are there many other such commands that also
>abbreviate code like dt? Thanks.
>
>Fernando
>
Fernando,
Those are assembler directives, look in the docs for the assembler.
Have a GREAT day,
Mark
1998\05\13@154407
by
n M. Ranguelov
Hi !
Ivan Cenov wrote:
{Quote hidden}>
> Hi,
>
> I have written an include file (parallax.inc) which
> implements 'parallax' instructions. These are more readable for one that's
> moving
> form hc11 or 8051 to PIC but hardly 'traceable' in MPLAB.
>
> zipped file is 3kb. If it interesting for somebody i can post it to the
> list.
I am interested ! Coul'd you send it via personal e-mail to me please.
If you wish to publish it and dont want to send binary data to the
whole list, i could put the file on my web page and post a link to it
to the piclist.
stefan.
1998\05\13@160522
by
n M. Ranguelov
Steve Baldwin wrote:
>
> > I avoid the Parallax set of instructions and warn beginners to stay away
> > even if they are familiar with 8051 operations. I avoid it because
> > registers and Status register flags can get changed inadvertently without
> > the user neccessarily knowing it.
> >
> > On these points, what do other people think?
>
I shoul'd know this when i started with PICs. The first software i
was using was the parallax assembler and i lerned the parallax
version. Now am am still using it and somtimes i have to check
what the parallax assembler is generating and what the original
Mchip instructions realy do.
It was the first time i have seen a processor with two different
assembler mnemonics.
The parallax version makes it realy easy, if it was your first
RISC type processor.
St.
1998\05\13@173746
by
Eric Smith
|
"Stefan M. Ranguelov" <rangueloEraseME
.....INFORMATIK.HU-BERLIN.DE> wrote:
> It was the first time i have seen a processor with two different
> assembler mnemonics.
What? You never used a Z-80?
Intel used to assert a copyright on their mnemonics, so Zilog invented their
own (plus mnemonics for their new instructions). The Zilog mnemonics made
*much* more sense than the Intel ones. However, someone (TDL?) came up with
extensions to the Intel mnemonic set to cover the new Zilog instructions.
Microsoft's Macro-80 assembler (an awesome assembler for its day) handled
both sets. I used Zilog mnemonics by choice, but Z-80 programmers often had
to deal with other people's 8080 code, so they tended to be fluent in both.
On the PIC, it's easy enough to write macros for MPASM to support the
Parallax mnemonics. Last I checked, the Parallax assembler didn't offer
user-defined macros, so the reverse wasn't true.
I would mind the Parallax stuff so much, if they had simply had their
assembler emit an error (or at least a warning) if you tried to use a
mnemonic that generated two instructions immediately following a skip.
Cheers,
Eric
1998\05\13@174219
by
Steve Baldwin
|
> Motorola advertise "CISC" (complex instruction set chip ?)
It's "CSIC". Oh no ! The spelling thread again :-)
"Customer Specified IC" - Yep. We get the leftovers from the real
customers.
> Microchip advertise "RISC", only 35 instructions etc(16cxx)
> Atmel advertise "RISC with CISC features" (similiar to MPASM with
> special instruction equivalents)
I find the Microchip / Atmel "RISC" term war to be a bit of humour.
> Scenix advertise "Virtual Pheripherals" (pre debugged? bit bangers)
The term has been around a lot longer than they have.
> > Steve Baldwin wrote:
I didn't actually. I'd just like a switch to flag the pseudo-ops as
warnings so I have the choice to use them or not.
Steve.
======================================================
Steve Baldwin Electronic Product Design
TLA Microsystems Ltd Microcontroller Specialists
PO Box 15-680, New Lynn http://www.tla.co.nz
Auckland, New Zealand ph +64 9 820-2221
email: EraseMEsteveb
tla.co.nz fax +64 9 820-1929
======================================================
1998\05\13@225418
by
Chuck Rice
At 12:58 PM -0700 5/13/98, Stefan M. Ranguelov wrote:
> It was the first time i have seen a processor with two different
> assembler mnemonics.
mne mon ic adj.
1. Relating to, assisting, or intended to assist the memory.
Processors tend to get multiple mnemonic sets when the
mnemonics are not very mnemonic. I is not so uncommon
for someone to say "This is horrid" and think that they
can do better. Unfortunatlly, the manufacturer generally
wins out anyway unless the mnemonics are REALLY bad.
-Chuck-
__________________________________________________________________________
Chuck Rice <RemoveMEChuckEraseME
EraseMEWildRice.com>
1998\05\14@023424
by
William Chops Westfield
The DEC PDP-10 had separate assembler mnemonics for "macros" and "opcode
definitions." Given the extremely regular ("RISC" :-) instruction set,
the main purpose was to allow you to reuse the parsing for the operands
when you defined a new opcode, but it's a principle that may be worthwhile
to resurrect...
BillW
1998\05\14@125823
by
John Halleck
|
On Wed, 13 May 1998, William Chops Westfield wrote:
> The DEC PDP-10 had separate assembler mnemonics for "macros" and "opcode
> definitions." Given the extremely regular ("RISC" :-) instruction set,
> the main purpose was to allow you to reuse the parsing for the operands
> when you defined a new opcode, but it's a principle that may be worthwhile
> to resurrect...
>
> BillW
My favorate assembler was for the Univac 1100 Series MASM.
The facilities for defining new opcodes had powerfull macro
facilities. (Powerfull enough, in fact, that someone built
an evaluator for lambda calculus expressions in macros).
It was straight forward to add appropriate conditions so that
you could inforce "This macro can't follow macros in the
xxx class)" sorts of restrictions.
The abilities to define new ops was powerfull enough that
there were definations for other machines availiable that
produced bytes in Univac's relocatable format that you
could strip out and send to other machines.
LeRoy Eide produced, for a local communcations project,
macros to define tables that not only produced the
appropriate code to deal with partial word fields, but
also drew labeled pictures of the tables in the
assembly listing.
After seeing such assembliers (over 15 years ago) I'm surprised
that the assemblers I see for PIC's and other microcontrolers
are as limited as the assembliers I programmed on 30 years ago.
Is this a marketing issue? Would people not pay for an assembler
with real power?
Actually, it wouldn't be hard (if someone still had a Univac 1100
around) to write the macro's to cause it to emit PIC instructions)
with assembly time errors if one tried to use a multi-instruction
macro after a test instruction...
Actually... most people's PC's have more power that the Univac
1108 I first used MASM on...
1998\05\15@030139
by
Leon Heller
|
In message <Pine.GSO.3.96.980514104203.15316K-100000@gos>, John Halleck
<RemoveMEJohn.Halleckspam_OUT
KILLspamCC.UTAH.EDU> writes
>After seeing such assembliers (over 15 years ago) I'm surprised
>that the assemblers I see for PIC's and other microcontrolers
>are as limited as the assembliers I programmed on 30 years ago.
>
>
>
>Is this a marketing issue? Would people not pay for an assembler
>with real power?
>
>Actually, it wouldn't be hard (if someone still had a Univac 1100
>around) to write the macro's to cause it to emit PIC instructions)
>with assembly time errors if one tried to use a multi-instruction
>macro after a test instruction...
>
>Actually... most people's PC's have more power that the Univac
>1108 I first used MASM on...
You can always use a separate macro-processor like m4 as a pre-
processor, or implement a macro pre-processor in SNOBOL. I'm using a PD
assembler with my own DSP system, which doesn't have a macro capability.
Using m4 I've been able to use complex macros written for the ADI
assembler.
Someone who used to program them told me once that the old Singer mini
had such a complex instruction set that a SNOBOL pre-processor was
supplied, to translate the more understandable assembly language that
the programmer actually used.
I once implemented a complete TI 9995 x-assembler on my TRS-80 Model I
using macros written for the Microsoft Macro-80 assembler.
Leon
--
Leon Heller: RemoveMEleonTakeThisOuT
spamlfheller.demon.co.uk http://www.lfheller.demon.co.uk
Amateur Radio Callsign G1HSM Tel: +44 (0) 118 947 1424
See http://www.lfheller.demon.co.uk/dds.htm for details of my AD9850
DDS system. See " "/diy_dsp.htm for a simple DIY DSP ADSP-2104 system.
1998\05\15@034612
by
Tom Handley
|
Steve, I've used the Parallax assembler (now CVASM as part of TDE) for
over three years and have wrote thousands of lines of code for most of the
16Cx and 12Cx family. I have never had any status flags or registers change
in an unpredictable manner. However, I'd recommend anyone using the
assembler also learn Microchip's syntax so you know how the Parallax
instructions behave. Their documentation shows exactly what instructions are
executed for each Parallax instruction. As with any uP, folks need to learn
the architecture and the details of it's naitive instructions as well as the
assembler and/or compiler.
- Tom
>Steve Baldwin wrote:
>>
>> > I avoid the Parallax set of instructions and warn beginners to stay away
>> > even if they are familiar with 8051 operations. I avoid it because
>> > registers and Status register flags can get changed inadvertently without
>> > the user neccessarily knowing it.
>> >
>> > On these points, what do other people think?
More... (looser matching)
- Last day of these posts
- In 1998
, 1999 only
- Today
- New search...