This assembly language program takes two integers as input from the keyboard, stores them in registers BL and CL, displays a message, and then prints out the two integers separated by a newline.
Microprocessor and micro-controller lab (assembly programming)
1. 1
DATA SEGMENT
MESSAGE DB "@@@ HELLO WORLD @@@$"
ENDS
CODE SEGMENT
ASSUME DS:DATA CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESSAGE
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
ENDS
END START
Output:
Print“helloworld”byusingAssemblyLanguage
2. 2
DATA SEGMENT
MESSAGE DB "HELLO WORLD $"
MESSAGE2 DB "HELLO WORLD $"
MESSAGE3 DB "HELLO WORLD $"
MESSAGE4 DB "HELLO WORLD $"
MESSAGE5 DB "HELLO WORLD $"
ENDS
CODE SEGMENT
ASSUME DS:DATA CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESSAGE
MOV AH,9
INT 21H
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV AL, 0AH
INT 10H
LEA DX,MESSAGE2
MOV AH,9
INT 21H
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV AL, 0AH
INT 10H
LEA DX,MESSAGE3
MOV AH,9
INT 21H
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV AL, 0AH
INT 10H
LEA DX,MESSAGE4
MOV AH,9
INT 21H
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV AL, 0AH
INT 10H
LEA DX,MESSAGE5
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
ENDS
Print“helloworld”Five timesbyusingAssemblyLanguage
Output
3. 3
.DATA
PROMPT1 DB 0AH," ENTER A FIRST NUMBER: $"
PROMPT2 DB 0AH,"ENTER A SECOND NUMBER: $"
PROMPT3 DB 0AH,"ADDITION OF TWO NUMBERS:$"
NUM1 DB ?,'$'
NUM2 DB ?,'$'
.CODE
START:
MOV AX,@DATA
MOV DS,AX
LEA DX,PROMPT1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM1,AL
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV AL, 0AH
INT 10H
LEA DX,PROMPT2
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM2,AL
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV Al, 0AH
INT 10H
LEA DX,PROMPT3
MOV AH,9
INT 21H
MOV AL,NUM1
ADD AL,NUM2
ADD AL,30H
MOV AH,2
MOV DL,AL
INT 21H
MOV AH,4CH
INT 21H
END START
Additionof twointegers
Output:
4. 4
.DATA
PROMPT1 DB 0AH," ENTER A FIRSTNUMBER: $"
PROMPT2 DB 0AH,"ENTER A SECONDNUMBER: $"
PROMPT3 DB 0AH,"SUBTRACTION OFTWO NUMBERS:$"
NUM1 DB ?,'$'
NUM2 DB ?,'$'
.CODE
START:
MOV AX,@DATA
MOV DS,AX
LEA DX,PROMPT1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM1,AL
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV AL, 0AH
INT 10H
LEA DX,PROMPT2
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM2,AL
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV Al,0AH
INT 10H
LEA DX,PROMPT3
MOV AH,9
INT 21H
MOV AL,NUM1
SUB AL,NUM2
ADD AL,30H
MOV AH,2
MOV DL,AL
INT 21H
MOV AH,4CH
INT 21H
END START
Subtractionof twointegers
Output:
5. 5
DATA SEGMENT
NUM1 DB ?
NUM2 DB ?
RESULT DB ?
MSG1 DB 10,13,"ENTER FIRSTNUMBER TO MULTIPLY :$"
MSG2 DB 10,13,"ENTER SECOND NUMBER TO MULTIPLY :$"
MSG3 DB 10,13,"RESULT OF MULTIPLICATION IS:$"
ENDS
CODE SEGMENT
ASSUME DS:DATA CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM1,AL
LEA DX,MSG2
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM2,AL
MUL NUM1
MOV RESULT,AL
AAM
ADD AH,30H
ADD AL,30H
MOV BX,AX
LEA DX,MSG3
MOV AH,9
INT 21H
MOV AH,2
MOV DL,BH
INT 21H
MOV AH,2
MOV DL,BL
INT 21H
MOV AH,4CH
INT 21H
ENDS
END START
MULTIPLICATION of twointegers
Output
6. 6
DATA SEGMENT
MSG1 DB "The Counting from 0 to 9 is: $"
ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV CX,10
MOV AH,2
MOV DL,48
CLOOP:
INT 21H
INC DL
DEC CX
JNZ CLOOP
MOV AH,4CH
INT 21H
ENDS
END START
Assemblyprogram“Print0 to 9 usingloop“
Output:
7. 7
Assembly programwhichprint A to Z using loop.
DATA SEGMENT
MSG1 DB "PrintfromA to Z : $"
ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV CX,26
MOV AH,2
MOV DL,65
CLOOP:
INT 21H
INC DL
DEC CX
JNZ CLOOP
MOV AH,4CH
INT 21H
ENDS
END START
Output:
8. 8
Assembly programwhichprint a to z using loop.
DATA SEGMENT
MSG1 DB "Printfroma toz : $"
ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV CX,26
MOV AH,2
MOV DL,97
CLOOP:
INT 21H
INC DL
DEC CX
JNZ CLOOP
MOV AH,4CH
INT 21H
ENDS
END START
Output:
9. 9
DATA SEGMENT
VAL1 DB ?
NL1 DB 0AH,0DH,'ENTER HOW MANY NO U WANT:','$'
NL2 DB 0AH,0DH,'ENTER NO:','$'
NL3 DB 0AH,0DH,'AVEARGE:','$'
CODE SEGMENT
START:
MOV AX,@DATA
MOV DS,AX
LEA DX,NL1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV CL,AL
MOV BL,AL
MOV AL,00
MOV VAL1,AL
LBL1:
LEA DX,NL2
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
ADD AL,VAL1
MOV VAL1,AL
LOOP LBL1
LBL2:
LEA DX,NL3
MOV AH,09H
INT 21H
MOV AX,00
MOV AL,VAL1
DIV BL
ADD AX,3030H
MOV DX,AX
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
ENDS
END START
Assemblyprogramwhichtake twointegersanddisplaythe average of them.
Output;
10. 10
Assembly programtake twointegers fromkeyboard and display them.
DATA SEGMENT
MESSAGE DB "Enter First Number $"
MESSAGE2 DB "Enter 2ndNumber $"
MESSAGE3 DB "Output:$"
ENDS
CODE SEGMENT
ASSUME DS:DATA CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MESSAGE
MOV AH,9
INT 21H
movah,1
int 21h
movbl,al
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV Al, 0AH
INT 10H
LEA DX,MESSAGE2
MOV AH,9
INT 21H
movah,1
int 21h
movCL,al
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV Al, 0AH
INT 10H
LEA DX,MESSAGE3
MOV AH,9
INT 21H
movdl,bl
movah,2
int 21h
MOV AH, 0EH
MOV AL, 0DH
INT 10H
MOV Al, 0AH
INT 10H
movdl,CL
movah,2
int 21h
MOV AH,4CH
INT 21H
ENDS
END START
Output: