Documente Academic
Documente Profesional
Documente Cultură
PROGRAMS
SUB CODE: 10ESL47
Microcontroller
ALP
1.
Result:
Before Execution
After Execution
A<= 09H+06H
A<= 09H+06H
A<= 0FH
00001001
+00000110
00001111
0
A<= 0FH
2.
Result:
Before Execution
After Execution
A<= 09H-05H
A<= 09H-05H
A<= 04H
00001001
-00000101
00000100
0
A<= 04H
3.
After Execution
R0<= 17H+12H
R1<= 15H+13H
00010111
00010101
+00010010
+00010011
00101001
2 9
00101000
2
8
1517H+ 1312H=2829H
R0<=29H
R1<=28H
1517H+ 1312H=2829H
4.
Result:
Before Execution
After Execution
R0<= 17H-12H
R1<= 15H-13H
00010111
00010101
1517H- 1312H=0205H
-00010010
-00010011
00000101
0 5
00000010
0 2
R0<=05H
R1<=02H
1517H- 1312H=0205H
5.
; copy result to R1
; jump on NO carry
; copy carry into R0
Result:
Before Execution
After Execution
A<= 98H+F4H
A<= 98H+F4H
A<= 18CH
10011000
+11110100
1 10001100
1
R0<=01
R1<= 8C
6.
Result:
Before Execution
After Execution
R1<= 98H+F4H
R2<= 98H+F4H
10011000
10011000
+11110100
+11110100
R0<= 01H
9898H+F4F4H=18D8CH
10001101
1
R0<=01
R1<=8DH
10001100
8
R2<=8CH
9898H+ F4F4H=18D8CH
7.
Result:
Before Execution
After Execution
30H<= 09H
30H<= 09H
31H<= 05H
31H<= 05H
00001001
35H<= 09H+05H=14H
+00000101
00001110
14
35H<= 09H+05H=14H
8.
Result:
Before Execution:
After Execution:
30H<=09H
30H<= 09H
31H<= 04H
31H<=04H
09 04 = (36)10
09 04= 0024H
(36)10 = (24)16
9.
After Execution:
30H<=09H
30H<= 09H
31H<=02H
31H<= 02H
09 02 = 04H
Quotient= 04H
09 02= 04H
Remainder= 01H
Remain= 01H
35H<= 04H (Quotient)
10
After Execution
30H<= 10H
30H<= 10H
102= 100H
102= 100H
35H<= 00H
36H<=01H
11
After Execution
30H<= 03H
30H<= 03H
033= 1BH
033= (27)10H
(27)10= (1B)16
35H<= 1BH
36H<= 00H
12
After Execution
20H<=01H
30H<=01H
21H<=02H
31H<=02H
22H<=03H
32H<=03H
23H<=04H
33H<=04H
24H<=05H
34H<=05H
25H<=06H
35H<=06H
26H<=07H
36H<=07H
7000H<=02H
7001H<=04H
7002H<=06H
7003H<=08H
7004H<=0AH
7005H<=0CH
7006H<=0EH
7000H<= 01+01=02H
7001H<= 02+02=04H
7002H<= 03+03=06H
7003H<= 04+04=08H
7004H<= 05+05=0AH
7005H<= 06+06=0CH
7006H<= 07+07=0EH
13
After Execution
20H<=0FH
30H<=01H
21H<=0EH
31H<=02H
22H<=0DH
32H<=03H
23H<=0CH
33H<=04H
24H<=0BH
34H<=05H
25H<=0AH
35H<=06H
26H<=09H
36H<=07H
7000H<=0EH
7001H<=0CH
7002H<=0AH
7003H<=08H
7004H<=06H
7005H<=04H
7006H<=02H
7000H<= 0F-01=0EH
7001H<= 0E-02=0CH
7002H<= 0D-03=0AH
7003H<= 0C-04=08H
7004H<= 0B-05=06H
7005H<= 0A-06=04H
7006H<= 09-07=02H
14
After Execution
30H<= 0FH
30H<= 0FH
00001111
0 0 0 0 1 1 1 1
15
After Execution
30H<= 01
31H<= 02
32H<= 03
33H<= 04
34H<= 05
30H<= 01
31H<= 02
32H<= 03
33H<= 04
34H<= 05
Average:
R1<= 03H
Average:
= 01+02+03+04+05
05
= 0F = 03H
05
R1<= 03H
16
17
Result:
Before Execution
After Execution
5000H<= 05H
5001H<= 06H
5002H<= 07H
5003H<= 08H
5004H<= 09H
Even:
30H<= 06H
31H<= 08H
Odd:
20H<= 05H
21H<= 07H
22H<= 09H
5000H<= 05H
5001H<= 06H
5002H<= 07H
5003H<= 08H
5004H<= 09H
05
06
07
08
09
<=
<=
<=
<=
<=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
Even: 06 & 08
Odd: 05, 07 & 09
Even:
30H<= 06H
31H<= 08H
18
Odd:
20H<=05H
21H<= 07H
22H<= 09H
1
0
1
0
1
19
Result:
Before Execution
After Execution
5000H<= FFH
5001H<= 08H
5002H<= 80H
5003H<= 05H
5004H<= 16H
5000H<= FFH
5001H<= 08H
5002H<= 80H
5003H<= 05H
5004H<= 16H
Negative:
30H<= FFH
31H<= 80H
Positive:
20H<= 08H
21H<= 05H
22H<= 16H
FF
08
80
05
16
<=
<=
<=
<=
<=
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
Negative: FF & 80
Positive: 08, 05 & 16
Negative:
30H<= FFH
31H<= 80H
20
Positive:
20H<=08H
21H<= 05H
22H<= 16H
1
0
0
1
0
Method-2:
CPU 8051.TBL
HOF INT8
ORG 6000H
MOV R2, #0AH
MOV R0, #30H
MOV @R0, #00H
DEC R2
INC R0
MOV @R0, #01H
DEC R2
UP: MOV A,@R0
DEC R0
ADD A,@R0
INC R0
INC R0
MOV @R0, A
DJNZ R2, UP
RET
Result:
Before Execution
30H<= 0
31H<= 1
32H<= 1
33H<= 2
34H<= 3
35H<= 5
36H<= 8
37H<= 0D
38H<= 15
39H<= 22
After Execution
30H<= 0
31H<= 1
32H<= 0+1= 1
33H<=1+1= 2
34H<=1+2= 3
35H<= 2+3= 5
36H<=3+5= 8
37H<=5+8= 0D
38H<=8+D= 15
39H<=D+15= 22
21
After Execution
30H<= 05H
30H<= 05H
Factorial:
78H
Factorial:
54321
= (120)10
(120)10 = (78)16
= 78H
22
After Execution
30H<= 0FH
31H<= 0CH
30H<= 0FH
31H<= 0CH
(A+B)(A-B)
(0F+0C)(0F-0C)
= 51H
=> (A+B)(A-B)
(0F+0C) (0F-0C)
(1B) (03)
=51H
23
After Execution
30H<= 02H 31H<= 04H 32H<= 02H
w 2-y/z+y2
=> 22 - 4/2 + 42
=> 4 2 + 10
=> 12H
24
After Execution
30H<=0FH
50H<=01H
31H<=0EH
51H<=02H
32H<=0DH
52H<=03H
33H<=0CH
53H<=04H
34H<=0BH
54H<=05H
INTERCHANGED:
30H<=01H
31H<=02H
32H<=03H
33H<=04H
34H<=05H
INTERCHANGED:
50H<=0FH
51H<=0EH
52H<=0DH
53H<=0CH
54H<=0BH
30H<=01H
31H<=02H
32H<=03H
33H<=04H
34H<=05H
25
50H<=0FH
51H<=0EH
52H<=0DH
53H<=0CH
54H<=0BH
After Execution
ROM (copied)
5000H<=01H
5001H<=03H
5002H<=04H
5003H<=06H
5004H<=0BH
RAM
30H<=01H
31H<=03H
32H<=04H
33H<=06H
34H<=0BH
26
ROM (copied)
5000H<=01H
5001H<=03H
5002H<=04H
5003H<=06H
5004H<=0BH
After Execution
30H<=0FH
5000H<=01H
31H<=0EH
5001H<=02H
32H<=0DH
5002H<=03H
33H<=0CH
5003H<=04H
34H<=0BH
5004H<=05H
INTERCHANGED:
30H<=01H
31H<=02H
32H<=03H
33H<=04H
34H<=05H
INTERCHANGED:
5000H<=0FH
5001H<=0EH
5002H<=0DH
5003H<=0CH
5004H<=0BH
30H<=01H
31H<=02H
32H<=03H
33H<=04H
34H<=05H
27
5000H<=0FH
5001H<=0EH
5002H<=0DH
5003H<=0CH
5004H<=0BH
After Execution
ROM
5000H<=00H
5001H<=00H
5002H<=00H
5003H<=00H
5004H<=00H
5005H<=00H
5006H<=00H
5007H<=00H
5008H<=00H
5009H<=00H
RAM
30H<=00H
31H<=00H
32H<=00H
33H<=00H
34H<=00H
35H<=00H
36H<=00H
37H<=00H
38H<=00H
39H<=00H
28
ROM
5000H<=00H
5001H<=00H
5002H<=00H
5003H<=00H
5004H<=00H
5005H<=00H
5006H<=00H
5007H<=00H
5008H<=00H
5009H<=00H
After Execution
08H
05H
01H
10H
0AH
30H<=08H
31H<=05H
32H<=01H
33H<=10H
34H<=0AH
01H (smallest)
29
After Execution
08H
05H
0AH
10H
01H
30H<=08H
31H<=05H
32H<=0AH
33H<=10H
34H<=01H
0AH (greatest)
30
After Execution
5000H<=08H
5000H<=01H
5001H<=01H
5001H<=02H
5002H<=02H
5002H<=05H
5003H<=09H
5003H<=08H
5004H<=05H
5004H<=09H
31
After Execution
5000H<=08H
5000H<=09H
5001H<=01H
5001H<=08H
5002H<=02H
5002H<=05H
5003H<=09H
5003H<=02H
5004H<=05H
5004H<=01H
32
CPU 8051.TBL
HOF INT8
ORG 6000H
MOV A, R0
MOV 0F0H, #10H
DIV AB
MOV R1, A
MOV R2, 0F0H
RET
CPU 8051.TBL
HOF INT8
ORG 6000H
MOV A, R0
ANL A, #0FH
MOV R6, A
MOV A, R0
ANL A, #0F0H
SWAP A
MOV R1, A
MOV A, R6
MOV R2, A
RET
Result:
Before Execution
After Execution
85H
R0<= 85H
08H
R1<= 08H
R2<= 05H
05H
33
Method-2:
CPU 8051.TBL
HOF INT8
ORG 6000H
MOV A, R0
MOV 0F0H, #10H
MUL AB
ADD A, R1
MOV R2, A
RET
CPU 8051.TBL
HOF INT8
ORG 6000H
MOV A, R0
SWAP A
ADD A, R1
MOV R2, A
RET
Result:
Before Execution
After Execution
08H
05H
R0<= 08H
R1<= 05H
85H
34
After Execution
5000H<= 08H
5000H<= 08H
5001H<= 38H
35
Result:
Before Execution
After Execution
5000H<= 38H
5000H<= 38H
5001H<= 08H
36
Result:
Before Execution
After Execution
50H<= 38H
50H<= 38H
51H<= 08H
37
Result:
Before Execution
After Execution
20H<= 20H
20H<= 20H
R0<= 14H
R0<= 14H
38
Result:
Before Execution
After Execution
FFH
30H<= 0FFH
255
31H<= 02H
32H<= 05H
33H<= 05H
(FF)16= (255)10
39
After Execution
00
01
02
03
FC
FC
FD
FD
FE
FE
FF
FF
40
After Execution
FF
FE
FD
FC
.
.
.
04
04
03
03
02
02
01
01
00
00
41
After Execution
25
26
27
28
.
.
.
47
47
48
48
49
49
50
50
42
After Execution
99
98
97
96
.
.
.
1
43
After Execution
00
01
02
03
.
.
.
96
96
97
97
98
98
99
99
44
45
Result:
Before Execution
00
01
02
03
After Execution
00
01
02
03
.
.
.
.
.
.
96
97
98
99
99
98
97
96
.
.
.
96
97
98
99
99
98
97
96
.
.
.
04
04
03
03
02
02
01
01
00
00
46