Assembly low level code may use Mnemonic-low-level language instead of binary machine-code instructions.
| Assembly | Mnemonic |
Compare Bargains on Assembly Programming
Assembly Advantage/Disadvantages :-
Advantage; Speed at which the code can run and storage sizes may also be reduced. Less coding overheads. These advantages can be so good as to overcome any disadvantages listed.
Disadvantages Some assembly language programming tools may help over come some of these issues. Speed to learn and write code. Easer to produce code with bugs and errors.
More difficult to debug. (Requires careful coding and some understanding of hardware especially the CPU make, and possibly even of a different model of the same CPU make as well as other hardware devices).
Genially not portable, (able used with different hardware), especially with a different CPU make as genially each will have a different instruction sets.
Each CPU make will require different code, which introduces the chances of bugs in that code. Delays in learning, debugging and testing.
Freebyte's Guide to Assembly
Device Tools is a comprehensive and free portal, aimed at providing engineers who
develop connected devices all the information needed to make their next design a
success. Covers low level and high level coding.
OPERATOR
DIFFERENCES The .. range operator treats certain character
ranges with care on EBCDIC machines. For example the following array will have
twenty six elements on either an EBCDIC machine or an ASCII machine. Find out
about cJ, cI, (You may see these when loading Excel characters
codes via PERL), etc...
ASCII, American Code for Information Interchange. Character Symbols. Hexadecimal Binary Octal etc..
Typical Mnemonic-low-level language 8086/80186/80286/80386/80486 Instruction Set for programming CPU's, (may be incomplete)
|
AAA - Ascii Adjust for Addition
AAD - Ascii Adjust for Division AAM - Ascii Adjust for Multiplication AAS - Ascii Adjust for Subtraction ADC - Add With Carry ADD - Arithmetic Addition AND - Logical And ARPL - Adjusted Requested Privilege Level of Selector (286+ PM) BOUND - Array Index Bound Check (80188+) BSF - Bit Scan Forward (386+) BSR - Bit Scan Reverse (386+) BSWAP - Byte Swap (486+) BT - Bit Test (386+) BTC - Bit Test with Compliment (386+) BTR - Bit Test with Reset (386+) BTS - Bit Test and Set (386+) CALL - Procedure Call CBW - Convert Byte to Word CDQ - Convert Double to Quad (386+) CLC - Clear Carry CLD - Clear Direction Flag CLI - Clear Interrupt Flag (disable) CLTS - Clear Task Switched Flag (286+ privileged) CMC - Complement Carry Flag CMP - Compare CMPS - Compare String (Byte, Word or Doubleword) CMPXCHG - Compare and Exchange CWD - Convert Word to Doubleword CWDE - Convert Word to Extended Doubleword (386+) DAA - Decimal Adjust for Addition DAS - Decimal Adjust for Subtraction DEC - Decrement DIV - Divide ENTER - Make Stack Frame (80188+) ESC - Escape HLT - Halt CPU IDIV - Signed Integer Division IMUL - Signed Multiply IN - Input Byte or Word From Port INC - Increment INS - Input String from Port (80188+) INT - Interrupt INTO - Interrupt on Overflow INVD - Invalidate Cache (486+) INVLPG - Invalidate Translation Look-Aside Buffer Entry (486+) IRET/IRETD - Interrupt Return Jxx - Jump Instructions Table JCXZ/JECXZ - Jump if Register (E)CX is Zero JMP - Unconditional Jump LAHF - Load Register AH From Flags LAR - Load Access Rights (286+ protected) LDS - Load Pointer Using DS LEA - Load Effective Address LEAVE - Restore Stack for Procedure Exit (80188+) LES - Load Pointer Using ES LFS - Load Pointer Using FS (386+) LGDT - Load Global Descriptor Table (286+ privileged) LIDT - Load Interrupt Descriptor Table (286+ privileged) LGS - Load Pointer Using GS (386+) LLDT - Load Local Descriptor Table (286+ privileged) LMSW - Load Machine Status Word (286+ privileged) LOCK - Lock Bus LODS - Load String (Byte, Word or Double) LOOP - Decrement CX and Loop if CX Not Zero LOOPE/LOOPZ - Loop While Equal / Loop While Zero LOOPNZ/LOOPNE - Loop While Not Zero / Loop While Not Equal LSL - Load Segment Limit (286+ protected) LSS - Load Pointer Using SS (386+) LTR - Load Task Register (286+ privileged) |
MOV - Move Byte or Word
MOVS - Move String (Byte or Word) MOVSX - Move with Sign Extend (386+) MOVZX - Move with Zero Extend (386+) MUL - Unsigned Multiply NEG - Two's Complement Negation NOP - No Operation (90h) NOT - One's Compliment Negation (Logical NOT) OR - Inclusive Logical OR OUT - Output Data to Port OUTS - Output String to Port (80188+) POP - Pop Word off Stack POPA/POPAD - Pop All Registers onto Stack (80188+) POPF/POPFD - Pop Flags off Stack PUSH - Push Word onto Stack PUSHA/PUSHAD - Push All Registers onto Stack (80188+) PUSHF/PUSHFD - Push Flags onto Stack RCL - Rotate Through Carry Left RCR - Rotate Through Carry Right REP - Repeat String Operation REPE/REPZ - Repeat Equal / Repeat Zero REPNE/REPNZ - Repeat Not Equal / Repeat Not Zero RET/RETF - Return From Procedure ROL - Rotate Left ROR - Rotate Right SAHF - Store AH Register into FLAGS SAL/SHL - Shift Arithmetic Left / Shift Logical Left SAR - Shift Arithmetic Right SBB - Subtract with Borrow/Carry SCAS - Scan String (Byte, Word or Doubleword) SETAE/SETNB - Set if Above or Equal / Set if Not Below (386+) SETB/SETNAE - Set if Below / Set if Not Above or Equal (386+) SETBE/SETNA - Set if Below or Equal / Set if Not Above (386+) SETE/SETZ - Set if Equal / Set if Zero (386+) SETNE/SETNZ - Set if Not Equal / Set if Not Zero (386+) SETL/SETNGE - Set if Less / Set if Not Greater or Equal (386+) SETGE/SETNL - Set if Greater or Equal / Set if Not Less (386+) SETLE/SETNG - Set if Less or Equal / Set if Not greater or Equal SETG/SETNLE - Set if Greater / Set if Not Less or Equal (386+) SETS - Set if Signed (386+) SETNS - Set if Not Signed (386+) SETC - Set if Carry (386+) SETNC - Set if Not Carry (386+) SETO - Set if Overflow (386+) SETNO - Set if Not Overflow (386+) SETP/SETPE - Set if Parity / Set if Parity Even (386+) SETNP/SETPO - Set if No Parity / Set if Parity Odd (386+) SGDT - Store Global Descriptor Table (286+ privileged) SIDT - Store Interrupt Descriptor Table (286+ privileged) SHL - Shift Logical Left SHR - Shift Logical Right SHLD/SHRD - Double Precision Shift (386+) SLDT - Store Local Descriptor Table (286+ privileged) SMSW - Store Machine Status Word (286+ privileged) STC - Set Carry STD - Set Direction Flag STI - Set Interrupt Flag (Enable Interrupts) STOS - Store String (Byte, Word or Doubleword) STR - Store Task Register (286+ privileged) SUB - Subtract TEST - Test For Bit Pattern VERR - Verify Read (286+ protected) VERW - Verify Write (286+ protected) WAIT/FWAIT - Event Wait WBINVD - Write-Back and Invalidate Cache (486+) XCHG - Exchange XLAT/XLATB - Translate XOR - Exclusive OR |
Motorola 68000 (m68k) instruction set
Device Tools is a comprehensive and free portal, aimed at providing engineers who develop connected devices all the information needed to make their next design a success. Covers low level and high level coding.
Programming Languages and Computer Code and Scripting
.htaccess Files and .htaccess Help. How use to .htaccess
Apache open-source software and Apache Servers. Mod Rewrite
Operating Systems and Graphical User Interfaces. Windows Visa/XP, Linux, Apple, BeOS, etc.
Please Help support A Great Portal with a donation. If you find the Freeware, Programming, Webmaster tools or Hardware links useful.
Search Help for Compare Bargains.
A Computer Portal. Freeware, Shareware. Download software. Computer languages and Programming code. Including PERL Scripts and Java Scripts. Webmaster Tools. Internet Marketing, Website promotion. Hardware Help from BIOS to Windows and UNIX.
® © TM are owned by respective authors and websites. There may be a charge for some software.You may close this window after viewing. A Computer Portal. Site Map