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