Skip to content

Commit 76d8465

Browse files
committed
first message
0 parents  commit 76d8465

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+28093
-0
lines changed

MPLab/ASCII_L3.asm

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
;Read an Alphanumeric Character & Display Its Equivalent ASCII Code At The Center Of The Screen.
2+
3+
.MODEL SMALL
4+
5+
DISPLAY MACRO MSG
6+
LEA DX,MSG
7+
MOV AH,09H
8+
INT 21H
9+
ENDM
10+
11+
.DATA
12+
13+
MSG1 DB 0DH,0AH,"ENTER ALPHANUMERIC CHARACTER : $"
14+
RES DB 02 DUP(0)
15+
16+
.CODE
17+
18+
MOV AX,@DATA
19+
MOV DS,AX
20+
LEA DX,MSG1
21+
CALL DISP
22+
MOV AH,01H
23+
INT 21H
24+
25+
MOV BL,AL
26+
MOV CL,04
27+
SHR AL,CL
28+
CMP AL,0AH
29+
JC DIGIT
30+
ADD AL,07
31+
32+
DIGIT : ADD AL,30H
33+
MOV RES,AL
34+
AND BL,0FH
35+
CMP BL,0AH
36+
JC DIGIT1
37+
ADD BL,07
38+
39+
DIGIT1 : ADD BL,30H
40+
MOV RES+1,BL
41+
MOV AH,00H
42+
MOV AL,03H
43+
INT 10H
44+
45+
MOV AH,02H
46+
MOV BH,00H
47+
MOV DH,0CH
48+
MOV DL,28H
49+
INT 10H
50+
51+
MOV RES+2,'$'
52+
LEA DX,RES
53+
CALL DISP
54+
MOV AH,4CH
55+
INT 21H
56+
57+
58+
DISP PROC NEAR
59+
MOV AH,09H
60+
INT 21H
61+
RET
62+
DISP ENDP
63+
END
64+

MPLab/Binary_Search_L1.asm

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
;Design & Develop an Assembly Language Program To Search a Key Element "X" in a List of 'n' 16-bit Numbers. Adopt Binary Search Algorithm in Your Program For Searching.
2+
3+
.MODEL SMALL
4+
5+
DISPLAY1 MACRO MSG
6+
LEA DX,MSG
7+
MOV AH,09H
8+
INT 21H
9+
ENDM
10+
11+
.DATA
12+
13+
LIST DB 0H,3H,4H,5H,7H,9H
14+
NUMBER EQU($-LIST)
15+
16+
KEY DB 7H
17+
18+
MSG1 DB 0DH,0AH,"SEARCH SUCCESSFUL, ELEMENT FOUND IN THE LIST.$"
19+
MSG2 DB 0DH,0AH,"SEARCH FAILED, ELEMENT NOT FOUND.$"
20+
21+
.CODE
22+
23+
START : MOV AX,@DATA
24+
MOV DS,AX
25+
26+
MOV CH,NUMBER-1
27+
MOV CL,00H
28+
29+
AGAIN : MOV SI,OFFSET LIST
30+
XOR AX,AX
31+
CMP CL,CH
32+
JE NEXT
33+
JNC FAILED
34+
35+
NEXT : MOV AL,CL
36+
ADD AL,CH
37+
SHR AL,01H
38+
MOV BL,AL
39+
XOR AH,AH
40+
MOV BP,AX
41+
MOV AL,Ds:[BP][SI]
42+
CMP AL,KEY
43+
JE SUCCESS
44+
JC INCLOW
45+
46+
MOV CH,BL
47+
DEC CH
48+
JMP AGAIN
49+
50+
INCLOW : MOV CL,BL
51+
INC CL
52+
JMP AGAIN
53+
54+
SUCCESS : MOV AL,KEY
55+
ADD AL,30H
56+
57+
MOV DL,AL
58+
MOV AH,02H
59+
INT 21H
60+
61+
DISPLAY1 MSG1
62+
JMP FINAL
63+
64+
FAILED : MOV AL,KEY
65+
ADD AL,30H
66+
MOV DL,AL
67+
MOV AH,02H
68+
INT 21H
69+
70+
DISPLAY1 MSG2
71+
72+
FINAL : MOV AH,01H
73+
INT 21H
74+
MOV AH,4CH
75+
INT 21H
76+
77+
END START
78+
79+
80+

MPLab/BubbleSort_L2.asm

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
;Design & Develop an Assembly Language Program To Sort a Given set of 'n' 16-bit Numbers in Ascending Order. Adopt Bubble Sort Algorithm To Sort Given Numbers.
2+
3+
.MODEL SMALL
4+
5+
.DATA
6+
A DB 08,02,03,01,04,07
7+
N EQU($-A)
8+
9+
.CODE
10+
11+
MOV AX,@DATA
12+
MOV DS,AX
13+
MOV CL,N
14+
DEC CL
15+
16+
OUTERLOOP:MOV CH,CL
17+
MOV SI,00
18+
19+
INNERLOOP:MOV AL,A[SI]
20+
INC SI
21+
CMP AL,A[SI]
22+
JB NOXG
23+
XCHG AL,A[SI]
24+
MOV A[SI-1],AL
25+
26+
NOXG: DEC CH
27+
JNZ INNERLOOP
28+
DEC CL
29+
JNZ OUTERLOOP
30+
MOV AH,4CH
31+
INT 21H
32+
33+
END
34+
35+
36+
37+

MPLab/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# MicroprocessorLab

MPLab/palindrome mp.txt

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
.model small
2+
display macro msg
3+
lea dx,msg
4+
mov ah,09h
5+
int 21h
6+
endm
7+
.data
8+
msg1 db 0dh,0ah,"enter a string$"
9+
msg2 db 0dh,0ah,"entered string is palindrome$"
10+
msg3 db 0dh,0ah,"entered string is not palindrome$"
11+
str db 10h dup(0)
12+
revstr db 10h dup(0)
13+
len dw 0
14+
.code
15+
mov ax,@data
16+
mov ds,ax
17+
display msg1
18+
mov si,00h
19+
back1:mov ah,01h
20+
int 21h
21+
cmp al,0dh
22+
jz next
23+
mov str[si],al
24+
inc si
25+
inc len
26+
jmp back1
27+
next:mov si,00h
28+
mov di,00h
29+
add di,len
30+
dec di
31+
mov cx,len
32+
back2:mov al,str[si]
33+
mov revstr[di],al
34+
inc si
35+
dec di
36+
loop back2
37+
mov cx,len
38+
mov si,00h
39+
mov di,00h
40+
cld
41+
back3:mov bl,str[si]
42+
cmp bl,revstr[di]
43+
inc si
44+
inc di
45+
jnz notpalin
46+
loop back3
47+
display msg2
48+
jmp last
49+
notpalin:display msg3
50+
last:mov ah,4ch
51+
int 21h
52+
end

MPLab/ylab5.asm

+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
;PROGRAM TO READ TWO STRINGS, STORE THEM IN LOCATIONS STR1 & STR2.CHECK WHETHER THEY ARE EQUAL OR NOT & DISPLAY APPROPRIATE MESSAGES. ALSO DISPLAY THE LENGTH OF THE STORED STRINGS.
2+
3+
.MODEL SMALL
4+
5+
DISP MACRO MSG
6+
LEA DX,MSG
7+
MOV AH,09H
8+
INT 21H
9+
ENDM
10+
11+
12+
.DATA
13+
14+
LEN1 DW 0
15+
LEN2 DW 0
16+
SRC DB 10H DUP(0)
17+
DEST DB 10H DUP(0)
18+
MSG1 DB 0DH,0AH,"ENTER FIRST STRING $"
19+
MSG2 DB 0DH,0AH,"ENTER SECOND STRING $"
20+
MSG3 DB 0DH,0AH,"STRINGS ARE EQUAL $"
21+
MSG4 DB 0DH,0AH,"STRINGS ARE NOT EQUAL $"
22+
MSG5 DB 0DH,0AH,"LENGTH OF THE STRINGS IS $"
23+
MSG6 DB 0DH,0AH,"LENGTH OF THE FIRST STRING $"
24+
MSG7 DB 0DH,0AH,"LENGTH OF THE SECOND STRING $"
25+
26+
.CODE
27+
28+
MOV AX,@DATA
29+
MOV DS,AX
30+
MOV ES,AX
31+
DISP MSG1
32+
MOV SI,00
33+
34+
BACK1:
35+
MOV AH,01H
36+
INT 21H
37+
CMP AL,0DH
38+
JE NEXT1
39+
MOV SRC[SI],AL
40+
INC SI
41+
INc LEN1
42+
JMP BACK1
43+
44+
NEXT1 :
45+
MOV SRC[SI],'$'
46+
DISP MSG2
47+
MOV SI,00
48+
49+
BACK2 :
50+
MOV AH,01H
51+
INT 21H
52+
CMP AL,0DH
53+
JE NEXT2
54+
MOV DEST[SI],AL
55+
INC SI
56+
INC LEN2
57+
JMP BACK2
58+
59+
NEXT2 :
60+
MOV DEST[SI],'$'
61+
MOV AL,LEN1
62+
CMP AL,LEN2
63+
JNE NOTEQUAL
64+
LEA SI,SRC
65+
LEA DI,DEST
66+
MOV CL,LEN1
67+
CLD
68+
69+
BACK3 :
70+
CMPSB
71+
JNE NOTEQUAL
72+
LOOP BACK3
73+
DISP MSG3
74+
DISP MSG5
75+
76+
77+
MOV AL,LEN1
78+
AAM
79+
ADD AX,3030H
80+
MOV BX,AX
81+
MOV DL,BH
82+
MOV AH,02H
83+
INT 21H
84+
85+
86+
MOV DL,BL
87+
MOV AH,02H
88+
INT 21H
89+
JMP LAST
90+
91+
NOTEQUAL :
92+
DISP MSG4
93+
DISP MSG6
94+
95+
96+
MOV AL,LEN1
97+
AAM
98+
ADD AX,3030H
99+
MOV BX,AX
100+
MOV DL,BH
101+
MOV AH,02H
102+
INT 21H
103+
104+
MOV DL,BL
105+
MOV AH,02H
106+
INT 21H
107+
108+
DISP MSG7
109+
110+
MOV AL,LEN2
111+
AAM
112+
ADD AX,3030H
113+
MOV BX,AX
114+
MOV DL,BH
115+
MOV AH,02H
116+
INT 21H
117+
118+
MOV DL,BL
119+
MOV AH,02H
120+
INT 21H
121+
122+
LAST :
123+
MOV AH,4CH
124+
INT 21H
125+
126+
END
127+
128+
129+

0 commit comments

Comments
 (0)