Professional Documents
Culture Documents
C Akkka
C Akkka
Submitted By
Serial
No.
Particular
Page No.
10.
01.
14
04
05-06
15
02.
11.
03.
12.
04.
13.
05.
06.
14.
07.
15.
08.
09.
06
16
07
17
08
9
18-19
10-11
20-21
12
13
DATA SEGMENT
;START DATA SENMENT
MSG DB 0DH, 0AH,"HI DEAR HOW ARE YOU$"
DATA ENDS
; END DATA SEGMENT
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX, DATA ; INITILIZE DATA SEGMENT REGISTER
MOV DS, AX
MOV AH, 09H
; DISPLAY ON DOS PROMPT
MOV DX, OFFSET MSG ; CHARACTER ONE BY ONE READ
INT
21H
; INTTERUPT WHEN CPU BUSY
CODE ENDS
; END CODE SEGMENT
END START
OUTPUT
2.
WRITE AN ASSEMBLY LANGUAGE PROGRAM TO CHECK
WHETHER GIVEN NUMBER IS ODD OR EVEN.
DATA SEGMENT
; START DATA SEGMENT
MSG1 DB 0DH, 0AH, "IT'S AN EVEN NO. $"
MSG2 DB 0DH, 0AH, "IT'S AN ODD NO. $"
DATA ENDS
; END DATA SEGMENT
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX, DATA ; INITILIZE DATA SEGMENT REGISTER
MOV DS, AX
MOV BL, 02
; MOV 02 IN BL REGESTER
MOV AX, 59
; MOV 59 IN AX REGESTER
DIV BL
; PERFORM DIVISION OPRA.
CMP AH, 00H ; COMP WITH REMEDER IS 00
JZ
EVEN
; JUMP ZERO
JNZ ODD
; JUMP NOT ZERO
EVEN:
; LEBEL
MOV DX, OFFSET MSG1 ;READ CHARACTER ONE BY ONE
JMP FINAL
; GOTO FINAL LABEL
ODD:
; LEVEL
MOV DX, OFFSET MSG2 ; READ CHARACTER ONE BY ONE
JMP FINAL
; GOTO LEVEL FINAL
FINAL:
; LEVEL
4
CODE ENDS
END START
OUTPUT
3.
DATA SEGMENT
; START DATA SEGMENT
OPR1 EQU 72
; STORE NUMBER
OPR2 EQU 35
; STORE NUMBER
SUM DW 01 DUP(00) ; NUMDER OF VARIABLE
DATA ENDS
; END DATA SEGMENT
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX,DATA
; INITILIZE DATA SEGMENT REGISTER
MOV DS,AX
MOV BL, OPR2 ;MOVE VALUE OF OPR2 INTO BL REG
XOR AL, AL
;INITIALIZED ZERO INTO AL
MOV AL,OPR1
; MOVE VALUE OF OPR1 IN AL REG.
ADD AL,BL
;ADDITION OF OPR1 AND OPR2
;RESULT STORE INTO AL REG
MOV BYTE PTR SUM,AL ; MOV AL VALUE INTO SUM
; FOR DISPLAY
CODE ENDS
END START
OUTPUT
DEC CL
JNZ HITESH
CODE ENDS
END BEG
OUTPUT :-
5.
DATA SEGMENT
; START DATA SEGMENT
SUM DB 01 DUP(?) ; A BYTE MEMORY RESERVE
AVG DB 01 DUP (?); A BYTE MEMORY RESERVE
DATA ENDS
; END DATA SEGMENT
CODE SEGMENT
; START CODE SEGMENT
ASSUME CS:CODE DS:DATA
START:
MOV AX,DATA
;INITILIZE DATA SEGMENT REGISTER
MOV DS,AX
MOV AX,00
; SET AX AS 00
MOV AL,04
; MOVE 4 IN AL REGISTER
ADD AL,02
; ADD 02 WIHT VALUE OF AL REG.
ADD AL,08
; ADD 08 WIHT VALUE OF AL REG.
ADD AL,03
; ADD 03 WIHT VALUE OF AL REG.
ADD AL,03
; ADD 03 WIHT VALUE OF AL REG.
MOV SUM,AL
; MOVE VALUE OF AL IN SUM
MOV BL,05
; MOVE 5 TO BX REGISTER
DIV BL
; DIVISION PERFORMED
MOV AVG,AL
; RESULT STORED IN AVG
CODE ENDS
; END CODE SEGMENT
END START
7
OUTPUT
MOV X,DL
MOV DL,B
MOV Y,DL
ADD AL,BL
ADD AL,01
MOV Z,AL
CODE ENDS
END START
; MOVE VALUE OF DL IN X
; MOVE VALUE OF B IN DL REGISTER
; MOVE VALUE OF DL IN Y
; ADD VALUE OF AL WITH VALUE OF BL
; ADD VALUE OF AL WITH 01
; STORE RESULT
; END CODE SEGMENT
OUTPUT
OUTPUT
10
DATA SEGMENT
; START DATA SEGMENT
OPR1 DB 32
; A BIT VARIABLE DECLARE
OPR2 DB 24
; A BIT VARIABLE DECLARE
RES DB 01 DUP(?) ; A BYTE MEMORY RESERVE
DATA ENDS
; END DATA SEGMENT
ASSUME CS:CODE,DS:DATA
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX,DATA
; INITILIZE DATA SEGMENT REGISTER
MOV DS,AX
MOV AL,OPR1
;MOVE VALUE INTO AL REGISTER
ADD AL,OPR2
; ADD VALUE OF AL REGISTER AND OPR2
MOV RES,AL
; STORE RESULT INTO RES
CODE ENDS
; END DATA SEGMENT
END START
OUTPUT
11
OUTPUT
12
10
DATA SEGMENT
; START DATA SEGMENT
V1 DW 546
; A 16 BIT VARIABLE DECLARE
V2 DW 764
; A 16 BIT VARIABLE DECLARE
DATA ENDS
; END DATA SEGMENT
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX, DATA ; INITILIZE DATA SEGMENT REGISTER
MOV DS, AX
MOV DX, V1
; VALUE OF V1 IS MOVING INTO DX REG.
MOV BX, V2
; VALUE OF V2 IS MOVING INTO BX REG.
XCHG DX, BX ; EXCHANGE OPERATION PERFORM
MOV V1,DX
; MOVE VALUE OF BX IN V1
MOV V2,BX
; MOVE VALUE OF BX IN V2
CODE ENDS
; END CODE SEGMENT
END START
OUTPUT
13
CODE SEGMENT
; START DATA SEGMENT
START:
MOV [SI],'A' ;CHARACTER START FROM A TO Z(26)
MOV CL, 26 ; MOVE 26 IN CL REGISTER
GO:
; LEVEL
MOV AL,[SI] ;MOV VALUE AT ADDRESS INTO AL REG.
MOV AH,14
INT 10H
; INTTERUPT WHEN CPU BUSY
INC [SI]
; INCREASE VALUE OF SI BY 1
LOOP GO
; GOTO AT GO LEVEL
CODE ENDS
; END CODE SEGMENT
END START
OUTPUT
14
12.
DATA SEGMENT
; START DATA SEGMENT
LIST DB 67, 45, 55, 42, 88, 76, 33, 80, 22, 10 ; DEFINE BYTE
; VARIABLE
COUNT EQU 10
; A NUMBER STORE
DATA ENDS
; END DATA SEGMENT
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX, DATA ; INITILIZE DATA SEGMENT REGISTER
MOV DS, AX
MOV DL, COUNT-1
; SET GRATER NO AT LAST
AGAIN0:
; LEVEL
MOV CL, DL
; MOVE VALUE OF DL IN CL REG.
LEA SI, LIST ; MOVE VALUE OF LIST IN SI REGISTER
AGAIN1:
; LEVEL
MOV AL, [SI]
; MOVE VALUE AT SI ADDRESS IN AL
CMP AL, [SI+1] ; COMP. NEXT VALUE WITH NEXT VALUE
JL PR1
; JL= JUMP LOWER
XCHG [SI+1], AL ; EXCHVALUE OF AL IN NEXT POSSION IN ARR
15
XCHG [SI], AL
OUTPUT
13.
DATA SEGMENT
TEMP_FAH DB 96
AX, DATA
DS, AX
CL, TEMP_FAH
CL, 32
AL, 5
CL
16
MOV CL, 9
IDIV CL
MOV CELSIUS, AL
CODE ENDS
END START
; MOVE 9 IN CL REGISTER
; DIVISION OPERATION PERFORM
; MOVE VALUE OF AL REGISTER IN CELSIUS
; END CODE SEGMENT
OUTPUT
14.
DATA SEGMENT
; START DATA SEGMENT
OPR1 EQU 72
; DEFINE BYTE VARIABLE
OPR2 EQU 35
; DEFINE BYTE VARIABLE
SUM DW 01 DUP(00) ; A WORD MEMORY RESERVE FOR SUM
SUBT DW 01 DUP(00) ; A WORD MEMORY RESERVE FOR SUB
MULT DW 01 DUP(00) ; A WORD MEMORY RESERVE FOR DIV
DIVS DW 01 DUP(00)
DATA ENDS
; END DATA SEGMENT
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX, DATA
; INITILIZE DATA SEGMENT REGISTER
MOV DS, AX
MOV BL, OPR2
; MOVE VALUE OF OPR2 INTO BL REGISTER
XOR AL, AL
; INITIALIZED ZERO INTO AL
MOV AL, OPR1
17
ADD AL, BL
OUTPUT
18
DATA SEGMENT
; START DATA SEGMENT
ROWCOL EQU 03H
; STORE NUMBERS FOR COUNTER
MAT1 DB 1,2,3,4,5,6,7,8,9 ; BYTE VARIABLE DECLARATION
MAT2 DB 3,4,2,6,3,1,4,5,2 ; BYTE VARIABLE DECLARATION
PMAT DW 09 DUP(?)
; A WORD MEMORY RESERVE
DATA ENDS
; END DATA SEGMENTS
CODE SEGMENT
; START CODE SEGMENT
START:
MOV AX,DATA
; INITILIZE DATA SEGMENT REGISTER
MOV DS,AX
19
OUTPUT
20
21