CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
COMPUTER SYSTEMS AND
PLATFORM TECHNOLOGIES
IT0047
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
MODULE 6.1
Introduction to TASM Progamming
At the end of the lesson, the student should be able to :
a. To be able to learn the basics of turbo assembler.
b. To properly assemble and link a program using TASM and TLINK.
c. To be able to create an assembly language program using turbo assembler with SK as editor.
d. Demonstrate and apply the use of the Service Function Call 02H of INT 21H in the assembly language.
• Execute of an assembly language program using service function call 02H, INT 21
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Text Editor
A text editor is a program that allows you to enter and prepare your
program from the ordinary keyboard into a computer readable form. It
also allows you to save this file into the disk for later use. The assembler
and loader program require the inputs to be saved files from the disk. A
text editor can be any popular work processor or edit program that can be
produce pure ASCII text. As a standard convention, program written in
assembly language are usually given the filename with an extension of
.ASM. This is also the default filename extension that MASM searches.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Assembler
A program written in assembly language is translated to machine
code by an assembler. Assembler and the corresponding assembly
language mnemonics are generally limited to use with one particular
microprocessor, which limits their portability, or use on other machines.
Today’s assembler do much more than translate assembly language
mnemonics into binary code.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Loader
Before the microprocessor can execute any machine instruction, it
must first be loaded into memory accessible to it. The loader is the
program that actually takes the machine instructions (object code) and
places it in memory at the specified starting address for execution.
Loaders range from the very simple to the very complex.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Directives – indicates how an operand or section of a program is to be
processed by the assembler
• model tiny – uses 64 KB both for the source code and the data code
• model small – uses 64KB each for the source code and data code
• code – segment that holds the program
• org 100h – origin, indicates the start of a program
• start: / end start – indicates the beginning and end of a program or a
section of a program
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Display single character
Interrupt 21h, service number 2
dl – register to hold the character to output
ah=2 – service number to output a single character stored in register dh
ex.
mov ah,2
mov dl,’A’
int 21h
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Terminate the program properly
Interrupt 20h
or
Interrupt 21h, service number 4ch
ah = 4ch – service number to terminate the program properly stored in
register ah
ex.
int 20h / mov ah, 4ch
int 21h
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
MODULE 6.2
Character Input Program
At the end of the lesson, the student should be able to :
• To be able to compare the three character input services of INT 21h.
• The students should be able to create character input and password protected
program.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Strings can’t usually fit in a register, string are then placed in the memory
and then pass the address of the string in memory of two of the registers,
the segment address in DS and offset address in DX.
The string output sends a string of characters to the standard output.
On entry: AH = 09h.
DS = segment address of the first character of the string
DX = offset address of the first character of the string
Service 9 display string of character starting with the first
character (address in DS: DX) output, but not including, the
character “$” (ASCII24H)
.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
• Int 21h, service 9
• display string
• ah = 9
• [ds:dx] = address of the string
• ds = address or location of the string
• dx = register to hold the string
•
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
how to declare a string
Syntax :
var_name db “string$”
db = define byte
$ = string terminator
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
MODULE 6.3
String Manipulation Tasm Program
At the end of the lesson, the student should be able to :
a. To learn how to print strings using service 9 of INT 21h
b. To learn how to process string in assembly language level
c. To apply loop and call & return instruction.
d. To create a program that provides a simple screen output by using the string output service.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
INT 21 Function 01H: Keyboard Input with Echo. This operation
accepts a character from the keyboard buffer or, if none is present, waits
for keyboard entry.
INT 21 Function 07H: Direct Keyboard Input without Echo. This
peration works like function 01H, except that the entered character does
not echo on the screen and the operation does not respond to a Ctrl-
Break request. It could be used to key in a password that is to be
visible.
• .
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
INT 21 Function 08H: Keyboard Input without Echo. This operation
works like function 01H, except that the entered character does not echo
on the screen.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Clear screen
Interrupt 10h, service number 3
ax = 03 – service number to clear the screen stored in register ax
ex.
mov ax,03
int 10h
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
Carriage return
dl=13 – service number for carriage return stored in register dl
ex.
mov dl,13
int 21h
New Line
dl =10 – service number for new line stored in register dl
ex.
mov dl,10
int 21h
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction
ASK ANY QUESTION RELATED TO OUR TOPIC
FOR TODAY.
CPECOMSYS: Module 6: 80886/8088 Instruction Sets _ Flag Control Instruction