Skip to content

Commit 876ba6a

Browse files
authored
uploded files from lab 7 to lab 9
the files are required to manage
0 parents  commit 876ba6a

30 files changed

+1047
-0
lines changed

Diff for: 10_1.asm

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
TITLE TAKE INPUT n AND DISPLAY SUN UP TO n
2+
.MODEL SMALL
3+
.STACK 64
4+
.DATA
5+
MAXLEN DB 8
6+
ACTLEN DB ?
7+
STRNUM DB 8 DUP('$')
8+
RESNUM DW ?
9+
RES DB 8 DUP('$')
10+
.CODE
11+
MAIN PROC FAR
12+
MOV AX, @DATA
13+
MOV DS, AX
14+
15+
MOV DX, OFFSET MAXLEN
16+
MOV AH, 0AH
17+
INT 21H
18+
19+
CALL STR2NUM
20+
21+
MOV CX, AX
22+
MOV BX, 0000H
23+
CONTINUE: ADD BX, AX
24+
DEC AX
25+
LOOP CONTINUE
26+
27+
MOV RESNUM, BX
28+
CALL NUM2STR
29+
30+
MOV AX, 0200H
31+
MOV DX, 0DH
32+
INT 21H
33+
MOV DX, 0AH
34+
INT 21H
35+
36+
MOV DX, OFFSET RES
37+
MOV AH, 09H
38+
INT 21H
39+
40+
MOV AH, 4CH
41+
INT 21H
42+
MAIN ENDP
43+
44+
STR2NUM PROC NEAR
45+
MOV CX, 0000H
46+
MOV CL, ACTLEN
47+
MOV AX, 0000H
48+
MOV DX, AX
49+
MOV BX, 10
50+
LEA SI, STRNUM
51+
REPEAT:MUL BX
52+
MOV DL, [SI]
53+
SUB DX, 30H
54+
ADD AX, DX
55+
INC SI
56+
LOOP REPEAT
57+
RET
58+
STR2NUM ENDP
59+
60+
NUM2STR PROC NEAR
61+
MOV BX, 10
62+
MOV AX, RESNUM
63+
MOV DI, 0080H
64+
65+
NEXT: XOR DX, DX
66+
DIV BX
67+
ADD DX, 30H
68+
MOV [DI], DX
69+
INC DI
70+
CMP AX, 00
71+
JNE NEXT
72+
73+
;REVERSE THE STRING
74+
MOV CX, DI
75+
MOV SI, DI
76+
SUB CX, 80H
77+
MOV DI, OFFSET RES
78+
ASCII: DEC SI
79+
MOV AL, [SI]
80+
MOV [DI], AL
81+
INC DI
82+
LOOP ASCII
83+
RET
84+
85+
END
86+

Diff for: 10_2.ASM

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
TITLE TAKE INPUT n AND DISPLAY SUM OF MULTIPLICATION UPTO n
2+
.MODEL SMALL
3+
.STACK 64
4+
.DATA
5+
MAXLEN DB 4
6+
ACTLEN DB ?
7+
STRNUM DB 4 DUP('$')
8+
RESNUM DW ?
9+
RES DB 8 DUP('$')
10+
.CODE
11+
MAIN PROC FAR
12+
MOV AX, @DATA
13+
MOV DS, AX
14+
15+
MOV DX, OFFSET MAXLEN
16+
MOV AH, 0AH
17+
INT 21H
18+
19+
CALL STR2NUM
20+
21+
MOV CX, AX
22+
MOV BX, 0000H
23+
MOV DX, 02H
24+
CONTINUE: MOV AL, DL
25+
INC DL
26+
MUL DL
27+
ADD BX, AX
28+
INC DL
29+
LOOP CONTINUE
30+
31+
MOV RESNUM, BX
32+
CALL NUM2STR
33+
34+
MOV AX, 0200H
35+
MOV DX, 0DH
36+
INT 21H
37+
MOV DX, 0AH
38+
INT 21H
39+
40+
MOV DX, OFFSET RES
41+
MOV AH, 09H
42+
INT 21H
43+
44+
MOV AH, 4CH
45+
INT 21H
46+
MAIN ENDP
47+
48+
STR2NUM PROC NEAR
49+
MOV CX, 0000H
50+
MOV CL, ACTLEN
51+
MOV AX, 0000H
52+
MOV DX, AX
53+
MOV BX, 10
54+
LEA SI, STRNUM
55+
REPEAT:MUL BX
56+
MOV DL, [SI]
57+
SUB DX, 30H
58+
ADD AX, DX
59+
INC SI
60+
LOOP REPEAT
61+
RET
62+
STR2NUM ENDP
63+
64+
NUM2STR PROC NEAR
65+
MOV BX, 10
66+
MOV AX, RESNUM
67+
MOV DI, 0080H
68+
69+
NEXT: XOR DX, DX
70+
DIV BX
71+
ADD DX, 30H
72+
MOV [DI], DX
73+
INC DI
74+
CMP AX, 00
75+
JNE NEXT
76+
77+
;REVERSE THE STRING
78+
MOV CX, DI
79+
MOV SI, DI
80+
SUB CX, 80H
81+
MOV DI, OFFSET RES
82+
ASCII: DEC SI
83+
MOV AL, [SI]
84+
MOV [DI], AL
85+
INC DI
86+
LOOP ASCII
87+
RET
88+
89+
END
90+

Diff for: 10_3.ASM

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
TITLE TAKE INPUT n AND DISPLAY SUM OF MULTIPLICATION UPTO n
2+
.MODEL SMALL
3+
.STACK 64
4+
.DATA
5+
MAXLEN DB 100
6+
ACTLEN DB ?
7+
SENTENCE DB 100 DUP('$')
8+
COUNT DW ?
9+
RESCOUNT DB 8 DUP('$')
10+
.CODE
11+
MAIN PROC FAR
12+
MOV AX, @DATA
13+
MOV DS, AX
14+
15+
MOV DX, OFFSET MAXLEN
16+
MOV AH, 0AH
17+
INT 21H
18+
19+
MOV SI, OFFSET SENTENCE
20+
MOV BX, 00H
21+
CHECK: MOV DL, [SI]
22+
CMP DL, '$'
23+
JE EXIT
24+
CMP DL, ' '
25+
JNE CONTINUE
26+
INC BX
27+
CONTINUE:INC SI
28+
LOOP CHECK
29+
30+
EXIT: INC BX
31+
MOV COUNT, BX
32+
CALL NUM2STR
33+
34+
MOV AX, 0200H
35+
MOV DX, 0DH
36+
INT 21H
37+
MOV DX, 0AH
38+
INT 21H
39+
40+
MOV DX, OFFSET RESCOUNT
41+
MOV AH, 09H
42+
INT 21H
43+
44+
MOV AH, 4CH
45+
INT 21H
46+
MAIN ENDP
47+
48+
NUM2STR PROC NEAR
49+
MOV BX, 10
50+
MOV AX, COUNT
51+
MOV DI, 0080H
52+
53+
NEXT: XOR DX, DX
54+
DIV BX
55+
ADD DX, 30H
56+
MOV [DI], DX
57+
INC DI
58+
CMP AX, 00
59+
JNE NEXT
60+
61+
;REVERSE THE STRING
62+
MOV CX, DI
63+
MOV SI, DI
64+
SUB CX, 80H
65+
MOV DI, OFFSET RESCOUNT
66+
ASCII: DEC SI
67+
MOV AL, [SI]
68+
MOV [DI], AL
69+
INC DI
70+
LOOP ASCII
71+
RET
72+
NUM2STR ENDP
73+
END

Diff for: 10_4.ASM

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
TITLE TAKE INPUT n AND DISPLAY SUM OF MULTIPLICATION UPTO n
2+
.MODEL SMALL
3+
.STACK 64
4+
.DATA
5+
MAXLEN DB 100
6+
ACTLEN DB ?
7+
SENTENCE DB 100 DUP('$')
8+
COUNT DW ?
9+
RESCOUNT DB 8 DUP('$')
10+
VOWEL DB "AEIOU", "$"
11+
.CODE
12+
MAIN PROC FAR
13+
MOV AX, @DATA
14+
MOV DS, AX
15+
16+
MOV DX, OFFSET MAXLEN
17+
MOV AH, 0AH
18+
INT 21H
19+
20+
MOV SI, OFFSET SENTENCE
21+
MOV BX, 0
22+
CHECK: MOV DL, [SI]
23+
CMP DL, '$'
24+
JE EXIT
25+
CMP DL, 60H
26+
JL OK
27+
SUB DL, 20H
28+
OK : MOV CX, 05
29+
MOV DI, OFFSET VOWEL
30+
CTD: CMP DL, [DI]
31+
JNE ANOTHER
32+
INC BX
33+
JMP CONTINUE
34+
ANOTHER:INC DI
35+
LOOP CTD
36+
CONTINUE:INC SI
37+
JMP CHECK
38+
39+
EXIT: MOV COUNT, BX
40+
CALL NUM2STR
41+
42+
MOV AX, 0200H
43+
MOV DX, 0DH
44+
INT 21H
45+
MOV DX, 0AH
46+
INT 21H
47+
48+
MOV DX, OFFSET RESCOUNT
49+
MOV AH, 09H
50+
INT 21H
51+
52+
MOV AH, 4CH
53+
INT 21H
54+
MAIN ENDP
55+
56+
NUM2STR PROC NEAR
57+
MOV BX, 10
58+
MOV AX, COUNT
59+
MOV DI, 0080H
60+
61+
NEXT: XOR DX, DX
62+
DIV BX
63+
ADD DX, 30H
64+
MOV [DI], DX
65+
INC DI
66+
CMP AX, 00
67+
JNE NEXT
68+
69+
;REVERSE THE STRING
70+
MOV CX, DI
71+
MOV SI, DI
72+
SUB CX, 80H
73+
MOV DI, OFFSET RESCOUNT
74+
ASCII: DEC SI
75+
MOV AL, [SI]
76+
MOV [DI], AL
77+
INC DI
78+
LOOP ASCII
79+
RET
80+
NUM2STR ENDP
81+
END

Diff for: 10_5.ASM

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
TITLE TAKE INPUT n AND DISPLAY SUM OF MULTIPLICATION UPTO n
2+
.MODEL SMALL
3+
.STACK 64
4+
.DATA
5+
TABLE DW 2234H, 0343H, 0234H, 0244H, 1325H, 14E1H, 5432H, 14F4H, 0233H, 3022H
6+
SUM DW ?
7+
RESSUM DB 10 DUP('$')
8+
.CODE
9+
MAIN PROC FAR
10+
MOV AX, @DATA
11+
MOV DS, AX
12+
13+
MOV SI, OFFSET TABLE
14+
MOV BX, 0
15+
MOV DX, 0
16+
MOV CX, 10
17+
CHECK: ADD BX, [SI]
18+
ADD SI, 02
19+
LOOP CHECK
20+
21+
MOV SUM, BX
22+
CALL NUM2STR
23+
24+
MOV DX, OFFSET RESSUM
25+
MOV AH, 09H
26+
INT 21H
27+
28+
MOV AH, 4CH
29+
INT 21H
30+
MAIN ENDP
31+
32+
NUM2STR PROC NEAR
33+
MOV BX, 10
34+
MOV AX, SUM
35+
MOV DI, 0080H
36+
37+
NEXT: XOR DX, DX
38+
DIV BX
39+
ADD DX, 30H
40+
MOV [DI], DX
41+
INC DI
42+
CMP AX, 00
43+
JNE NEXT
44+
45+
;REVERSE THE STRING
46+
MOV CX, DI
47+
MOV SI, DI
48+
SUB CX, 80H
49+
MOV DI, OFFSET RESSUM
50+
ASCII: DEC SI
51+
MOV AL, [SI]
52+
MOV [DI], AL
53+
INC DI
54+
LOOP ASCII
55+
RET
56+
NUM2STR ENDP
57+
END

0 commit comments

Comments
 (0)