Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Basic Microprocessor UCCE2043 Laboratory Experiment

Experiment 3
Familiarization with BGC-8088

Name of Student: _____________________________ Date: _____________

ID of Student: _______________________________

Objectives
• To visualize the memory model and register usage in the 80x86 microprocessor.
• Find relevant information in the BGC-8088 Manual.
• Explain the BGC-8088 memory map.
• Use MUN-88 Monitor Commands to debug logic errors
• Write 8086/8088 assembly language programs

Material Requirements
BGC 8088 MICROENGINEER V3.5.

Reference Textbook

i. Introduction to BGC-8088 MICROENGINEER V3.0 USER GUIDE AND


EXPERIMENT.
ii. BGC8088 Manual.
iii. Triebel W. A., Singh A., The 8088 and 8086 Microprocessors: Programming,
Interfacing, Software, Hardware, and Applications (4th Edition), Prentice Hall
(2002).

Theory
The BGC-8088 single board computer is based on the Intel 8088 microcomputer. The BGC-
8088 is a 8-bit, single-chip microcomputer that is software compatible with the 8088 family of
microprocessor. DOS compatibility allows development in a familiar environment with a wide
range of tools.

Software development for the BGC-8088 is simple and quick. Programs are written on a PC
compatible computer in the assembly language. After your application has been compiled on
assembled and linked into .EXE or .COM form, it is uploaded to the board with microengineer
program using the RS232 cable (Experiment 4).

Introduction
At the end of experiment 5, you will be required to write and assemble a number of programs,
and interface several devices. Before you can do these tasks, you must become familiar with
BGC-8088. This experiment introduces you to the BGC-8088, and some of its capabilities. The
experiment contains a few exercises that introduce you to the monitor commands in BGC-8088.
It is assumed that you are familiar with the use of the PC and a text editor. For the remaining
labs, bring your handy drive to store your files (as backup).

This is the first experiment to introduce BGC-8088. There are a number of commands that you
must learn in order to examine and use the microprocessor instructions. The trainer commands
that you should know for this experiment are:
Basic Microprocessor UCCE2043 Laboratory Experiment
C : Compare content of two memory area

D : Display the contents of memory

E : Set the contents of memory

F : Fill the contents of memory

M : Move the contents of memory

A : Assemble the assembly language program

U : Disassembly language instruction

I : Assemble the assembly program (Insert mode)

B : Convert decimal into binary

J : Convert decimal into hexadecimal

S : Convert hexadecimal into decimal

V : Convert binary into decimal

H : Calculate the sum and difference of two hexadecimal digits


G : Execute program
R : Check or change the content of the registers
T : Trace program execution
N : Input data from I/O device
O
: Output data from I/O device
L
: Download program
Z
: Upload program
reset
: Reset program

CR : Enter

Caps Lock : Convert to upper case letter

Back space : Delete the previous letter

Space :Spacing

Ins : Insert instruction into program


Basic Microprocessor UCCE2043 Laboratory Experiment

BG-8088 Laboratory Manual

The “Introduction To BGC-8088 Microengineer V3.0 User’s Guide And Experiment” manual
has two parts. It is important that you understand the layout of the manual, so that you can
quickly find the relevant information for future labs.
Part 1 of the manual, the BGC-8088 Hardware Architecture, contains information about the
hardware of the system. It begins with circuit diagrams and part descriptions, and with 6 pages (page
303-308) of detailed main board circuits.
Part 2 of the manual is the Monitor Reference Manual (page 143-203). It describes the functionality
of the BGC-8088, including available commands and function calls.

Procedure
1. Switch your Trainer on, and press the RESET key (orange push button).
2. Your first program is to set the contents of AX, BX and CX registers.
• Press the button A to key in the following assembly language codes manually.
Memory Address Assembly Language
0100:0000H MOV AX,0500
0100:0003H MOV BX, 1234
0100:0006H MOV CX, 2300
0100:0009H HLT
Figure 3.1
• By pressing the button R , user can check the contents inside the registers.
• By pressing the button T , user is executing the code at location pointed to by
CS:IP; contents of registers will be displayed as user Trace thru the codes.
• Pressing the Yellow square button in the center of the BGC-8088 board will set
the AX, BX, CX, DX and IP registers to “0000”.

Record the following values by pressing T


-t
AX= __ BX= __ CX= __ DX= __ SP= __ BP=______
SI= __ DI= __ DS= ES= SS= CS= IP=_____
Flag Register _____ (10 marks)
-t
AX= __ BX= __ CX= __ DX= __ SP= __ BP=______
SI= __ DI= __ DS= ES= SS= CS= IP=_____
Flag Register _____ (10 marks)
-t
AX= __ BX= __ CX= __ DX= __ SP= __ BP=______
SI= __ DI= __ DS= ES= SS= CS= IP=_____
Flag Register _____ (10 marks)

3. Press Reset key and enter the following program :


Memory Address Assembly Language Comment
0100:0000H MOV CX, 05 ; set loop counter=5
0100:0003H MOV BX, 0100 ; set starting address
0100:0006H MOV AL, 00 ; set AL=0
0100:0008H MOV [BX] , AL ; load 0 to memory location
0100:000AH INC BX ; increment BX by 1
0100:000BH LOOP 0008H ;continue looping if CX is not 0
0100:000DH HLT ; stop
Figure 3.2
Basic Microprocessor UCCE2043 Laboratory Experiment

By pressing the button A, user can key in the assembly language manually.
By pressing D0100, 0105 user can check the content inside the memory location 0100H-0105H.

4. What is the result of the program in Figure 3.2 after executing?

___________________________________________________ (10 marks)

5. Press Reset key and enter the following program :


Memory Address Assembly Language Comment
0100:0000 MOV AH, 0FH ; set loop counter=16
0100:0002 MOV BX,1000H ; set starting address
0100:0005 MOV AL, [BX] ; store the first value to AL
0100:0007 SUB AH, 01 ; decrement AH by 1
0100:000A JZ 0011 ; test if AH=0?
0100:000C INC BX ; increment BX by 1
0100:000D ADC AL, [BX] ; AL+[BX]+carry
0100:000F JMP 0007H ; return to main program
0100:0011 MOV CX, AX ; store result to CX
0100:0013 HLT ; end of program
Figure 3.3

6. Give the addressing mode for the assembly codes at memory address…

0100:0000 _______________________________ (10 marks)

0100:0002 _______________________________ (10 marks)

0100:0005 _______________________________ (10 marks)

0100:0011 _______________________________ (10 marks)

7. Show the steps to find 000A and 000F of the following lines of the assembly codes in
Figure 3.3
0100:000A JZ 0011
0100:000F JMP 0007H

________________________________________________________________________
(10 marks)

8. What is the result of the program in Figure 3.3 after executing?

________________________________________________________________________
________________________________________________________________________
(10 marks)

You might also like