In assembly language 8086 we use mnemonics in order to perform arithmetic operations like in MUL/IMUL subtraction.
So, Let's dive deep into what MUL and IMUL is ...
MUL:- It multiplies unsigned byte/word from source with unsigned byte/word in AL/AX register.
Operation:-
When source is BYTE then, AX← AL* unsigned 8-bit source
When source is BYTE then, DX: AX← AX* unsigned 16-bit source
IMUL:- It multiplies signed byte/word from source with signed byte/word in AL/AX register.
Operation:-
When source is BYTE then, AX← AL* signed 8-bit source
When source is BYTE then, DX: AX← AX* signed 16-bit source
Which flags get affected?
Ans- OF , CF, PF , AF, SF , ZF .
8086 program to Multiply two 16-bit BCD number:-
data segment
n1 dw 6600h
n2 dw 0006h
res dw ?
data ends
code segment
start:
assume cs:code ds:data
mov ax,data
mov ds,ax
mov ax,n1
mov bx,n1
mul ax
aam
mov ah,4ch
int21h
code ends
end start
Block transfer(Simple Program)
Block Transfer(REVERSE ORDER)
Addition of 8-bit BCD8086 program
addition of 16-bit bcd program
Division of 32/16 bit program
Subtraction of 8-bit program
Subtraction of 8-bit BCD program
Subtraction of 16-bit program
Subtraction of 16-bit BCD program
String reverse 8086 program
block transfer using string
string concatenation
Block Transfer
Block reverse
BCD to ASCII program 8086
ASCII to BCD program 8086
BCD to HEX
HEX to BCD
Block transfer using STRING instruction
8086 program to divide 8 bit hexadecimal number
For many other Language Programs of microprocessor 8086, C++ , Data Structures and MSBTE diploma ,BCA,MCAand engineering related concepts visit our BLOG
No comments:
Post a Comment