High Level Assembly. Origins and goals[edit] HLA was originally conceived as a tool to teach assembly language programming at the college/university level.
The goal is to leverage students' existing programming knowledge when learning assembly language to get them up to speed as fast as possible. Most students taking an assembly language programming course have already been introduced to high-level control structures such as IF, WHILE, FOR, etc. HLA allows students to immediately apply that programming knowledge to assembly language coding early in their course, allowing them to master other prerequisite subjects in assembly before learning how to code low-level forms of these control structures. "The Art of Assembly Language Programming" by Randall Hyde uses HLA for this purpose. High vs. low-level assembler[edit] The HLA v2.x assembler supports the same low-level machine instructions as a regular, low-level, assembler.
Distinguishing features[edit] Macro system[edit] Compile-Time Language[edit] Bit Twiddling Hacks. By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please.
The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. As of May 5, 2005, all the code has been tested thoroughly. Thousands of people have read it. Contents About the operation counting methodology When totaling the number of operations for algorithms here, any C operator is counted as one operation. Compute the sign of an integer The last expression above evaluates to sign = v >> 31 for 32-bit integers. Alternatively, if you prefer the result be either -1 or +1, then use: sign = +1 | (v >> (sizeof(int) * CHAR_BIT - 1)); // if v < 0 then -1, else +1 sign = (v !
Patented variation: f = v && ! Sean A. Protothreads - Lightweight, Stackless Threads in C. Tools for Embedded Developers. We're tool makers and tool users.
Embedded developers - both those doing hardware work and those crafting firmware - use a wide range of tools, but it can be awfully hard to distinguish the good from the ugly. Here's thoughts from a number of engineers. Feel free to submit your own reviews to jack@ganssle.com. Jack has written some extensive reviews of test equipment: Scopes, logic analyzers, spectrum analyzers and signal generators: Agilent's MSO-X 3054A mixed signal scope. Philip Freidin sent a very comprehensive chart of USB instruments, which is here . Clyde Shappee wrote: I have used the Instek PST-3201 triple supply in the past. As with many of their supplies (I think) it has a power-on button and a button which effects the connection to the loads--a very nice feature. I did get a surprise one day when the supply tripped for apparently no reason.
Michael J. This USB MSO just seems to be better thought-out than others on the market.