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

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

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
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.
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 has a bit length of 80. So there is
room inside the CPU itself for 8 numbers each of 80 bit length
or, for example, 16 numbers each of 32 bit length.
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! The 8 new 128 bit registers 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.
|