0% found this document useful (0 votes)
256 views

Assembly Language Programs

This document contains code segments for performing various arithmetic and logical operations on 8-bit and 16-bit numbers in assembly language. The operations include addition, subtraction, multiplication, division, comparison of numbers, printing characters and strings, and finding the largest element in an array.

Uploaded by

arefk
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 DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
256 views

Assembly Language Programs

This document contains code segments for performing various arithmetic and logical operations on 8-bit and 16-bit numbers in assembly language. The operations include addition, subtraction, multiplication, division, comparison of numbers, printing characters and strings, and finding the largest element in an array.

Uploaded by

arefk
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 DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

2.

TO ADD TWO NOS (8 BIT) CODE SEGMENT


MODEL SMALL ASSUME CS:CODE,DS:DATA
DATA SEGMENT START:
A DB 64
B DB 16 MOV AX,SEG A
DATA ENDS MOV DS,AX
.STACK MOV AL,A
CODE SEGMENT SUB AL,B
ASSUME CS:CODE,DS:DATA MOV DL,AL
START:
MOV AH,02H
MOV AX,SEG A INT 21H
MOV DS,AX MOV AH,4CH
MOV AL,A INT 21H
ADD AL,B
MOV DL,AL CODE ENDS
END START
MOV AH,02H
INT 21H 5.TO SUBTRACT TWO NOS (16 BIT)
MOV AH,4CH MODEL SMALL
INT 21H DATA SEGMENT
A DW 255
CODE ENDS B DW 189
END START DATA ENDS
.STACK
3.TO ADD TWO NOS (16 BIT) CODE SEGMENT
MODEL SMALL ASSUME CS:CODE,DS:DATA
DATA SEGMENT START:
A DW 44
B DW 45 MOV AX,SEG A
DATA ENDS MOV DS,AX
.STACK MOV AX,A
CODE SEGMENT SUB AX,B
ASSUME CS:CODE,DS:DATA MOV DX,AX
START:
MOV AH,02H
MOV AX,SEG A INT 21H
MOV DS,AX MOV AH,4CH
MOV AX,A INT 21H
ADD AX,B
MOV DX,AX CODE ENDS
END START
MOV AH,02H
INT 21H 6.TO MULTIPLY TWO NOS ( 8 BIT)
MOV AH,4CH MODEL SMALL
INT 21H DATA SEGMENT
A DB 16
CODE ENDS B DB 5
END START DATA ENDS
.STACK
4.TO SUBTRACT TWO NOS (8 BIT) CODE SEGMENT
MODEL SMALL ASSUME CS:CODE,DS:DATA
DATA SEGMENT START:
A DB 70
B DB 17 MOV AX,SEG A
DATA ENDS MOV DS,AX
.STACK MOV AL,A
MUL B INT 21H
MOV DL,AL
CODE ENDS
MOV AH,02H END START
INT 21H
MOV AH,4CH 9.TO PRINT ALL EVEN ASCII CHARACTERS
INT 21H MODEL SMALL
DATA SEGMENT
CODE ENDS A DW 256
END START DATA ENDS
.STACK
7.TO MULTIPLY TWO NOS ( 16 BIT) CODE SEGMENT
MODEL SMALL ASSUME CS:CODE,DS:DATA
DATA SEGMENT START:
A DW 10
B DW 11 MOV AX,SEG A
DATA ENDS MOV DS,AX
.STACK L1:
CODE SEGMENT MOV AX,A
ASSUME CS:CODE,DS:DATA MOV DX,AX
MOV AH,02H
START: INT 21H
DEC A
MOV AX,SEG A DEC A
MOV DS,AX JNZ L1
MOV AX,A MOV AH,4CH
MUL B INT 21H
MOV DX,AX
CODE ENDS
MOV AH,02H END START
INT 21H
MOV AH,4CH 10.TO PRINT ALL ODD ASCII CHARACTERS
INT 21H MODEL SMALL
DATA SEGMENT
CODE ENDS A DB 1
END START DATA ENDS
.STACK
8.TO DIVIDE TWO NOS CODE SEGMENT
MODEL SMALL ASSUME CS:CODE,DS:DATA
DATA SEGMENT START:
A DW 130
B DB 2 MOV AX,SEG A
DATA ENDS MOV DS,AX
.STACK MOV AL,A
CODE SEGMENT MOV CX,64
ASSUME CS:CODE,DS:DATA L1:
START: MOV AL,A
MOV DL,AL
MOV AX,SEG A MOV AH,02H
MOV DS,AX INT 21H
MOV AX,A INC A
DIV B INC A
MOV DL,AL LOOP L1
MOV AH,4CH
MOV AH,02H INT 21H
INT 21H
MOV AH,4CH CODE ENDS
END START MODEL SMALL
DATA SEGMENT
11.TO PRINT ASCII CHARACTERS FROM (00)H TO A DB "HELLO $"
(FF)H DATA ENDS
MODEL SMALL .STACK
DATA SEGMENT CODE SEGMENT
A DB 128 ASSUME CS:CODE,DS:DATA
DATA ENDS START:
.STACK
CODE SEGMENT MOV AX,SEG A
ASSUME CS:CODE,DS:DATA MOV DS,AX
START: LEA DX,A
MOV AH,09H
MOV AX,SEG A INT 21H
MOV DS,AX MOV AH,4CH
L1: INT 21H
MOV DL,A
MOV AH,02H CODE ENDS
INT 21H END START
DEC A
JNZ L1 14.PROGRAM TO PRINT ALL ELEMENTS OF AN
MOV AH,4CH ARRAY
INT 21H MODEL SMALL
DATA SEGMENT
CODE ENDS MY_ARR DB 65,66,67,68,69
END START DB ?
DB 50 DUP(0)
12.TO FIND FACTORIAL DATA ENDS
MODEL SMALL
DATA SEGMENT .STACK
A DB 5
DATA ENDS CODE SEGMENT
.STACK ASSUME CS:CODE,DS:DATA
CODE SEGMENT START:
ASSUME CS:CODE,DS:DATA
START: MOV AX,SEG MY_ARR
MOV DS,AX
MOV AX,SEG A LEA BX,MY_ARR
MOV DS,AX MOV CX,5
MOV AL,A L1:
DEC A MOV DX,[BX]
MOV AH, 02H
L1: INT 21H
MUL A ADD BX,1
DEC A
JNZ L1 LOOP L1
MOV DL,AL MOV AH,4CH
INT 21H
MOV AH,02H CODE ENDS
INT 21H END START
MOV AH,4CH
INT 21H 15.TO PRINT LARGEST ELEMENT OF AN ARRAY
MODEL SMALL
CODE ENDS DATA SEGMENT
END START A DB 65,66,67,68,69
B DB 0
13.TO PRINT HELLO ON SCREEN DATA ENDS
.STACK CODE ENDS
CODE SEGMENT END START
ASSUME CS:CODE,DS:DATAC
START: 17.TO PRINT SERIES OF FIRST 5 ODD NUMBERS
MODEL SMALL
MOV AX,SEG A DATA SEGMENT
MOV DS,AX A DB 49
MOV AL,A DATA ENDS
MOV B,AL .STACK
MOV CX,5 CODE SEGMENT
ASSUME CS:CODE,DS:DATA
L1: START:
MOV AL,[BX] MOV AX,SEG A
CMP B,AL MOV DS,AX
JLE L2 MOV CX,5
JG L3
L1:
L2: MOV AL,A
MOV B,AL MOV DL,AL
MOV AH,02H
L3: INT 21H
INC BX INC A
INC A
LOOP L1 LOOP L1
MOV DL,B MOV AH,4CH
MOV AH,02H INT 21H
INT 21H
MOV AH,4CH CODE ENDS
INT 21H END START
CODE ENDS
END START 18.TO COMPARE TWO NOS AND FIND OUT
GREATEST AMONG THEM
16.TO PRINT SERIES OF FIRST 5 EVEN NUMBERS MODEL SMALL
MODEL SMALL DATA SEGMENT
DATA SEGMENT A DB 77
A DB 48 B DB 87
DATA ENDS C DB "B IS GREATER $"
.STACK D DB "A IS GREATER $"
CODE SEGMENT DATA ENDS
ASSUME CS:CODE,DS:DATA .STACK
START: CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MOV AX,SEG A START:
MOV DS,AX MOV AX,SEG A
MOV CX,5 MOV DS,AX
MOV AL,A
L1: CMP AL,B
MOV AL,A JG L2
MOV DL,AL
MOV AH,02H L1:
INT 21H LEA DX,C
INC A MOV AH,09H
INC A INT 21H
LOOP L1 JMP L3
MOV AH,4CH
INT 21H L2:
LEA DX,D
MOV AH,09H MOV DL,AL
INT 21H MOV AH,02H
INT 21H
L3: MOV AH,4CH
MOV AH,4CH INT 21H
INT 21H CODE ENDS
CODE ENDS END START
END START
20.PRINT A NUMBER AND ITS REVERSE
MODEL SMALL
19.TO TAKE INPUT FROM USER AND PRINT DATA SEGMENT
CHARACTER ON SCREEN A DB ?
MODEL SMALL B DB ?
DATA SEGMENT DATA ENDS
MSG_1 EQU 'ENTER THE CHARACTER : $' .STACK
MSG_2 EQU 0DH,0AH,'THE GIVEN CHARACTER IS : $' CODE SEGMENT
PROMPT_1 DB MSG_1 ASSUME CS:CODE,DS:DATA
PROMPT_2 DB MSG_2 START:
DATA ENDS MOV AH,01H
.STACK INT 21H
CODE SEGMENT MOV A,AL
ASSUME CS:CODE,DS:DATA MOV AH,01H
START: INT 21H
MOV AX, SEG PROMPT_1 ; INITIALIZE DS MOV B,AL
MOV DS, AX MOV DL,B
LEA DX, PROMPT_1 ; LOAD AND DISPLAY MOV AH,02H
PROMPT_1 INT 21H
MOV AH, 09H MOV AL,A
INT 21H MOV DL,AL
MOV AH, 01H ; READ A CHARACTER MOV AH,02H
INT 21H INT 21H
MOV BL, AL ; SAVE THE GIVEN CHARACTER MOV AH,4CH
INTO BL INT 21H
LEA DX, PROMPT_2 ; LOAD AND DISPLAY CODE ENDS
PROMPT_2 END START
MOV AH, 09H
INT 21H TO PRINT FIBONNACI SERIES
MOV AH, 02H ; DISPLAY THE CHARACTER MODEL SMALL
MOV DL, BL DATA SEGMENT
INT 21H A DB -1
MOV AH, 4CH ; RETURN CONTROL TO DOS B DB 1
INT 21H DATA ENDS
CODE ENDS .STACK
END START CODE SEGMENT
OR ASSUME CS:CODE, DS:DATA
MODEL SMALL START:
DATA SEGMENT MOV AX,SEG A
A DB ? MOV DS,AX
DATA ENDS MOV CX,10
.STACK L1:
CODE SEGMENT MOV AL,A
ASSUME CS:CODE,DS:DATA MOV BL,B
START: ADD AL,BL
MOV AX,SEG A MOV DL,AL
MOV DS,AX MOV AH,02H
MOV AH,01H INT 21H
INT 21H MOV A,BL
MOV B,AL
LOOP L1
MOV AH,4CH
INT 21H
CODE ENDS
END START

You might also like