ECC3105 Microprocessor Lab 1: Objectives
ECC3105 Microprocessor Lab 1: Objectives
ECC3105 Microprocessor Lab 1: Objectives
ECC3105 Microprocessor
Lab 1
Objectives
We expect all the students to have enough information about the following items after the lab
Introduction of ESA86/88-2
ESA 86/88-2 is a power full, general-purpose microcomputer trainer, which can be operated either with
8086 CPU or 8088 CPU it is usually supplied with 8086 CPU. To install 8088 CPU user has to just
remove the 8086 install 8088 and set DIPswitch.
In either case the CPU is configured for operating in the max mode. On–board provision exist for
installing 8087 numeric data processor. The system is versatile and can be configured in a variety of ways
via jumper options. to suit specific user requirements. The basic system can be easily expanded through
the system bus connection. 32k bytes of powerful firmware provides keyboard monitor, serial monitor,
single-line assembler diassembler and driver programs for centronics compatible parallel printer interface.
The software for optional PROM programmer interface and audio cassette interface is also included in the
firmware.ESA 86/88-2 as a convenient instructional and teaching aid or as a power full development tool
in R&D labs and industries.
Main Features
1. Works with either 8086 or 8088 microprocessor
2. Operates with on-board keypad or with a PC compatible system through its RS 232 C interface.
3. Provision for on board 8087(NDP)
4. Powerful system monitor permits entry of programs, debugging through breakpoint and
instruction step facilities.
5. Built in one line assembler/disassemble
6. Centronics printer driver included in monitor program
7. Provision for battery backup to RAM
8. Supported by a variety of interface modules including EPROM PROGRAMMER.
Configuration
ESA 86/88-2 microcomputer trainer is versatile and can be configured in a numbers of ways as
determined by setting of a DIP SWITCH and other jumpers.
OFF 8086
ON 8088
PRINTER ENABLE/DISABLE
OFF Disable
ON Enable
BAUD RATE
ON ON ON 110
ON ON OFF 300
ON OFF ON 600
OFF ON ON 2400
MEMORY SELECTION
27128 ON ON JP1-2-3-JP9-2-3
Installation
To install ESA 86/88-2 the following accessories are required
Now the following sign-on message should appear on the screen if 8086 has been installed.
The sign message is followed by the command prompt, “.” In the next line
Note: 8 digit seven display on ESA 86/88-2 will display “ E se 86”.
ESA 86
General Operation
Following power on or whenever the reset key is pressed, the monitor jumps to an initialization routine.
The routine initializes the 8086/8088’s CS, DS, ES; SS, IP, FL, registers to 0H and the SP register to 100
H.
Whenever the RST key is pressed all information about the user program is lost. However the contents of
the user portion of the RAM are not disturbed.
Interrupt 2: NMI ( non maskable interrupt) connected to the keyboard KB INTR key.
Parameter entry
When a command requires the entry of an address / data value from the user , the following rules are
apply:
All address in the 8086/8088 system consists of a segment value and an offset value. The segment value
is entered first. A colon (: ) is entered as separator and then the offset value is entered. If the segment
value is not specified the default segment value is the current contents of the cod segment register. Enter
the address as hexadecimal values for an address entry is from 0000 to FFFF H, if more than four digits
are entered only the last four digits entered are valid. In other words all address values are interpreted
modulo 64K. Data is also entered as hexadecimal value, most significant character first. The valid range
for data entries is 00 to FFH for byte entries and from 0000 to FFFFH for word entries.
While the address data parameters are to be entered as hexadecimal values , it is possible to use the
operators “+” and “-“ to form expression and also to specify the use of the contents of any 8086/8088
register as address/data values.
For example we wish to specify an address whose segment is ES + 10H and whose offset is BX-30H only
way is to calculate these values as shown below.
Monitor commands
The symbols below are used to clarify the command formats and they are to be neither entered by the user
nor by the system
The substitute memory byte (S) and substitute memory word (SW) commands are used to examine the
contents of the selected memory locations. if the contents can optionally be modified.
Error conditions:
Examples:
1- Examine RAM location 2100H , relative to the DS register , modify the contents of location
2101H and 2102H and examine the contents of 2101H again.
S DS:2100 , <cr>
2101 FF-B7,
2102 FF-SA-
2101 B7-<cr>
S FF00:9C,<cr> FA-<cr>
The display memory byte (D) and display memory word (DW) commands are used to output the contents
of the block of memory, either in byte or word format.
Format
Error conditions:
1- Specifying an end address that is less than the offset value of the start address.
Examples:
(X) Command is used to examine and optionally modify the contents of any of the 8086 registers.
Format
X [<reg>]<cr>[[<new contents>],]*<cr>
Operation
1- To use the examine /modify register command, enter X when prompted for command entry.
2- If you wish to examine the current contents of all registers, enter a carriage return. Now the
monitor will output the contents of all 14 reg.
3- If you wish to examine / modify the contents of a particular register enter the abbreviated register
name after entering X and pass <cr>
Example:
3- Examine and modify the SP register and examine the next register BP
Move command
The move command is used to move a block of data from one area of the memory to another area.
Error condition:
2- Specifying an end address value which is less than the offset value of the start address
Example
1- Move the contents of the location 2000H through 2020H relative to CS register, to the memory
block starting at 3000H relative to the DS register.
GO Command
The Go command is used to transfer control of the 8086/8088 from the serial monitor to an user’s
program
To exit from the executing program and return control to monitor press the system RESET key.
Programming example
This program searches through a byte array for a specified value . the parameters to be passed are as
follows:
2002 26 ES
Location 0 1 2 3 4 5 6 7 8 9 A B C D E F
2200 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
5- After the program is executed control returns to monitor now examine AL register. It contents
should be 00 indicating that the values was not found in the table.
6- Repeat the experiment with the same values of ES;BX and CX but with AL=40,after the program
executed AL will have FF indicating that the value was found in the table.
7- Repeat the experiment with some other values in AL and verify that the program works properly.