0% found this document useful (0 votes)
133 views25 pages

Micro 1 To 25

The document contains 16 assembly language programs that perform various operations on 8-bit and 16-bit numbers. The programs include addition, subtraction, multiplication, and division of 8-bit and 16-bit numbers, sorting arrays in ascending and descending order, finding the largest element in an array, checking for palindromes, generating Fibonacci series, and counting 1s and 0s in binary data. Each program is followed by the result of running the program.

Uploaded by

klzxc
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
133 views25 pages

Micro 1 To 25

The document contains 16 assembly language programs that perform various operations on 8-bit and 16-bit numbers. The programs include addition, subtraction, multiplication, and division of 8-bit and 16-bit numbers, sorting arrays in ascending and descending order, finding the largest element in an array, checking for palindromes, generating Fibonacci series, and counting 1s and 0s in binary data. Each program is followed by the result of running the program.

Uploaded by

klzxc
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 25

1

;PROGRAM TO ADD TWO 8 BIT NUMBERS

DATA_SEG SEGMENT
DATA1 DB 08
DATA2 DB 04
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AL,DATA1
MOV BL,DATA2
ADD AL,BL
MOV DL,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0025 DX=000C SP=0000 BP=0000 SI=000 DI=000
DS=0C90 ES=0C80 SS=0C90 CS=0C90 IP=0023 NV UP E1 PL NZ NA PE NC
0C90:0023 CD21 INT 21
2

;PROGRAM TO SUBTRACT TWO 8 BIT NUMBERS

DATA_SEG SEGMENT
DATA1 DB 08
DATA2 DB 04
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AL,DATA1
MOV BL,DATA2
SUB AL,BL
MOV DL,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0004 CX=0025 DX=0004 SP=0000 SI=0000 DI=0000
DS=0C8A ES=0C8A CS=0C8A IP=0023 NV UP E1 PL NZ NA PO NC
0C8A:0023 CD21 INT 21
3

;PROGRAM TO MULTIPLY TWO 8 BIT NUMBERS

DATA_SEG SEGMENT
DATA1 DB O8
DATA2 DB 04
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AL,DATA1
MOV BL,DATA2
MUL BL
MOV DX,AX
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0004 CX0025 DX=0020 SP=000 BP=000 SI=0000 DI=0000
DS=0C8A ES=0C7A SS=0C8A IP=0023 NV UP E1 PL NZ NA PO NC
0C8A:0023 CD21 INT 21
4

;PROGRAM TO DIVIDE TWO 8 BIT NUMBERS

DATA_SEG SEGMENT
D1 DB 0008
D2 DB 02
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA_SEG
START: MOV AX,OFFSET DATA_SEG
MOV DS,AX
DIV D2
MOV AH,4CH
MOV AL,00H
INT 21H
CODE_SEG ENDS
END START

RESULT:
AX=4C00 BX=0000 CX0024 DX=0004 SP=0000 BP=0000
SI=0000 DI=0000 DS=0C8A ES=0C7A SS=0C8A CS=0C8B
IP=012 NV UP E1 PL NZ NA PO NC
OC8B:0012 CD 21 INT 21
-Q
5

;PROGRAM TO ADD TWO 16 BIT NUMBERS

DATA_SEG SEGMENT
DATA1 DW 0008
DATA2 DW 0004
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AX,DATA1
MOV BX,DATA2
ADD AX,BX
MOV DX,AX
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0004 CX=0025 DX=000C SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C72A SS=0C8A CS=0C8B IP=0013 NV UP E1 PLNZ NA PE NC
OC8B:0013 CD 21 INT 21
6

;PROGRAM TO SUB TWO 16 BIT NUMBERS

DATA_SEG SEGMENT
DATA1 DW 0008
DATA2 DW 0004
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AX,DATA1
MOV BX,DATA2
SUB AX,BX
MOV DX,AX
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0004 CX=0025 DX=0004 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C7A SS=0C8A CS=0C8B IP=0013 NV UP E1 PL NZ NA PO NC
OC8B:OO13 CD21 INT 21
7

;PROGRAM TO DIVIDE TWO 16 BIT NUMBERS

DATA_SEG SEGMENT
DATA1 DW 0008
DATA2 DW 0004
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AX,DATA1
MOV BL,DATA2
SUB BL
MOV DX,AX
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX0004 CX=0025 DX=0002 SO=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C7A SS=0C8A CS=0C8A IP=0023 NV UP E1 NG NZ NA PO
NC
OC8A:0023 CD21 INT 21
8

;PROGRAM TO FIND LCM OF A GIVEN NUMBERS

DATA_SEG SEGMENT
N1 DW 16
N2 DW 06
DATA SEG ENDS
CODE-SEG SEGMENT
ASSUME CS:CODE SEG,DS:DATA SEG
START: MOV AX,OFFSET DATA SEG
MOV DS,AX
MOV AX,N1
MOV BX,N2
REPEAT: CMP AX,BX
JNL DOWN
XCHG AX,BX
DOWN: MOV DX,00
DIV BX
MOV AX,DX
CMP DX,00
JNE REPEAT
MOV AX,N1
MUL N2
DIV BX
MOV DL,AL
MOV AX,4C00H
INT 21H
CODE_SEG ENDS
END START

RESULT:
AX=4C00 BX=0002 CX=003D DX=0030 SP=000 BP=0000 SI=0000 DI=0000
DS=0C90 ES=0C80 SS=0C90 CS=0C91 IP=002B NV UP E1 PL NZ NA PE NC
0C91:002B CD21 INT 21
9

;PROGRAM TO FIND GCD OF A GIVEN NUMBER

DATA_SEG SEGMENT
N1 DW 16
N2 DW 06
DATA _SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG,DS:DATA_SEG
START: MOV AX,OFFSET DATA_SEG
MOV DS,AX
MOV AX,N1
MOV BX,N2
REPEAT:CMP AX,BX
JNL DOWN
XCHG AX,BX
DOWN: MOV DX,00
DIV BX
MOV AX,DX
CMP DX,00
JNE REPEAT
MOV AX,4C00H
INT 21H
CODE_SEG ENDS
END START

RESULT:
AX=4C00 BX=0002 CX=0032 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C90 ES=0C80 SS=0C90 CS=0C91 IP=0020 NV UP E1 PL NZ NA PE NC
OC91:0020 CD21 INT 21
10

;PROGRAM TO MULTIPLY TWO 16 BIT NUMBERS

DATA_SEG SEGMENT
DATA1 DW 0008
DATA2 DW 0004
DATA ENDS
CODE SEGMENT
ASSSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AX,DATA1
MOV BX,DATA2
SUB BX
MOV DX,AX
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0004 CX=0025 DX=0020 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C7A SS=0C8A CS=0C8B IP=0013 NV UP E1 PL NZ NA PO NC
OC8B:0013 CD21 INT 21
11

;PROGRAM TO SORT IN ASCENDING ORDER

DATA_SEG SEGMENT
N DB 10,08,01,02,06
LEN DW 05
RESULT DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,OFFSET DATA
MOV DS,AX
MOV SI,OFFSET RESULT
MOV BX,LEN
DEC BX
REPEAT:MOV CL,BL
MOV SI,00
UP: MOV AL,N[SI]
INC SI
CMP AL,N[SI]
JB DOWN
XCHG AL,N[SI]MOV N[SI-1].AL
DOWN:LOOP UP
DEC BL
JNZ REPEAT
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0000 DX0000 SP=0000 BP=0000 SI=0000 SI=0001 DI=0000
DS=0C90 ES=0C80 SS=0C90 CS=0C91 IP=002E NV UP E1 PL ZR NA PE CY
0C91:002E CD21 INT 21
-EDS:0000
0C90:0000 01. 02. 06. 08. OA. O5.
12

;PROGRAM TO SORT A LIST OF NUMBERS IN DESCENDING ORDER

DATA_SEG SEGMENT
N DB 10,00,08,12,02
LEN DW 005
RESULT DB 5 DUP(?)
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE SEG,DS:DATA SEG
START: MOV AX,OFFSET DATA SEG
MOV DS,AX
MOV SI,OFFSET RESULT
MOV BX,LEN
DEC BX
REPEAT:MOV CL,BL
MOV SI,00
UP: MOV AL,N[SI]
INC SI
CMP AL,N[SI]
JA DOWN
XCHG AL,[SI]
MOV N[SI-1],AL
DOWN: LOOP UP
DEC BL
JNZ REPEAT
MOV AX,4C00H
INT 2 1H
CODE_SEG ENDS
END START

RESULT:
AX=4C00 BX=0000 CX=0000 DX=0000 SP=0000 BP=0000 SI=0001 DI=0000
DS=0C90 ES=0C80 SS=0C91 IP=002E NV UP E1 PL ZR NA PE NC
0C91:002E CD 21 INT 21
-EDS:0000
0C90:0000 0C. 0A. 08. 02. 00.-Q
13

;PROGRAM TO COUNT NUMBERS OF 1'S AND 0’S IN 16 BIT DATA

DATA_SEG SEGMENT
N DW 0009
ZEROS DB?
ONES DB?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV CX,0010H
MOV BX,00H
MOV DL,00H
MOV AX,N
UP: SAR AX,01H
JNC ZERO
INC DL
JMP DOWN
ZERO: INC BL
DOWN:LOOP UP
MOV ZEROS,BL
MOV ONES,DL
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=000E CX=0000 DX=0002 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C7A SS=0C8A CS=0C8B IP=0028 NV UP E1 PL NZ NA PO NC
0C8B:028 CD 21 INT 21
14

;PROGRAM TO GENERATE THE N NUMBER OF FIBBONACCI SERIES

DATA_SEG SEGMENT
N DB 08H
A DB 09 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV CL,N
MOV AL,00
MOV SI,00
MOV[SI]AL
MOV BL,01
MOV AL,BL
UP:INC SI
MOV [SI],AL
ADD AL,BL
MOV DL,AL
CMP AL,CL
JZ DOWN
MOV AL,BL
MOV BL,DL
LOOP UP
DOWN:MOV DL,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0037 CX=0000 DX=0022 SP=0000 BP=0000 SI=0008 DI=0000
DS=0C8A ES=0C7A SS=0C8BA CS=0C8B IP=002A NV UP E1 PL NZ NA PE NC
OC8B:002A CD21 INT 21
-EDS:0000
0C8A:0000 00. 01. 02. 03.05. 08.0D
0C8A:0008 15.
15

;PROGRAM TO CHECK FOR PALINDROME

DATA_SEG SEGMENT
LEN DB 09H
PAL DB 00H
STR1 DB 'GADAG', '$'
DATA _SEG ENDS
CODE_SEG SEGMENT
ASSUME CS;CODE_SEG,DS:DATA_SEG
START: MOV AX,OFFSET DATA_SEG
MOV DS,AX
MOV ES,AX
MOV LEN,00H
MOV SI,OFFSET STR1
MOV AX,01H
INT 21H
MOV [SI],AL
INC SI
INC LEN
CMP AL,00H
JNE UP
DEC LEN
MOV CL,LEN
MOV PAL,00
MOV SI,OFFSET STR1
MOV DI,SI
ADD DI,CX
DEC DI
SHR CX,1
UP: LODSB
CMP AL,[DI]
JNZ NPAL
DEC DI
LOOP UP
MOV PAL,OFH
NPAL: INT 3
CODE_SEG ENDS
END START

RESULT:
AX=0001 BX=0000 CX=0054 DX=0000 SP=0000 BP=0000
SI=0002 DI=0000
DS=0D17 ES=02BE SS=OD17 CS=02BE IP=0000 NV UP E1 PL
NZ NA PO NC
02BE:0000 CC INT 3
-EDS:0000
OD17:0000 00. 00. 47.41.44.41. 47.
16

;PROGRAM TO FIND THE BIGGEST ELEMENT IN AN ARRAY

DATA_SEG SEGMENT
N DB 07H,05H,03H,08H,2H,09H,01H,05H
LEN DB 08H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV SI,00H
MOV CL,LEN
MOV AL,N[SI]
UP: INC SI
CMP AL,N[SI]
JA DOWN
MOV AL,N[SI]
DOWN: LOOP UP
MOV DL,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0000 CX=0000 DX=0009 SP=0000 BP=0000 SI=0008 DI=0000
DS=0C8A ES=0C7A SS=0C8H CS=0C8B IP=0022 NV UP EI PL NZ NA PO NC
0C8B:0022 CD21 INT 21
17

;PROGRAM TO FIND THE FACTORIAL OF A GIVEN NUMBER

DATA_SEG SEGMENT
N DB 05
DATA ENDS
CODE SEGMENTS
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV CL,N
MOV AL,01
UP: MUL CL
DEC CL
JNZ UP
MOV DL,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0000 CX=0000 DX=0078 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C7A SS=0C8A CS=0C8B IP=0016 NV UP EI PL ZR NA PE NC
0C8B:0016CD21 INT 21
18

;PROGRAM TO FIND THE SMALLEST NUMBER IN AN ARRAY

DATA_SEG SEGMENT
N DB 07H,05H,03H,08H,02H,09H,01H,05H
LEN DB 08H
DATA ENDS
CODE SEGMENTS
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV SI,00H
MOV CL,LEN
MOV AL,N[SI]
UP: INC SI
CMP AL,N[SI]
JB DOWN
MOV AL,N[SI]
DOWN:LOOP UP
MOV DL,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0000 CX=0000 DX=0001 SP=0000 BP=0000 SI=0008 DI=0000
DS=0C8A ES=0C7A SS=0C8H CS=0C8B IP=0022 NV UP EI NG NZ AC PE CY
0C8B:0022 CD21 INT 21
19

;PROGRAM TO SEARCH A NUMBER IN AN ARRAY

DATA_SEG SEGMENT
N DB 10H,08H,01H,02H,06
LEN DB 05H
SEA DB 02
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV DL,00H
MOV CL,LEN
MOV SI,00
UP: MOV AL,N[SI]
INC SI
CMP AL,SEA
JNZ DOWN
MOV DL,01
JMP STOP
DOWN:LOOP UP
STOP: MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
AX=4C00 BX=0000 CX=0002 DX=0001 SP=0000 BP=0000 SI=0004 DI=0000
DS=0C8A ES=0C7A SS=0C8H CS=0C8B IP=0023 NV UP EI PL ZR NA PE NC
0C8B:0023 CD21 INT 21
20

;PROGRAM TO COUNT NUMBER OF VOWELS

DATA SEGMENT
STR1 DB "BANGALORE",'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV SI,OFFSET STR1
MOV BL,00
MOV CH,00H
MOV CL,09H
NEXTCHAR:MOV AL,[SI]
CMP AL,'A'
JNZ EEEEE
INC BL
INC SI
JMP NEXTCHAR
EEEEE: CMP AL,'E'
JNZ IIIII
INC BL
INC SI
JMP NEXTCHAR
IIIII: CMP AL,'I'
JNZ OOOOO
INC BL
INC SI
JMP NEXTCHAR
OOOOO:CMP AL,'O'
JNZ UUUUU
INC BL
INC SI
JMP NEXTCHAR
UUUUU:CMP AL,'U'
JNZ DOWN
INC BL
INC SI
DOWN: INC SI
LOOP NEXTCHAR
MOV AX,4C00H
INT 21H
CODE ENDS
END START

RESULT:
INPUT:SRT1="BANGALORE,"'$'
OUTPUT:BL=04
21

;PROGRAM TO FIND SQUARE OF A GIVEN NUMBER

DATA_SEG SEGMENT
DATA1 DW 04H
SQR DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,OFFSET DATA
MOV DS,AX
MOV AX,DATA1
MUL AX
MOV SQR,AX
MOV DX,SQR
MOV AX,4C00H
INT21H
CODE ENDS
END START

RESULT:
INPUT : DATA1=04H
OUTPUT : DX=10
22

;PROGRAM TO GENERATE MULTIPLICATION TABLE

DATA_SEG SEGMENT
NUM DB 02H
TABLE DB 10 DUP(?)
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG,DS:DATA_SEG
START: MOV AX,OFFSET DATA_SEG
MOV DS,AX
MOV SI,NUM
MOV CX,0AH
LEA DI,TABLE
MOV AX,00
MOV BX,[SI]
UP: ADD AX,BX
MOV [DI],AX
INC DI
DEC CX
JNZ UP
MOV AX,4C00H
INT 21H
CODE_SEG ENDS
END START

RESULT:
AX=4C00 BX=0002 CX=0000 DX=0000 SP=0000 BP=0000 SI=0000 DI=000B
DS=0D17 ES=0D07 SS=0D17 CS=0D18 IP=0020 NV UP EI PL ZR NA PE NC
0D18:0020 CD21 INT 21
-EDS:0000
0D17:0000 02.02. 04. 06. 08. 0A. 0C. 0E.
0D17:0008 10.12. 14.
23

;PROGRAME ADDITION OF TWO MATRIX

DATA_SEG SEGMENT
DIM EQU 09H
MAT1 DB 01,02,03,04,05,06,07,08,09
MAT2 DB 01,02,03,04,05,06,07,08,09
MAT3 DB 09H DUP(?)
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG,DS:DATA_SEG
START: MOV AX,OFFSET DATA_SEG
MOV DS,AX
MOV CX,DIM
MOV SI,OFFSET MAT1
MOV DI,OFFSET MAT2
MOV BX,OFFSET MAT3
NEXT: XOR,AX,AX
MOV AL,[SI]
ADD AL,[DI]
MOV [BX],AX
INC SI
INC DI
ADD BX,01
LOOP NEXT
MOV AX,4C00H
INT 21H
CODE_SEG ENDS
END START

RESULT:
AX=4C00 BX=001B CX=0000 DX=0000 SP=0000 BP=0000 SI=0009 DI=0012
DS=0C8A ES=0C7A SS=0C8A CS=0C8C IP=0023 NV UP E1 PL NZ NA PE NC
0C8C0023 CD21 INT 21
-EDS:0000
0C8A:0000 01.02.03.04.05.06.07.08
0C8A:0008 09.01.02.03.04.05.06.07
OC8A:0010 08. 09.02.04.06.08.0A.0C
0C8A:0018 0E. 10. 12.
24

;PROGRAM TO PRINT 0 TO N NUMBERS

DATA_SEG SEGMENT
N DB 10H
DATA_SEG ENDS
CODE_SEG SEGMENTS
ASSUME CS:CODE_SEG,DS:DATA_SEG
START: MOV AX,OFFSET DATA_SEG
MOV DS,AX
MOV SI,00
MOV CL,N
MOV AL,00
UP: MOV[SI],AL
INC SI
INC AL
LOOP UP
MOV AX,4C00H
INT 21H
CODE_SEG ENDS
END START

RESULT:
AX=4C00 BX=0000 CX=0000 DX=0000 SP=0000 BP=0000 SI=0010 DI=0000
DS=0C8A ES=0C7A SS=0C8A CS=0C8A IP=0018 NV UP E1 PL NZ AC PO NC
0C8B:0018 CD21 INT 21
-EDS:0000
0C8A:0000 00. 01. 02. 03. 04. 05. 06. 07.
0C8A:0008 08. 09. 0A. 0B.
25

;PROGRAM TO CHECK GIVEN NUMBER IS EVEN OR ODD

DATA_SEG SEGMENT
N DB 0BH
MSG1 DB 'GIVEN NUMBER IS EVEN','$'
MSG2 DB 'GIVEN NUMBER IS ODD','$'
DATA_SEG ENDS
CODE_SEG SEGMENTS
ASSUME CS:CODE_SEG,DS:DATA_SEG
START: MOV AX,OFFSET DATA_SEG
MOV DS,AX
MOV AL,N
SHR AL,01
JC DOWN
MOV AH,09H
MOV DX,OFFSET MSG1
JMP DOWN1
DOWN: MOV AH,09H
MOV DX,OFFSET MSG2
DOWN1:INT 21H
MOV AX,4C00H
INT 21H
CODE_SEG ENDS
END START

RESULT:
GIVEN NUMBER IS ODD

You might also like