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.
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 ratings0% 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.
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