Home     Software    Freeware    Award     Contact Us

 

NGASM 8086/8088 Assembler V1.4

 

 

 RECOVER Floppy Pro v1.0

 Recover Fixed/Floppy Disk FAT32/16/12 v3.0

 Recover Fixed/Floppy Disk v2.2

 ANALYZER for RECOVER Floppy Pro v0.3 FREEWARE

 ANALYZER for RECOVER Fixed/Floppy Disk v0.3 FREEWARE

 RFD v1.4 FREEWARE

 NGASM 8086/8088 Assembler

 Delete Special

 Search Zip Rar

 NGASM Manual

 RECOVER Floppy Pro v1.0 - Tech Support

 RECOVER Fixed/Floppy Disk - Tech Support

 Dealing with Multiple Disk Errors - Recommended by Microsoft personnel

 100% Data Recovery - How-to

 RECOVER Fixed/Floppy Disk v2.2 - Command Line Help

 Floppy Disk Recovery

 RECOVER Fixed/Floppy Disk v2.2 - A Guide to Superpower in Recovering Data

 Recover Fixed/Floppy Disk v1.4 - FAQ

 Download ANALYZER for RECOVER Floppy Pro v0.3 FREEWARE

 Download ANALYZER for RECOVER Fixed/Floppy Disk v0.3 FREEWARE

 Download RECOVER Fixed/Floppy Disk v1.4 FREEWARE

 Download NGASM 8086/8088 Assembler v1.4

 Download DELSPECial v1.4

 Download SeaRCHZIPRar V1.5

 

 

 

NGASM Improved Programmer's Manual
and
NGASM Instinctive Programming Cource
 
NGASM Improved Programmer's Manual - the next step
 

      In NGASM Improved Programmer's Manual these are dealt with thoroughly:

  •   STACK
  •   STRUCTure
  •   Multidimentional Array Interpretation
  Apart from these, NGASM Improved Programmer's Manual adds 
  •    More explanation where needed.
  •   More code examples.
  •   Source Code examples as separate files.
  •   Executables for Code examples as separate files.
      NGASM Improved Programmer's Manual costs just about US$ 5.

NGASM Instinctive Programming Course - the smart step

  NGASM Instinctive Programming Course takes you to the level of using Hash Tables on day one.

  It costs at a heavily discounted price of just about US$ 10.

  This course speeds up your learning process taking you to the level of

  1) Reading text from a text file on DAY ONE

  2) Processing text line by line on DAY ONE

   3) Using Hash Table on DAY ONE

  Starting level knowledge in using STRUCTures, the MOV Instruction, and the CMP Instruction is enough to give one th e experience of designing, implimenting and using Hash Tables.

  4) Using Hash Table with Linked List on DAY ONE

  For creating and using Hash Tables, just starting level knowledge is enough

  1) in creating and using STRUCTures

  2) in using the MOV Instruction

  3) in using the CMP Instruction

 
NGASM 8086/8088 Assembler v1.4  Freeware

This planet's only Assembler with 7000 lines Programmer's Manual with extensive Instruction Set Documentation and code examples suitable even for children. If you go with your instinct, you can do better with NGASM than with many tutorials put together. Reserve theoretical overload for the 386. NGASM is more suited to children or anyone not theoretically overloaded like university degree students.
What does the Programmer's Manual contain?
NGASM Programmer's Manual as used by The Hong Kong Polytechnic University

Download NGASM 8086/8088 Assembler v1.4 Latest Version 

RedSofts.com Editor's Choice Award
NGASM 8086/8088 Assembler v1.3 got
Editor's Choice Award from RedSofts.com


NGASM 8086/8088 Assembler SRELEASE.COM


FileAward.com 5 Stars Award

Clock TSR source code. Runs on WINDOWS XP.

Real Time Clock Alarm TSR source code. Runs on WINDOWS XP.

Download this QuickLaunch TSR source code. Runs on WINDOWS XP.

3 Dimensional Array Interpreter

Youngest guys using NGASM:
Marc - 14 years young when he claimed to be using NGASM
Peter - 16 years young when he claimed to be using NGASM
Anyone younger than Marc?


The Programmer's Manual is incredible
www.xrgsal.stumbleupon.com Review: NGASM 8086/8088 Assembler with 8086/8088 Instruction Set Documentation, a true 16-bit assembler, the manual is incredible.


NGASM 8086/8088 Assembler v1.4, requires you to download Takeshi Kataoka's Debugger DDEB.EXE, so that you can view the PUSHA and POPA Instructions when debugging


  • FREEWARE Assembler for students and everyone having a PC who need to learn Assembly Language. This is the Assembler that gets you straight to writing code, writing TSR's and to using DEBUG.EXE even on WINDOWS XP. It comes with sample programs for the 8086/8088. You can copy and paste the sample code provided for any Instruction to a file which you can assemble to create a .COM executable which you can then debug (trace inside DEBUG.EXE) for quickest understanding. Then you can read the theory - the description - for the Instruction to reinforce your understanding.

  • Very easy to learn. There is no need for red tape directives and Operator Precedence Rules. Coding is simple and very straight forward. As no .OBJ file is created, you know, a linker is not needed. You can become a self-taught programmer (we didn't have the Internet when we wrote the first version of NGASM in 1995-96, our city was not Internet-enabled then!!!). If you debug a lot, your instinct and DEBUG.EXE will guide you through. New approach? You got it!

  • NGASM 8086/8088 Assembler v1.4 comes with a free Programmer's Manual. By using Ralf Brown's Interrupt List you can enable yourself endlessly by learning to call all the BIOS and DOS Interrupts without ever worrying about how to use NGASM 8086/8088 Assembler v1.4 even for a second.

  • The comprehensive Programmer's Manual (7000 lines long) describes 8086/8088 Instruction Set like never before. Every Instruction has Code example(s). This is the only Assembler on planet Earth that comes with code examples for you to understand the 8086/8088 Instruction Set.

  • Uses only 5 most often used Assembler Directives and only 10 most often used Assembler Operators. (I lost count here, however, this sets a new standard in reducing barriers for new comers to absolute minimum).

  • Easy enough and powerful enough to create a new assembler. Actually, NGASM 8086/8088 Assembler version 1.4 was assembled using the previous version, version 1.4 Beta 2, of itself !

  • The INCLUDE Directive (apart from the 5 abovesaid directives) helps keep generic code in separate file/files and INCLUDE it/them wherever necessary. An INCLUDEd file can INCLUDE many other source code files.

  • Gets you started on Terminate and Stay Resident (TSR) programs and Debugging from Day One.

  • Learning Assembly Language is now as easy as learning to drive a car on a football ground (you have to run every program inside DEBUG.EXE first until your coding gets better) . Children can do it.

  • Excellent for starters and those who have to learn Assembly Language all by themselves.

  • Excellent for those who gave up learning Assembly Language in the past.

  • You can save on an Assembly Language book for the 8086/8088 microprocessor. It may be noted that code written for the 8086/8088 microprocessors runs on even the latest x86 compatible microprocessors like Athlon, Via, and Pentium family of microprocessors and all other compatible microprocessors.

  • You can write anything Ralf Brown's Interrupt List makes you feel like writing. Toiling with Ralf Brown's Interrupt List is a good thing. The earlier, the better.

  • You can learn to exploit the INT 3 Instruction to visually land straight on the code you want to debug while inside the debugger (DEBUG.EXE - available in WINDOWS XP too).

  • NGASM 8086/8088 Assembler v1.4 assembles source code contained in one or more files in a single pass.

  • Creates the executable as a .COM file which can be run from a DOS box in WINDOWS. Even if your program hangs, you can terminate it from WINDOWS Task Manager which comes up when you hit the Ctrl-Alt-Del key combination. No rebooting necessary.

  • Unrestricted software. Your life changes forever!. One never lives a fulfilled life without ever putting some hex values straight into the CPU Registers by hand particularly when he / she owns a PC.

  • Your last chance to learning to debug a C program (.EXE) using any Assembler Debugger.

  • Ihar Areshchankau of Belarus says "NGASM 8086/8088 Assembler v1.3 is a good addition to DEBUG.EXE on anyone's Rescue Disk". Think about that.

Download
NGASM 8086/8088 Assembler v1.3 from Simtel

Download
NGASM 8086/8088 Assembler v1.4 - includes a little refurbished Programmer's Manual

Features added from NGASM 8086/8088 Assembler v1.4 Beta version

1. PUSHA, POPA instructions added. You cannot see these Instructions when you debug using DEBUG.EXE.

ROUTINE1 PROC
.
.
.
ROUTINE1 ENDP

ROUTINE2 PROC
.
.
.
ROUTINE2 ENDP

PROC ROUTINE3
.
.
.
ENDP

are now possible.

Binary Numbers can be specified in Data Declaration and in Code. Children can play with Binary Numbers. Like testing the AND, OR, and XOR Instructions in the code below:

MOV AX,1111111111111111b
AND AX,0000000011111111b
CALL DISP_BINARY_NUM
PUSH AX
CALL PRINT_CRLF
POP AX
OR AX,1111111100000000b
CALL DISP_BINARY_NUM
PUSH AX
CALL PRINT_CRLF
POP AX
XOR AX,1111111100000000b
CALL DISP_BINARY_NUM
CALL PRINT_CRLF
INT 20H
INCLUDE ROUTINES.NGA
DISP_BINARY_NUM is available here

ALIGN 2
ALIGN 4

will be possible uses of the ALIGN Directive to speed up WORD / DWORD accesses in a program when it runs.

2. Coding these additional types of PUSH's will be possible:

PUSH OFFSET SOMETHING
PUSH 200H
PUSH FIVE ;when FIVE EQU 5 is defined

3. These red tape directives will be ignored:

.MODEL
.CODE
.DATA
_TEXT .......
_TEXT ends
_DATA .......
_DATA ends
_STACK .......
_STACK ends
PUBLIC
EXTRN
EXTERN
USES
ASSUME
END

Link for Indians: One and only Indian 8086/8088 Assembler

Download Ralf Brown's Interrupt List
if you want all the Interrupts

Download MARK and RELEASE
if you want to write TSR's

Download MARK and RELEASE source code
if you want to study the source code

All Terminate and Stay Resident utilities on Simtel
if you want more TSR's
(Last 2 links were suggested by Rugxulo)

Our suggestion:

Children can get straight away to coding. Theory is for the those who do the University degrees and for those who need to develop their own theory to fit their technology.


Intel 8086 Microprocessor (1978)

The 8086 Microprocessor is a true 16-bit processor. It has a 16-bit ALU and a 16-bit data bus. This external data bus is the same width as the ALU. The modern Pentiums fetch data 64 bits at a time for their 32-bit ALUs.

Intel 8088 Microprocessor (1979)

The 8088 was the scaled down version of the 8086. That is why some would list these processors as 8088/8086 instead of 8086/8088. The 8088 processor used the same internal core as the 8086, had the same 16-bit registers, and could address the same 1 MB of memory, but the external data bus was reduced to 8 bits. This allowed off-the-shelf support chips for the older 8-bit 8085 to be used for the new 8088 too, and far less expensive boards and systems to be made. It is for these reasons that IBM chose the 8088, for the first PC.

The 8086 and 8088 both feature 29,000 transistors, 20 address pins (address lines), same internal core, same Instruction Set, and same 16-bit registers. The number of address pins determines how much memory a microprocessor can access. Twenty address pins give these microprocessors a total address space of one megabyte (2^20 = 1 MB).

The 8088 was fully software compatible with the 8086. The 8088 has a 16-bit ALU, but it has an 8-bit external data bus. This external data bus is NOT the same width as the ALU. To repeat, IBM used the 8088 microprocessor for its first PC.

The 8086, 8088, 80186, and 80188 all contain 20 address lines (address pins), giving these processors one megabyte of addressable (2^20 = 1 MB) main memory.

Difference between the 8086 and the 8088 Microprocessors:

The 8086 and 8088 are binary compatible with each other, but not pin-compatible. Binary compatibility means that either microprocessor could execute the same programs. Pin-incompatibility means that you canít plug the 8086 into the slot for 8088 and visa versa, and expect the chips to work.

The 8086 and 8088 feature different data bus sizes. The data bus size determines how many bytes of data the microprocessor can read in each cycle. The 8086 features a 16-bit external data bus; the 8086's Bus Interface Unit (BIU) is 16 bits wide, while the 8088 features an 8-bit external data bus; the 8088's Bus Interface Unit (BIU) is 8 bits wide.

Another difference is that the 8088 instruction queue is four bytes long instead of six as in 8086.

Clones of the 8088 and 8086:

The clones of the 8088 and 8086, viz, NEC (Nippon Electric Company's) V20 and V30, can run all the code 8088 and 8086 can.

NEC was the first to "clone" the Intel 8088 and 8086 chips with their V20 and V30 designs. The V20 was pin-compatible with the 8088, while the V30 was pin-compatible with the 8086. The V-series ran 20% - 30% faster than the Intel chips when running at the same clock speed. Even though these V20 and V30 chips were pin-compatible with the 8088 and 8086, they also had some extensions to the architecture. They featured all of the "new" instructions on the 80186 / 80188, and also were capable of running in Z-80 mode (directly running programs written for the Z-80 microprocessor).

How many address lines did the Z-80 microprocessor have? The Z-80 had 16 address lines (meaning a 16-bit address bus) and could address up to (2^16) 64 Kbytes of memory. The Z-80 instruction code included all the code from the 8080A but added some new ones to nearly double the number of instructions. The disadvantage of the 8080A was it needed three different power supplies.

The NEC V20 is a 16-bit microprocessor with 8-bit external data bus. It is object-code and pin-compatible with Intel 8088. The V20 is faster than the 8088, due to internal improvements - dual internal 16-bit data bus, faster effective address calculation, better loop counter/shift register implementation, and some others. The V20 includes Intel 8080 emulation mode, in which it can execute all of the 8080 instructions. Native NEC V20 instruction set includes all 8086/8088 instructions, new instructions from the 80186/80188 microprocessor, and instructions unique to V20 - bit processing, packed BCD instructions and special instructions for switching the processor to 8080 emulation mode and back.

The NEC V30 is almost the same as the NEC V20 with the exception that the V30 has a 16-bit external data bus.

A quick review of various microprocessors

The X86 instruction set was originally developed for the 8086 with its mere 29000 transistors.

A few new instructions were introduced with the 80186 (referred to as the 8086-2 instruction set in some datasheets):

ENTER/LEAVE (replacing several instructions when handling stack frames)
PUSHA/POPA (push/pop all general registers)
BOUND (check array index against bounds)
INS/OUTS (input/output of string).

A useful immediate mode was added for the
PUSH
IMUL
and Multi-bit Shift instructions.

For example, a Multi-bit Shift instruction such as

SHR AX,3 is possible.

SHR AX,3 is acceptable code in DDEB.

You can type this instruction statement inside DDEB and it can be unassembled and seen in DDEB.

PUSH - machine code 68h - can now have a constant attached with it like PUSH 1122H (Machine code 682211h - note the reversed bytes 2211h when you might expect 1122h ).

These instructions were included in the 80286 and successor chips.

More instructions have been added within new generations of CPUs. The 80386 had 26 new instructions, the 486 added 6 and the Pentium another 8 new instructions.

In 1995 the Pentium processor was expanded with the so-called MMX instructions. That was announced as a multimedia expansion with 57 new instructions.

All the modern P6 processors have 8 FP registers, each of which is 80 bits wide. So there is room inside the CPU itself for 8 numbers each of 80 bits width or, for example, 16 numbers each of 32 bits width.

New instructions for more effective 3D performance. Instructions which can be called by the programs, 3DNow! and SSE, are examples of this.

During the summer of 1998 AMD introduced a new collection of CPU instructions, which improve the 3D execution.

21 new SIMD instructions were added.

SIMD instructions enable handling of more data portions with just one instruction.

3DNow! became a big success.

The instructions use the same registers, as do MMX and traditional FPU. So they have to share them. Since the registers are 80 bits wide, they can hold two 32-bit numbers simultaneously.

In principle Katmai (SSE - Intel's way to improve 3D execution in Pentium III) is significantly more powerful than 3DNow! It has 8 new 128-bit registers each one of them can actually hold four 32-bit numbers at a time.

The full potential of Katmai is not reached within the actual Pentium III design.

With the introduction of Pentium 4, the SIMD instruction set was further improved with 144 new instructions.

In Pentium III the pipeline was of 10 stages. In Pentium 4 it has been increased to 20 stages.

You are in the Serbo-Croatian region?: This article is translated to Serbo-Croatian language by WHG Team .




eXTReMe Tracker