[go: up one dir, main page]

0% found this document useful (0 votes)
12 views20 pages

Ssa Lab

Uploaded by

adribiswas2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views20 pages

Ssa Lab

Uploaded by

adribiswas2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

ASEMMBLY LANGUAGE TO ADD THAT VALUES OF TWO REGISTERS

org 100h

Main proc
MOV BL,2 ;BL=2
MOV CL,3 ;CL=3

ADD BL,CL ;BL=BL+CL


ADD BL,48 ;BL=BL+48

MOV AH,2 ;PRINT COMMAND


MOV DL,BL
INT 21H ;INTERRUPT FOR BASIC I/0 OPERATIONS

ret

------------------------------------------------------------------------------------------------------
aNOTHER
; ASEMMBLY LANGUAGE TO ADD THAT VALUES OF TWO REGISTERS

org 100h

Main proc
MOV BL,2 ;BL=2
MOV CL,3 ;CL=3

ADD CL,BL ;CL=BL+CL


ADD CL,48 ;BL=BL+48

MOV AH,2 ;PRINT COMMAND


MOV DL,CL
INT 21H ;INTERRUPT FOR BASIC I/0 OPERATIONS

ret
-----------------------------------------------------------------------------------------------------------------

; ASEMMBLY LANGUAGE TO SUB THAT VALUES OF TWO REGISTERS

org 100h

Main proc
MOV BL,2 ;BL=2
MOV CL,3 ;CL=3

SUB CL,BL ;CL=BL-CL


ADD CL,48 ;BL=BL+48

MOV AH,2 ;PRINT COMMAND


MOV DL,CL
INT 21H ;INTERRUPT FOR BASIC I/0 OPERATIONS

ret

-----------------------------------------------------------------------------------------------------------
; USER INPUT

org 100h

Main proc
MOV AH,1 ; USER INPUT COMMAND
INT 21H
MOV BL,AL ;

MOV AH,2 ;PRINT COMMAND


MOV DL,BL
INT 21H

ret
------------------------------------------------------------------------------------------------------
; USER INPUT WITH OUTPUT NEW LINE

org 100h

Main proc
MOV AH,1 ; USER INPUT COMMAND
INT 21H
MOV BL,AL ;

MOV AH,2
MOV DL,10 ; NEW LINE
INT 21H
MOV AH,2 ;PRINT COMMAND
MOV DL,BL
INT 21H

ret

-----------------------------------------------------------------------------------------------------------
; USER INPUT WITH NEW LINE AND REMOVE TAB

org 100h

Main proc
MOV AH,1 ; USER INPUT COMMAND
INT 21H
MOV BL,AL ;

MOV AH,2
MOV DL,10 ; NEW LINE
INT 21H
MOV DL,13 ;CRET
INT 21H

MOV AH,2 ;PRINT COMMAND


MOV DL,BL
INT 21H
ret
-----------------------------------------------------------------------------------------------------------------

; USER INPUT 2 TA

org 100h

Main proc

MOV AH,1 ; USER INPUT COMMAND

INT 21H
MOV BL,AL

INT 21H
MOV CL,AL

MOV AH,2

MOV DL,10 ; NEW LINE


INT 21H

MOV DL,13 ;CRET


INT 21H

MOV AH,2 ;PRINT COMMAND


MOV DL,BL
INT 21H

ret

----------------------------------------------------------------
; USER INPUT 2 TA

org 100h

Main proc

MOV AH,1 ; USER INPUT COMMAND

INT 21H
MOV BL,AL

INT 21H
MOV CL,AL

ADD BL,CL
SUB BL,48

MOV AH,2

MOV DL,10 ; NEW LINE


INT 21H
MOV DL,13 ;CRET
INT 21H

MOV AH,2 ;PRINT COMMAND


MOV DL,BL
INT 21H

ret
----------------------------------------------------------------------------------------------

; USER INPUT 2 TA

org 100h

Main proc

MOV AH,1 ; USER INPUT COMMAND

INT 21H
MOV BL,AL

INT 21H
MOV CL,AL

SUB BL,CL
ADD BL,48
MOV AH,2

MOV DL,10 ; NEW LINE


INT 21H

MOV DL,13 ;CRET


INT 21H

MOV AH,2 ;PRINT COMMAND


MOV DL,BL
INT 21H
Ret
;ASSEMBLY LANGUAGE TO ADD THE VALUES OF 2 VARIABLES
org 100h
.DATA ;Variable_name variable_size value ;DB= Define Byte (8), DW= Define Word (16),
A DB 2; A=2
B DB 4; B=4
.CODE
MAIN PROC
MOV AX,@DATA ;INITIALIZATION OF DATA SEGMENT
MOV DS,AX
MOV BL,A ;BL=A
ADD BL,B ;BL=BL+B=A+B
ADD BL,48
MOV AH,2;PRINT
MOV DL,BL
INT 21H
ret
WITH USER INPUT
;ASSEMBLY LANGUAGE TO ADD THE VALUES OF 2 VARIABLES
org 100h
.DATA ;Variable_name variable_size value ;DB= Define Byte (8), DW= Define Word (16),
A DB ?
B DB ?
.CODE
MAIN PROC
MOV AX,@DATA ;INITIALIZATION OF DATA SEGMENT
MOV DS,AX
MOV AH,1 ;USER INPUT
INT 21H
MOV A,AL
INT 21H
MOV B,AL
MOV BL,A ;BL=A
ADD BL,B ;BL=BL+B=A+B
SUB BL,48
MOV AH,2;PRINT
MOV DL,BL
INT 21H
Ret
1.ASSEMBLY LANGUAGE TO CONVERT UPPERCASE INTO LOWERCASE ANS VICE-
VERSA
INPUT: Ab OUTPUT: aB
2. ASSEMBLY LANGUAGE TO EXCHANGE THE VALUES OF 2 REGISTERS,
3. ASSEMBLY LANGUAGE TO EXCHANGE THE VALUES OF 2 VARRIABLE
4. ASSEMBLY LANGUAGE TO CALCULATE 2A+2B-C WHERE A=1, B=2, C=3

IN 1ST PROBLEM, USER INPUT BL,CL


BL+32 CL-32 ,,
IN 2ND , XCHG BL,CL
PRINT BL,CL
IN 3RD, DECLARE 2 VARIABLES- USER INPUT, MOV BL,A --BL=A
XCHG BL,B -- BL=B, B=BL=A
MOV A,BL-- A=BL=B
IN 4TH, A+A+B+B-C
org 100h
MAIN PROC
MOV AH,1 ;USER INPUT
INT 21H
MOV BL,AL
INT 21H
MOV CL,AL
ADD BL,32 ; UPER TO LOWER
SUB CL,32 ; LOWER TO UPER
MOV AH,2 ;PRINT STATEMENT
MOV DL,BL
INT 21H
MOV DL,CL
INT 21H
ret
2NO
org 100h
MAIN PROC
MOV AH,1 ;USER INPUT
INT 21H
MOV BL,AL
INT 21H
MOV CL,AL
XCHG BL,CL
MOV AH,2 ;PRINT STATEMENT
MOV DL,BL
INT 21H
MOV DL,CL
INT 21H
ret
3NO
org 100h
.DATA
A DB ?
B DB ?
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV AH,1 ;USER INPUT
INT 21H
MOV A,AL
INT 21H
MOV B,AL
MOV BL,A ;BL=A
XCHG BL,B
MOV A,BL
SUB BL,48
MOV AH,2 ;PRINT STATEMENT
MOV DL,A
INT 21H
MOV DL,B
INT 21H
ret
4NO
org 100h
.DATA
A DB 1
B DB 2
C DB 3
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV BL,A ;BL=A
ADD BL,A ;BL=BL+A=A+A=2A
ADD BL,B ;BL=BL+B=2A+B
ADD BL,B ;BL=BL+B=2A+2B
SUB BL,C ;BL=BL-C=2A+2B-C
ADD BL,48
MOV AH,
MOV DL,BL
INT 21H
Ret
;an assembly language to multiply the value of bl by 4
org 100h

MAIN PROC
MOV BL,2 ;BL=2
MOV AL,4 ;AL=4
MUL BL ;AX=AL*BL

ADD AX,48

MOV AH,2
MOV DX,AX
INT 21H
ret
------------------------------------------------------------------------------------------------------------

;an assembly language to multiply the value of bl by 4 with shift


org 100h

MAIN PROC
MOV BL,2 ;BL=2
SHL BL,2 ;BL=BL*2^2

ADD BL,48
MOV AH,2
MOV DL,BL
INT 21H

ret
--------------------------------------------------------------------------------------------------------

;an assembly language to multiply the value of bl by 5 WITH SHIFT


org 100h

MAIN PROC
MOV BL,1 ;BL=1
MOV CL,BL ; CL=BL=1

SHL BL,2 ;BL=BL*2^2=4BL


ADD BL,CL ; BL=BL+CL=4BL+BL=5BL

ADD BL,48

MOV AH,2
MOV DL,BL
INT 21H
ret

---------------------------------------------------------------------------------------------------------------------
-----------

;an assembly language to calculate 7A+5B-3C where A=1, B=2, C=3. WITH SHIFT

ORG 100H

.DATA
A DB 1
B DB 2
C DB 3

.CODE
MAIN PROC
MOV AX,@DATA ;INITIALIZATION OF DATA SEGMENT
MOV DS,AX

MOV BL,A ;BL=A


SHL BL,3 ; BL=BL*2^3=8BL=8A
SUB BL,A ;BL=BL-A=8A-A=7A

MOV CL,B ;CL=B


SHL B,2 ;B=B*2^2=4B
ADD B,CL ;B=B+CL=4B+B=5B

MOV CL,C ;CL=C


SHL CL,1 ;CL=CL*2^1=2C
ADD CL,C ;CL=CL+C=2C+C=3C

ADD BL,B ;BL=BL+B=7A+5B


SUB BL,CL;BL=BL-CL=7A+5B-3C

ADD BL,48

MOV AH,2
MOV DL,BL

INT 21H

RET

ret

;JG = JUMP IF GREATER


;JEG = Jump if greater or equal
;JL = Jump if less
;JLE = Jump is less or equal
;JE = Jump if equal
;JNE = Jump if not equal

; EKTA OUTPUT ER WORD PRINT KORE SUDU


org 100h

.DATA
A DB "HELLO WORLDS$"

.CODE
MAIN PROC
MOV AX, @DATA ; INITITIALIZATION OF DATA SEGMENT
MOV DS,AX

MOV AH,2 ;PRINT


MOV DL,A
INT 21H

ret

---------------------------------------------------------------------------------------------------------------------
--

; $ PORJONTO STRING PRINT KORAR JONNE ( $ MEANS END OF STRING)


org 100h

.DATA
A DB "HELLO WORLDS$"

.CODE
MAIN PROC
MOV AX, @DATA ; INITITIALIZATION OF DATA SEGMENT
MOV DS,AX

MOV AH,9 ;PRINT


LEA DX,A
INT 21H

ret
---------------------------------------------------------------------------------------------------------------------
-

; AN ASSEMBLY LANGUAGE TO CHECK IF THE VALUES OF TWO REGISTER ARE


EQUAL OR NOT
org 100h

.DATA
A DB "EQUAL$"
B DB "NOT EQUAL$"

.CODE
MAIN PROC
MOV AX, @DATA ; INITITIALIZATION OF DATA SEGMENT
MOV DS,AX

MOV AH,1 ;USER INPUT


INT 21H
MOV BL,AL
INT 21H
MOV CL,AL
CMP BL,CL ;BL-CL (COMPARE)
JE LABEL1
JNE LABEL2

LABEL1: ;EQUAL PRINT KORBE


MOV AH,9
LEA DX,A
INT 21H
JMP

LABEL2: ;NOT EQUAL K PRINT KORBE


MOV AH,9
LEA DX,B
INT 21H
JMP

ret

---------------------------------------------------------------------------------------------------------------------
----
; AN ASSEMBLY LANGUAGE TO CHECK IF THE VALUES OF TWO REGISTER AND
PRINT THE GRATER ONE

ORG 100H

MAIN PROC
MOV AH, 1
INT 21H
MOV BL, AL

MOV AH, 1
INT 21H
MOV CL, AL

CMP BL, CL
JG LABEL1
JL LABEL2

LABEL1:
MOV DL, BL
MOV AH, 2
INT 21H
RET

LABEL2:
MOV DL, CL
MOV AH, 2
INT 21H
RET

You might also like