Assembly. Low Level Languages. Mnemonics. CPU Programming. Processor Architecture.

Assembly   Mnemonic

Assembly

Assembly low level code may use Mnemonic-low-level language instead of binary machine-code instructions.

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).

Generally 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.

Note: It is possible to mix high-level lanuages with low-level languages to obtain the advantages of both and make it easier to code.

FxCop, a code analysis tool for .NET managed assemblies :-

Assembler Compilation Download     Freshtings

Get this amazing 111.35MB zip archive for all things relating to assembly source code. It contains fasm, nasm, Mode 13h gfx tutorials demos and source, as well as MikeOS DexOS MenuetOS and more! 

Dave4Slash's Let's Share Knowledge YouTube Channel. Assembly Language Tutorial Coding Videos. Also has other language programming coding video's :-

Assembly Language Tutorial #1 Introduction Assembly Language Tutorial #2 Machine Code
Assembly Language Tutorial #3 Why to use it Assembly Language Tutorial #4 System Organization
Assembly Language Tutorial #5 Registers Assembly Language Tutorial #6 Running Hello World
Assembly Language Tutorial #7 nasm Assembler Assembly Language Tutorial #8 Instruction
Assembly Language Tutorial #9 Constants Assembly Language Tutorial #10 Declaration
Assembly Language Tutorial #11 Making System Calls Assembly Language Tutorial #12 Hello World Explanation
Assembly Language Tutorial #13 Naming Registers Assembly Language Tutorial #14 Addressing Modes

Intel Pentium 4
Agner Resouces
Art of Assembly Language Programming
Borland Turbo Assembler
ARM Assembler Lanuage Programming The Free Information Society (PDF file)
Articles Processor Architecture
Webster Various
Open Source
Code Comments Forum A86_Assembler
Tech Books for free

The Macro Assembler Programmer’s Guide Provides the information you need to write and debug assembly-language programs with the Microsoft Macro Assembler (MASM), version 6.1. This guide enhanced features of the language and the programming environment for MASM 6.1. This Programmer’s Guide is written for experienced programmers who know assembly language and are familiar with an assembler. This guide teaches you how to write efficient code with the new and advanced features of MASM. Getting Started explains how to set up MASM 6.1. Environment and Tools introduces the integrated development environment called the Programmer’s WorkBench (PWB). It also includes a detailed reference to Microsoft tools and utilities. The Macro Assembler Reference provides a full listing of all MASM instructions, directives, statements, and operators, and it serves as a quick reference to utility commands.

How To Make An Operating System    TinkerNut YouTube Channel  

In this episode gigafide, (TinkerNut), shows you how to create our own operating system using Assembly.

Project Files TinkerNut

MikeO/S Operating System Credit/Reference: x86 operating system. MikeOS is an operating system for x86 PCs, written in assembly language. It is a learning tool to show how simple OSes work, with well-commented code and extensive documentation. Features. A text-mode dialog and menu-driven interface Boots from a floppy disk, CD-ROM or USB key Over 60 system calls for use by third-party programs File manager, text editor, image viewer, game... Includes a BASIC interpreter with 27 instructions PC speaker sound and serial terminal connection

Learn Assembly:-

Wiki Assembly_Language

Dr. Paul Carter The tutorial has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about how C works under the hood. All the examples use the free NASM (Netwide) assembler. The tutorial only covers programming under 32-bit protected mode and requires a 32-bit protected mode compiler.

Joel Gompert Write Your Own Operating System Tutorial

Virtual Box

Disk Images All about Boot Disks Windows 95 Boot Disk Download. Windows 95 boot disk images available from All Boot Disks. Creating a bootable diskette from this image, visit the how-to page.

NASM Netwide ASseMbler. Assembler is an assembler and disassembler for the Intel x86 architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. NASM documentstaion

TinkerNut Website

Operating Systems and Graphical User Interfaces. Windows 7, Visa/XP, Linux, Apple, BeOS, etc.

 

VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL). See "About VirtualBox" for an introduction. Presently, VirtualBox runs on Windows, Linux, Macintosh and OpenSolaris hosts and supports a large number of Guest OSes Operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris and OpenSolaris, and OpenBSD. VirtualBox is being actively developed with frequent releases and has an ever growing list of features, supported guest operating systems and platforms it runs on. VirtualBox is a community effort backed by a dedicated company: everyone is encouraged to contribute while Sun ensures the product always meets professional quality criteria.

Disk Images Windows 95 Boot Disk Download. These are the Windows 95 boot disk images available from All Boot Disks. Download the diskette image you need, and if you need assistance creating a bootable diskette from this image, visit the how-to page.

More Operating Systems and Graphical User Interfaces. Windows 7, Visa/XP, Linux, Apple, BeOS, etc.

Freebyte's Guide to Assembly

Assembly Tutorial This is for all you folks out there, who want to learn the magic art of Assembly programming.

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.

Scott Hanselman's 2006 Ultimate Developer and Power Users Tool List for Windows A lot of utilities coving most aspects including Blogs, Regular Expressions, Low-Level Utilities, TabletPC Indispensibles etc.. More Microsoft Windows® Links.

The Microsoft Macro Assembler (abbreviated MASM) is an x86 high-level assembler. Download details: Microsoft Macro Assembler (MASM) Package (x86). The Microsoft Macro Assembler 8.0 (MASM) is a tool that consumes x86 assembly language programs and generates corresponding binaries

Wiki Assembly_Language

Dr. Paul Carter The tutorial has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about how C works under the hood. All the examples use the free NASM (Netwide) assembler. The tutorial only covers programming under 32-bit protected mode and requires a 32-bit protected mode compiler.

MASM Reference Guide & MASM Programmer's Guide Microsoft® Macro Assembler Reference

MASM CodeView tutorial

MASM32A working development for 32-bit Microsoft assembler. It includes useful libraries, documentation and tutorials.

Emu8086: A fully functional programming environment to learn Assembly language. emu8086 is the emulator of 8086 (Intel and AMD compatible) microprocessor with integrated 8086 assembler and tutorials for beginners. The emulator runs programs like the real microprocessor in step-by-step mode. It shows registers, memory, stack, variables and flags. All memory values can be investigated and edited by a double click. The instructions can be executed in a regular forward direction and also in reverse direction.

Websters The Place on the Internet to Learn Assembly

Assembly Language Tutorial

Paul Hsieh's Assembly Lab for people who already know the some assembly and C to see why it is often very beneficial to use a direct assembly implementation over a pure C implementation.

TASM IDE: Integrated Development Environment for developing in assembler language (or at maybe it will be one day). The application below works under Win9x/Me/NT/2k, designated for writing  small-medium assembler code, compiling and linking. The compiler and linker are of Borland Inc and should be installed separately.

NASM the Netwide ASseMbler. Assembler targetting the Intel x86 series of processors. NASM documentstaion

PC Assembly Language: A tutorial for the DJGPP NASM

AsmSource : Assembly Language Programming This site provides a mix of TASM and MASM programs. Some of the programs are supposed to create Windows.

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..

CPUID Instructions Sets

Games Programming, coding games

Back to top ® © ™ are owned by respective authors and websites. There may be a charge for some software. Always perform an Anti-Virus Check on any Software

Mnemonic A form of words or letters that assists the memory. i.e. MOV =MOVE

Typical Mnemonic-low-level language8086/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.

CPUID Instructions Sets

Programming Languages and Computer Code and Scripting

Cascading Style Sheets CSS

.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.

Back to top ® © ™ are owned by respective authors and websites. There may be a charge for some software. Always perform an Anti-Virus Check on any Software

Web Masters. Click Here Now to start making money. A Great opportunity to make some money. Receive 50% by offering your users Ton's of Keywords on A Great Portal websites. Our Affiliate Program Pays you 50% on Level 1 of Every Sale of our Text Link both searchable and static Text Link!

Compare Bargains. Discounts and special offers. Compare Bargains Domain Name for Sale, URL, for Sale. http://www.comparebargains.com A domain name to make money from.

Home   Advertising Methods FREE TIPS

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.

® © ™ are owned by respective authors and websites. There may be a charge for some software. Google™ is a trademark of Google Inc, These pages are not endorsed by Google or any other Company. Always perform an Anti-Virus Check on any Software