├── Code
├── Code Vision
│ ├── Project3-1
│ │ ├── proj3-1.txt
│ │ ├── Debug
│ │ │ ├── proj3-1.str1
│ │ │ ├── proj3-1.sym3
│ │ │ ├── proj3-1.sym2
│ │ │ ├── proj3-1.cof
│ │ │ ├── proj3-1.obj
│ │ │ ├── proj3-1.sym1
│ │ │ ├── Link
│ │ │ │ ├── proj3-1.o
│ │ │ │ └── proj3-1.a
│ │ │ ├── Exe
│ │ │ │ ├── proj3-1.hex
│ │ │ │ └── proj3-1.rom
│ │ │ └── List
│ │ │ │ ├── proj3-1.map
│ │ │ │ └── proj3-1.asm
│ │ ├── proj3-1.fct
│ │ ├── proj3-1.cof
│ │ ├── proj3-1.cci
│ │ ├── proj3-1.c
│ │ ├── proj3-1.c~
│ │ ├── proj3-1.atsln
│ │ ├── proj3-1.cproj
│ │ ├── proj3-1.prj~
│ │ └── proj3-1.prj
│ └── Project3-2
│ │ ├── proj3-2.txt
│ │ ├── Debug
│ │ ├── proj3-2.str1
│ │ ├── proj3-2.sym3
│ │ ├── proj3-2.sym2
│ │ ├── proj3-2.cof
│ │ ├── proj3-2.obj
│ │ ├── proj3-2.sym1
│ │ ├── Link
│ │ │ ├── proj3-2.o
│ │ │ └── proj3-2.a
│ │ ├── List
│ │ │ ├── proj3-2.map
│ │ │ └── proj3-2.asm
│ │ └── Exe
│ │ │ ├── proj3-2.hex
│ │ │ └── proj3-2.rom
│ │ ├── proj3-2.fct
│ │ ├── proj3-2.cof
│ │ ├── proj3-2.cci
│ │ ├── proj3-2.atsln
│ │ ├── proj3-2.cproj
│ │ ├── proj3-2.c~
│ │ ├── proj3-2.c
│ │ ├── proj3-2.prj~
│ │ └── proj3-2.prj
└── Proteus
│ └── Project3
│ ├── proj3.pdsprj
│ ├── Project Backups
│ ├── proj3 [Autosaved].pdsprj
│ ├── proj3 [20230313, 10-55-40].pdsprj
│ └── proj3 [20230313, 11-56-11].pdsprj
│ └── proj3.pdsprj.DESKTOP-B0J1FTO.Ahmad.workspace
├── Pictures
├── 1.png
├── 2.png
└── 3.png
├── README.md
└── LICENSE
/Code/Code Vision/Project3-1/proj3-1.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/proj3-1.str1:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/proj3-2.str1:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/proj3-1.sym3:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/proj3-2.sym3:
--------------------------------------------------------------------------------
1 | {
--------------------------------------------------------------------------------
/Pictures/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Pictures/1.png
--------------------------------------------------------------------------------
/Pictures/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Pictures/2.png
--------------------------------------------------------------------------------
/Pictures/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Pictures/3.png
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.fct:
--------------------------------------------------------------------------------
1 | main DSTACK_USAGE:0 DSTACK_LEVEL:0 FILE:"proj3-1.c" LINE:5
2 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.fct:
--------------------------------------------------------------------------------
1 | main DSTACK_USAGE:0 DSTACK_LEVEL:0 FILE:"proj3-2.c" LINE:5
2 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/proj3-1.sym2:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/proj3-2.sym2:
--------------------------------------------------------------------------------
1 | ~ ~
--------------------------------------------------------------------------------
/Code/Proteus/Project3/proj3.pdsprj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Proteus/Project3/proj3.pdsprj
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.cof:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-1/proj3-1.cof
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.cof:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-2/proj3-2.cof
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/proj3-1.cof:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-1/Debug/proj3-1.cof
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/proj3-1.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-1/Debug/proj3-1.obj
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/proj3-1.sym1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-1/Debug/proj3-1.sym1
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/proj3-2.cof:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-2/Debug/proj3-2.cof
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/proj3-2.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-2/Debug/proj3-2.obj
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/proj3-2.sym1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-2/Debug/proj3-2.sym1
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/Link/proj3-1.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-1/Debug/Link/proj3-1.o
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/Link/proj3-2.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Code Vision/Project3-2/Debug/Link/proj3-2.o
--------------------------------------------------------------------------------
/Code/Proteus/Project3/Project Backups/proj3 [Autosaved].pdsprj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Proteus/Project3/Project Backups/proj3 [Autosaved].pdsprj
--------------------------------------------------------------------------------
/Code/Proteus/Project3/Project Backups/proj3 [20230313, 10-55-40].pdsprj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Proteus/Project3/Project Backups/proj3 [20230313, 10-55-40].pdsprj
--------------------------------------------------------------------------------
/Code/Proteus/Project3/Project Backups/proj3 [20230313, 11-56-11].pdsprj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AsadiAhmad/Switch-Matrix/HEAD/Code/Proteus/Project3/Project Backups/proj3 [20230313, 11-56-11].pdsprj
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Switch-Matrix
2 | Switch Matrix with C language and AtMega32 MicroProcessor
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.cci:
--------------------------------------------------------------------------------
1 | VERSION:3 SOURCE_TIMESTAMP:566D5B48
2 | NODE:I LEVEL:0 LINE:2 "D:\Programming\CodeVision\Application\inc\mega32.h"
3 | NODE:I LEVEL:0 LINE:3 "D:\Programming\CodeVision\Application\inc\delay.h"
4 | NODE:F LEVEL:0 LINE:5 "main(void)"
5 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.cci:
--------------------------------------------------------------------------------
1 | VERSION:3 SOURCE_TIMESTAMP:566D5EB4
2 | NODE:I LEVEL:0 LINE:2 "D:\Programming\CodeVision\Application\inc\mega32.h"
3 | NODE:I LEVEL:0 LINE:3 "D:\Programming\CodeVision\Application\inc\delay.h"
4 | NODE:F LEVEL:0 LINE:5 "main(void)"
5 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.c:
--------------------------------------------------------------------------------
1 | // Ahmad 99463107 and mohammad mehdi 99463108
2 | #include
3 | #include
4 |
5 | void main(void){
6 | DDRA = 0b11111111;
7 | DDRB = 0b11111111;
8 | while (1){
9 | PORTA = 0b11111110;
10 | PORTB = 0b10111101;
11 | PORTB = 0b11111111;
12 | PORTA = 0b00010001;
13 | PORTB = 0b11000011;
14 | PORTB = 0b11111111;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.c~:
--------------------------------------------------------------------------------
1 | // Ahmad 99463107 and mohammad mehdi 99463108
2 | #include
3 | #include
4 |
5 | void main(void){
6 | DDRA = 0b11111111;
7 | DDRB = 0b11111111;
8 | while (1){
9 | PORTA = 0b11111110;
10 | PORTB = 0b10111101;
11 | PORTB = 0b11111111;
12 | PORTA = 0b00010001;
13 | PORTB = 0b11000011;
14 | PORTB = 0b11111111;
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/Exe/proj3-1.hex:
--------------------------------------------------------------------------------
1 | :0C0000000C942A000C9400000C940000EA
2 | :10000C000C9400000C9400000C9400000C94000064
3 | :10001C000C9400000C9400000C9400000C94000054
4 | :10002C000C9400000C9400000C9400000C94000044
5 | :10003C000C9400000C9400000C9400000C94000034
6 | :10004C000C9400000C940000F894EE27ECBBF1E04B
7 | :10005C00FBBFEBBFE5BF8DE0A2E0BB27ED938A951C
8 | :10006C00E9F780E098E0A0E6ED930197E9F7EFE57A
9 | :10007C00EDBFE8E0EEBFC0E6D2E00C944500EFEF38
10 | :10008C00EABBE7BBEEEFEBBBEDEBE8BBEFEFE8BB9E
11 | :10009C00E1E1EBBBE3ECE8BBEFEFE8BBF3CFFFCF69
12 | :00000001FF
13 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.atsln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Atmel Studio Solution File, Format Version 11.00
3 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "proj3-1", "proj3-1.cproj", "{FACA1DBF-423D-497C-A76A-A46C3F34E8A0}"
4 | EndProject
5 | Global
6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 | Debug|AVR = Debug|AVR
8 | Release|AVR = Release|AVR
9 | EndGlobalSection
10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
11 | {FACA1DBF-423D-497C-A76A-A46C3F34E8A0}.Debug|AVR.ActiveCfg = Debug|AVR
12 | {FACA1DBF-423D-497C-A76A-A46C3F34E8A0}.Debug|AVR.Build.0 = Debug|AVR
13 | {FACA1DBF-423D-497C-A76A-A46C3F34E8A0}.Release|AVR.ActiveCfg = Release|AVR
14 | {FACA1DBF-423D-497C-A76A-A46C3F34E8A0}.Release|AVR.Build.0 = Release|AVR
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | EndGlobal
20 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.atsln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Atmel Studio Solution File, Format Version 11.00
3 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "proj3-2", "proj3-2.cproj", "{45128C01-423D-497C-A76A-A46C3F34E8A0}"
4 | EndProject
5 | Global
6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 | Debug|AVR = Debug|AVR
8 | Release|AVR = Release|AVR
9 | EndGlobalSection
10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
11 | {45128C01-423D-497C-A76A-A46C3F34E8A0}.Debug|AVR.ActiveCfg = Debug|AVR
12 | {45128C01-423D-497C-A76A-A46C3F34E8A0}.Debug|AVR.Build.0 = Debug|AVR
13 | {45128C01-423D-497C-A76A-A46C3F34E8A0}.Release|AVR.ActiveCfg = Release|AVR
14 | {45128C01-423D-497C-A76A-A46C3F34E8A0}.Release|AVR.Build.0 = Release|AVR
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | EndGlobal
20 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/List/proj3-1.map:
--------------------------------------------------------------------------------
1 | RAM Allocation [bytes]
2 | Variable Address Size
3 | ------------------------------------------------------------------------------------------------
4 |
5 | EEPROM Allocation [bytes]
6 | Variable Address Size
7 | ------------------------------------------------------------------------------------------------
8 |
9 | Register Allocation
10 | Variable Register Size
11 | ------------------------------------------------------------------------------------------------
12 |
13 | FLASH Allocation [words]
14 | Function Address Size
15 | ------------------------------------------------------------------------------------------------
16 | main 0x00045 17
17 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/List/proj3-2.map:
--------------------------------------------------------------------------------
1 | RAM Allocation [bytes]
2 | Variable Address Size
3 | ------------------------------------------------------------------------------------------------
4 |
5 | EEPROM Allocation [bytes]
6 | Variable Address Size
7 | ------------------------------------------------------------------------------------------------
8 |
9 | Register Allocation
10 | Variable Register Size
11 | ------------------------------------------------------------------------------------------------
12 |
13 | FLASH Allocation [words]
14 | Function Address Size
15 | ------------------------------------------------------------------------------------------------
16 | main 0x00045 216
17 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Ahmad Asadi
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/Exe/proj3-1.rom:
--------------------------------------------------------------------------------
1 | 000000:940C
2 | 000001:002A
3 | 000002:940C
4 | 000003:0000
5 | 000004:940C
6 | 000005:0000
7 | 000006:940C
8 | 000007:0000
9 | 000008:940C
10 | 000009:0000
11 | 00000A:940C
12 | 00000B:0000
13 | 00000C:940C
14 | 00000D:0000
15 | 00000E:940C
16 | 00000F:0000
17 | 000010:940C
18 | 000011:0000
19 | 000012:940C
20 | 000013:0000
21 | 000014:940C
22 | 000015:0000
23 | 000016:940C
24 | 000017:0000
25 | 000018:940C
26 | 000019:0000
27 | 00001A:940C
28 | 00001B:0000
29 | 00001C:940C
30 | 00001D:0000
31 | 00001E:940C
32 | 00001F:0000
33 | 000020:940C
34 | 000021:0000
35 | 000022:940C
36 | 000023:0000
37 | 000024:940C
38 | 000025:0000
39 | 000026:940C
40 | 000027:0000
41 | 000028:940C
42 | 000029:0000
43 | 00002A:94F8
44 | 00002B:27EE
45 | 00002C:BBEC
46 | 00002D:E0F1
47 | 00002E:BFFB
48 | 00002F:BFEB
49 | 000030:BFE5
50 | 000031:E08D
51 | 000032:E0A2
52 | 000033:27BB
53 | 000034:93ED
54 | 000035:958A
55 | 000036:F7E9
56 | 000037:E080
57 | 000038:E098
58 | 000039:E6A0
59 | 00003A:93ED
60 | 00003B:9701
61 | 00003C:F7E9
62 | 00003D:E5EF
63 | 00003E:BFED
64 | 00003F:E0E8
65 | 000040:BFEE
66 | 000041:E6C0
67 | 000042:E0D2
68 | 000043:940C
69 | 000044:0045
70 | 000045:EFEF
71 | 000046:BBEA
72 | 000047:BBE7
73 | 000048:EFEE
74 | 000049:BBEB
75 | 00004A:EBED
76 | 00004B:BBE8
77 | 00004C:EFEF
78 | 00004D:BBE8
79 | 00004E:E1E1
80 | 00004F:BBEB
81 | 000050:ECE3
82 | 000051:BBE8
83 | 000052:EFEF
84 | 000053:BBE8
85 | 000054:CFF3
86 | 000055:CFFF
87 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.cproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 2.0
5 | 6.1
6 | com.HPInfoTech.CodeVisionAVR.C
7 | {FACA1DBF-423D-497C-A76A-A46C3F34E8A0}
8 | ATmega32
9 | none
10 | Executable
11 | C
12 | $(MSBuildProjectName)
13 | .cof
14 | $(MSBuildProjectDirectory)\$(Configuration)
15 | proj3-1
16 | proj3-1
17 | proj3-1
18 | Native
19 | true
20 | false
21 |
22 | 0
23 |
24 |
25 |
26 |
27 | "proj3-1.prj"
28 |
29 |
30 |
31 |
32 |
33 |
34 | "proj3-1.prj"
35 |
36 |
37 |
38 |
39 |
40 | compile
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.cproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 2.0
5 | 6.1
6 | com.HPInfoTech.CodeVisionAVR.C
7 | {45128C01-423D-497C-A76A-A46C3F34E8A0}
8 | ATmega32
9 | none
10 | Executable
11 | C
12 | $(MSBuildProjectName)
13 | .cof
14 | $(MSBuildProjectDirectory)\$(Configuration)
15 | proj3-2
16 | proj3-2
17 | proj3-2
18 | Native
19 | true
20 | false
21 |
22 | 0
23 |
24 |
25 |
26 |
27 | "proj3-2.prj"
28 |
29 |
30 |
31 |
32 |
33 |
34 | "proj3-2.prj"
35 |
36 |
37 |
38 |
39 |
40 | compile
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/Exe/proj3-2.hex:
--------------------------------------------------------------------------------
1 | :100000000C942A000C9400000C9400000C94000046
2 | :100010000C9400000C9400000C9400000C94000060
3 | :100020000C9400000C9400000C9400000C94000050
4 | :100030000C9400000C9400000C9400000C94000040
5 | :100040000C9400000C9400000C9400000C94000030
6 | :100050000C940000F894EE27ECBBF1E0FBBFEBBF83
7 | :10006000E5BF8DE0A2E0BB27ED938A95E9F780E03C
8 | :1000700098E0A0E6ED930197E9F7EFE5EDBFE8E042
9 | :10008000EEBFC0E6D2E00C944500EFEFEABBE7BB61
10 | :1000900008E813E10024001601062CF4EEEFCDD0A1
11 | :1000A00001501040F7CF08E813E1002400160106C4
12 | :1000B00044F4EEEFEBBBEDEFC8D0BFD001501040E1
13 | :1000C000F4CF08E813E100240016010654F4EEEF23
14 | :1000D000EBBBEBEFBAD0EBBBECEFBCD00150104068
15 | :1000E000F2CF08E813E100240016010654F4EEEF05
16 | :1000F000EBBBE7EFAAD0EBBBE8EFACD00150104070
17 | :10010000F2CF08E813E100240016010654F4EEEFE4
18 | :10011000EBBBEFEE9AD0EBBBE0EF9CD00150104070
19 | :10012000F2CF08E813E100240016010654F4EEEFC4
20 | :10013000EBBBEEED8AD0EBBBE1EE8CD00150104072
21 | :10014000F2CF08E813E100240016010654F4EEEFA4
22 | :10015000EBBBEDEB7AD0EBBBE3EC7CD00150104075
23 | :10016000F2CF08E813E100240016010654F4EEEF84
24 | :10017000EBBBEBE76AD0EBBBE7E86CD0015010407B
25 | :10018000F2CF08E813E100240016010654F4EEEF64
26 | :10019000EBBBE7EF5AD0EBBBEFE05CD00150104077
27 | :1001A000F2CF08E813E100240016010654F4EEEF44
28 | :1001B000EBBBEFEE4AD0EBBBEFE14CD0015010406F
29 | :1001C000F2CF08E813E100240016010654F4EEEF24
30 | :1001D000EBBBEFED3AD0EBBBEFE33CD0015010406E
31 | :1001E000F2CF08E813E100240016010654F4EEEF04
32 | :1001F000EBBBEFEB2AD0EBBBEFE72CD0015010406C
33 | :10020000F2CF08E813E10024001601063CF4EEEFFB
34 | :10021000EBBBEFE71FD001501040F5CF08E813E12A
35 | :100220000024001601063CF4E0E0EBBBEFEFE8BB76
36 | :1002300001501040F5CF2CCFFFCFEBBBEEEFE8BB6A
37 | :10024000E0E0EBBBEFEFE8BB0895E8BBEFEFE8BB06
38 | :10025000E1E10895E8BBE0E0EBBBEFEFE8BB089518
39 | :00000001FF
40 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/Link/proj3-1.a:
--------------------------------------------------------------------------------
1 | ;// Ahmad 99463107 and mohammad mehdi 99463108
2 | ;#include
3 | ;PCODE: $00000000 VOL: 0
4 | #ifndef __SLEEP_DEFINED__
5 | ;PCODE: $00000001 VOL: 0
6 | #define __SLEEP_DEFINED__
7 | ;PCODE: $00000002 VOL: 0
8 | .EQU __se_bit=0x80
9 | ;PCODE: $00000003 VOL: 0
10 | .EQU __sm_mask=0x70
11 | ;PCODE: $00000004 VOL: 0
12 | .EQU __sm_powerdown=0x20
13 | ;PCODE: $00000005 VOL: 0
14 | .EQU __sm_powersave=0x30
15 | ;PCODE: $00000006 VOL: 0
16 | .EQU __sm_standby=0x60
17 | ;PCODE: $00000007 VOL: 0
18 | .EQU __sm_ext_standby=0x70
19 | ;PCODE: $00000008 VOL: 0
20 | .EQU __sm_adc_noise_red=0x10
21 | ;PCODE: $00000009 VOL: 0
22 | .SET power_ctrl_reg=mcucr
23 | ;PCODE: $0000000A VOL: 0
24 | #endif
25 | ;PCODE: $0000000B VOL: 0
26 | ;PCODE: $0000000C VOL: 0
27 | ;#include
28 | ;
29 | ;void main(void){
30 | ; 0000 0005 void main(void){
31 |
32 | .CSEG
33 | ;PCODE: $0000000D VOL: 0
34 | ; 0000 0006 DDRA = 0b11111111;
35 | ;PCODE: $0000000E VOL: 0
36 | ;PCODE: $0000000F VOL: 0
37 | ; 0000 0007 DDRB = 0b11111111;
38 | ;PCODE: $00000010 VOL: 0
39 | ;PCODE: $00000011 VOL: 0
40 | ; 0000 0008 while (1){
41 | ;PCODE: $00000012 VOL: 0
42 | ; 0000 0009 PORTA = 0b11111110;
43 | ;PCODE: $00000013 VOL: 0
44 | ;PCODE: $00000014 VOL: 0
45 | ; 0000 000A PORTB = 0b10111101;
46 | ;PCODE: $00000015 VOL: 0
47 | ;PCODE: $00000016 VOL: 0
48 | ; 0000 000B PORTB = 0b11111111;
49 | ;PCODE: $00000017 VOL: 0
50 | ;PCODE: $00000018 VOL: 0
51 | ; 0000 000C PORTA = 0b00010001;
52 | ;PCODE: $00000019 VOL: 0
53 | ;PCODE: $0000001A VOL: 0
54 | ; 0000 000D PORTB = 0b11000011;
55 | ;PCODE: $0000001B VOL: 0
56 | ;PCODE: $0000001C VOL: 0
57 | ; 0000 000E PORTB = 0b11111111;
58 | ;PCODE: $0000001D VOL: 0
59 | ;PCODE: $0000001E VOL: 0
60 | ; 0000 000F
61 | ; 0000 0010 }
62 | ;PCODE: $0000001F VOL: 0
63 | ;PCODE: $00000020 VOL: 0
64 | ; 0000 0011 }
65 | ;PCODE: $00000021 VOL: 0
66 | ;PCODE: $00000022 VOL: 0
67 | ;PCODE: $00000023 VOL: 0
68 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.c~:
--------------------------------------------------------------------------------
1 | // Ahmad 99463107 and mohammad mehdi 99463108
2 | #include
3 | #include
4 |
5 | void main(void){
6 | int i;
7 | DDRA = 0b11111111;
8 | DDRB = 0b11111111;
9 | while (1){
10 | for (i = 5000; i > 0; i--) {
11 | PORTA = 0b11111110;
12 | PORTB = 0b11111110;
13 | PORTA = 0b00000000;
14 | PORTB = 0b11111111;
15 | }
16 | for (i = 5000; i > 0; i--) {
17 | PORTA = 0b11111110;
18 | PORTB = 0b11111101;
19 | PORTB = 0b11111111;
20 | PORTA = 0b00010001;
21 | PORTB = 0b11111110;
22 | PORTA = 0b00000000;
23 | PORTB = 0b11111111;
24 | }
25 | for (i = 5000; i > 0; i--) {
26 | PORTA = 0b11111110;
27 | PORTB = 0b11111011;
28 | PORTB = 0b11111111;
29 | PORTA = 0b00010001;
30 | PORTB = 0b11111100;
31 | PORTA = 0b00000000;
32 | PORTB = 0b11111111;
33 | }
34 | for (i = 5000; i > 0; i--) {
35 | PORTA = 0b11111110;
36 | PORTB = 0b11110111;
37 | PORTB = 0b11111111;
38 | PORTA = 0b00010001;
39 | PORTB = 0b11111000;
40 | PORTA = 0b00000000;
41 | PORTB = 0b11111111;
42 | }
43 | for (i = 5000; i > 0; i--) {
44 | PORTA = 0b11111110;
45 | PORTB = 0b11101111;
46 | PORTB = 0b11111111;
47 | PORTA = 0b00010001;
48 | PORTB = 0b11110000;
49 | PORTA = 0b00000000;
50 | PORTB = 0b11111111;
51 | }
52 | for (i = 5000; i > 0; i--) {
53 | PORTA = 0b11111110;
54 | PORTB = 0b11011110;
55 | PORTB = 0b11111111;
56 | PORTA = 0b00010001;
57 | PORTB = 0b11100001;
58 | PORTA = 0b00000000;
59 | PORTB = 0b11111111;
60 | }
61 | for (i = 5000; i > 0; i--) {
62 | PORTA = 0b11111110;
63 | PORTB = 0b10111101;
64 | PORTB = 0b11111111;
65 | PORTA = 0b00010001;
66 | PORTB = 0b11000011;
67 | PORTA = 0b00000000;
68 | PORTB = 0b11111111;
69 | }
70 | for (i = 5000; i > 0; i--) {
71 | PORTA = 0b11111110;
72 | PORTB = 0b01111011;
73 | PORTB = 0b11111111;
74 | PORTA = 0b00010001;
75 | PORTB = 0b10000111;
76 | PORTA = 0b00000000;
77 | PORTB = 0b11111111;
78 | }
79 | for (i = 5000; i > 0; i--) {
80 | PORTA = 0b11111110;
81 | PORTB = 0b11110111;
82 | PORTB = 0b11111111;
83 | PORTA = 0b00010001;
84 | PORTB = 0b00001111;
85 | PORTB = 0b11111111;
86 | }
87 | for (i = 5000; i > 0; i--) {
88 | PORTA = 0b11111110;
89 | PORTB = 0b11101111;
90 | PORTB = 0b11111111;
91 | PORTA = 0b00010001;
92 | PORTB = 0b00011111;
93 | PORTA = 0b00000000;
94 | PORTB = 0b11111111;
95 | }
96 | for (i = 5000; i > 0; i--) {
97 | PORTA = 0b11111110;
98 | PORTB = 0b11011111;
99 | PORTB = 0b11111111;
100 | PORTA = 0b00010001;
101 | PORTB = 0b00111111;
102 | PORTA = 0b00000000;
103 | PORTB = 0b11111111;
104 | }
105 | for (i = 5000; i > 0; i--) {
106 | PORTA = 0b11111110;
107 | PORTB = 0b10111111;
108 | PORTB = 0b11111111;
109 | PORTA = 0b00010001;
110 | PORTB = 0b01111111;
111 | PORTA = 0b00000000;
112 | PORTB = 0b11111111;
113 | }
114 | for (i = 5000; i > 0; i--) {
115 | PORTA = 0b11111110;
116 | PORTB = 0b01111111;
117 | PORTA = 0b00000000;
118 | PORTB = 0b11111111;
119 | }
120 | for (i = 5000; i > 0; i--) {
121 | PORTA = 0b00000000;
122 | PORTB = 0b11111111;
123 | }
124 | }
125 | }
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.c:
--------------------------------------------------------------------------------
1 | // Ahmad 99463107 and mohammad mehdi 99463108
2 | #include
3 | #include
4 |
5 | void main(void){
6 | int i;
7 | DDRA = 0b11111111;
8 | DDRB = 0b11111111;
9 | while (1){
10 | for (i = 5000; i > 0; i--) {
11 | PORTA = 0b11111110;
12 | PORTB = 0b11111110;
13 | PORTA = 0b00000000;
14 | PORTB = 0b11111111;
15 | }
16 | for (i = 5000; i > 0; i--) {
17 | PORTA = 0b11111110;
18 | PORTB = 0b11111101;
19 | PORTB = 0b11111111;
20 | PORTA = 0b00010001;
21 | PORTB = 0b11111110;
22 | PORTA = 0b00000000;
23 | PORTB = 0b11111111;
24 | }
25 | for (i = 5000; i > 0; i--) {
26 | PORTA = 0b11111110;
27 | PORTB = 0b11111011;
28 | PORTB = 0b11111111;
29 | PORTA = 0b00010001;
30 | PORTB = 0b11111100;
31 | PORTA = 0b00000000;
32 | PORTB = 0b11111111;
33 | }
34 | for (i = 5000; i > 0; i--) {
35 | PORTA = 0b11111110;
36 | PORTB = 0b11110111;
37 | PORTB = 0b11111111;
38 | PORTA = 0b00010001;
39 | PORTB = 0b11111000;
40 | PORTA = 0b00000000;
41 | PORTB = 0b11111111;
42 | }
43 | for (i = 5000; i > 0; i--) {
44 | PORTA = 0b11111110;
45 | PORTB = 0b11101111;
46 | PORTB = 0b11111111;
47 | PORTA = 0b00010001;
48 | PORTB = 0b11110000;
49 | PORTA = 0b00000000;
50 | PORTB = 0b11111111;
51 | }
52 | for (i = 5000; i > 0; i--) {
53 | PORTA = 0b11111110;
54 | PORTB = 0b11011110;
55 | PORTB = 0b11111111;
56 | PORTA = 0b00010001;
57 | PORTB = 0b11100001;
58 | PORTA = 0b00000000;
59 | PORTB = 0b11111111;
60 | }
61 | for (i = 5000; i > 0; i--) {
62 | PORTA = 0b11111110;
63 | PORTB = 0b10111101;
64 | PORTB = 0b11111111;
65 | PORTA = 0b00010001;
66 | PORTB = 0b11000011;
67 | PORTA = 0b00000000;
68 | PORTB = 0b11111111;
69 | }
70 | for (i = 5000; i > 0; i--) {
71 | PORTA = 0b11111110;
72 | PORTB = 0b01111011;
73 | PORTB = 0b11111111;
74 | PORTA = 0b00010001;
75 | PORTB = 0b10000111;
76 | PORTA = 0b00000000;
77 | PORTB = 0b11111111;
78 | }
79 | for (i = 5000; i > 0; i--) {
80 | PORTA = 0b11111110;
81 | PORTB = 0b11110111;
82 | PORTB = 0b11111111;
83 | PORTA = 0b00010001;
84 | PORTB = 0b00001111;
85 | PORTA = 0b00000000;
86 | PORTB = 0b11111111;
87 | }
88 | for (i = 5000; i > 0; i--) {
89 | PORTA = 0b11111110;
90 | PORTB = 0b11101111;
91 | PORTB = 0b11111111;
92 | PORTA = 0b00010001;
93 | PORTB = 0b00011111;
94 | PORTA = 0b00000000;
95 | PORTB = 0b11111111;
96 | }
97 | for (i = 5000; i > 0; i--) {
98 | PORTA = 0b11111110;
99 | PORTB = 0b11011111;
100 | PORTB = 0b11111111;
101 | PORTA = 0b00010001;
102 | PORTB = 0b00111111;
103 | PORTA = 0b00000000;
104 | PORTB = 0b11111111;
105 | }
106 | for (i = 5000; i > 0; i--) {
107 | PORTA = 0b11111110;
108 | PORTB = 0b10111111;
109 | PORTB = 0b11111111;
110 | PORTA = 0b00010001;
111 | PORTB = 0b01111111;
112 | PORTA = 0b00000000;
113 | PORTB = 0b11111111;
114 | }
115 | for (i = 5000; i > 0; i--) {
116 | PORTA = 0b11111110;
117 | PORTB = 0b01111111;
118 | PORTA = 0b00000000;
119 | PORTB = 0b11111111;
120 | }
121 | for (i = 5000; i > 0; i--) {
122 | PORTA = 0b00000000;
123 | PORTB = 0b11111111;
124 | }
125 | }
126 | }
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/Exe/proj3-2.rom:
--------------------------------------------------------------------------------
1 | 000000:940C
2 | 000001:002A
3 | 000002:940C
4 | 000003:0000
5 | 000004:940C
6 | 000005:0000
7 | 000006:940C
8 | 000007:0000
9 | 000008:940C
10 | 000009:0000
11 | 00000A:940C
12 | 00000B:0000
13 | 00000C:940C
14 | 00000D:0000
15 | 00000E:940C
16 | 00000F:0000
17 | 000010:940C
18 | 000011:0000
19 | 000012:940C
20 | 000013:0000
21 | 000014:940C
22 | 000015:0000
23 | 000016:940C
24 | 000017:0000
25 | 000018:940C
26 | 000019:0000
27 | 00001A:940C
28 | 00001B:0000
29 | 00001C:940C
30 | 00001D:0000
31 | 00001E:940C
32 | 00001F:0000
33 | 000020:940C
34 | 000021:0000
35 | 000022:940C
36 | 000023:0000
37 | 000024:940C
38 | 000025:0000
39 | 000026:940C
40 | 000027:0000
41 | 000028:940C
42 | 000029:0000
43 | 00002A:94F8
44 | 00002B:27EE
45 | 00002C:BBEC
46 | 00002D:E0F1
47 | 00002E:BFFB
48 | 00002F:BFEB
49 | 000030:BFE5
50 | 000031:E08D
51 | 000032:E0A2
52 | 000033:27BB
53 | 000034:93ED
54 | 000035:958A
55 | 000036:F7E9
56 | 000037:E080
57 | 000038:E098
58 | 000039:E6A0
59 | 00003A:93ED
60 | 00003B:9701
61 | 00003C:F7E9
62 | 00003D:E5EF
63 | 00003E:BFED
64 | 00003F:E0E8
65 | 000040:BFEE
66 | 000041:E6C0
67 | 000042:E0D2
68 | 000043:940C
69 | 000044:0045
70 | 000045:EFEF
71 | 000046:BBEA
72 | 000047:BBE7
73 | 000048:E808
74 | 000049:E113
75 | 00004A:2400
76 | 00004B:1600
77 | 00004C:0601
78 | 00004D:F42C
79 | 00004E:EFEE
80 | 00004F:D0CD
81 | 000050:5001
82 | 000051:4010
83 | 000052:CFF7
84 | 000053:E808
85 | 000054:E113
86 | 000055:2400
87 | 000056:1600
88 | 000057:0601
89 | 000058:F444
90 | 000059:EFEE
91 | 00005A:BBEB
92 | 00005B:EFED
93 | 00005C:D0C8
94 | 00005D:D0BF
95 | 00005E:5001
96 | 00005F:4010
97 | 000060:CFF4
98 | 000061:E808
99 | 000062:E113
100 | 000063:2400
101 | 000064:1600
102 | 000065:0601
103 | 000066:F454
104 | 000067:EFEE
105 | 000068:BBEB
106 | 000069:EFEB
107 | 00006A:D0BA
108 | 00006B:BBEB
109 | 00006C:EFEC
110 | 00006D:D0BC
111 | 00006E:5001
112 | 00006F:4010
113 | 000070:CFF2
114 | 000071:E808
115 | 000072:E113
116 | 000073:2400
117 | 000074:1600
118 | 000075:0601
119 | 000076:F454
120 | 000077:EFEE
121 | 000078:BBEB
122 | 000079:EFE7
123 | 00007A:D0AA
124 | 00007B:BBEB
125 | 00007C:EFE8
126 | 00007D:D0AC
127 | 00007E:5001
128 | 00007F:4010
129 | 000080:CFF2
130 | 000081:E808
131 | 000082:E113
132 | 000083:2400
133 | 000084:1600
134 | 000085:0601
135 | 000086:F454
136 | 000087:EFEE
137 | 000088:BBEB
138 | 000089:EEEF
139 | 00008A:D09A
140 | 00008B:BBEB
141 | 00008C:EFE0
142 | 00008D:D09C
143 | 00008E:5001
144 | 00008F:4010
145 | 000090:CFF2
146 | 000091:E808
147 | 000092:E113
148 | 000093:2400
149 | 000094:1600
150 | 000095:0601
151 | 000096:F454
152 | 000097:EFEE
153 | 000098:BBEB
154 | 000099:EDEE
155 | 00009A:D08A
156 | 00009B:BBEB
157 | 00009C:EEE1
158 | 00009D:D08C
159 | 00009E:5001
160 | 00009F:4010
161 | 0000A0:CFF2
162 | 0000A1:E808
163 | 0000A2:E113
164 | 0000A3:2400
165 | 0000A4:1600
166 | 0000A5:0601
167 | 0000A6:F454
168 | 0000A7:EFEE
169 | 0000A8:BBEB
170 | 0000A9:EBED
171 | 0000AA:D07A
172 | 0000AB:BBEB
173 | 0000AC:ECE3
174 | 0000AD:D07C
175 | 0000AE:5001
176 | 0000AF:4010
177 | 0000B0:CFF2
178 | 0000B1:E808
179 | 0000B2:E113
180 | 0000B3:2400
181 | 0000B4:1600
182 | 0000B5:0601
183 | 0000B6:F454
184 | 0000B7:EFEE
185 | 0000B8:BBEB
186 | 0000B9:E7EB
187 | 0000BA:D06A
188 | 0000BB:BBEB
189 | 0000BC:E8E7
190 | 0000BD:D06C
191 | 0000BE:5001
192 | 0000BF:4010
193 | 0000C0:CFF2
194 | 0000C1:E808
195 | 0000C2:E113
196 | 0000C3:2400
197 | 0000C4:1600
198 | 0000C5:0601
199 | 0000C6:F454
200 | 0000C7:EFEE
201 | 0000C8:BBEB
202 | 0000C9:EFE7
203 | 0000CA:D05A
204 | 0000CB:BBEB
205 | 0000CC:E0EF
206 | 0000CD:D05C
207 | 0000CE:5001
208 | 0000CF:4010
209 | 0000D0:CFF2
210 | 0000D1:E808
211 | 0000D2:E113
212 | 0000D3:2400
213 | 0000D4:1600
214 | 0000D5:0601
215 | 0000D6:F454
216 | 0000D7:EFEE
217 | 0000D8:BBEB
218 | 0000D9:EEEF
219 | 0000DA:D04A
220 | 0000DB:BBEB
221 | 0000DC:E1EF
222 | 0000DD:D04C
223 | 0000DE:5001
224 | 0000DF:4010
225 | 0000E0:CFF2
226 | 0000E1:E808
227 | 0000E2:E113
228 | 0000E3:2400
229 | 0000E4:1600
230 | 0000E5:0601
231 | 0000E6:F454
232 | 0000E7:EFEE
233 | 0000E8:BBEB
234 | 0000E9:EDEF
235 | 0000EA:D03A
236 | 0000EB:BBEB
237 | 0000EC:E3EF
238 | 0000ED:D03C
239 | 0000EE:5001
240 | 0000EF:4010
241 | 0000F0:CFF2
242 | 0000F1:E808
243 | 0000F2:E113
244 | 0000F3:2400
245 | 0000F4:1600
246 | 0000F5:0601
247 | 0000F6:F454
248 | 0000F7:EFEE
249 | 0000F8:BBEB
250 | 0000F9:EBEF
251 | 0000FA:D02A
252 | 0000FB:BBEB
253 | 0000FC:E7EF
254 | 0000FD:D02C
255 | 0000FE:5001
256 | 0000FF:4010
257 | 000100:CFF2
258 | 000101:E808
259 | 000102:E113
260 | 000103:2400
261 | 000104:1600
262 | 000105:0601
263 | 000106:F43C
264 | 000107:EFEE
265 | 000108:BBEB
266 | 000109:E7EF
267 | 00010A:D01F
268 | 00010B:5001
269 | 00010C:4010
270 | 00010D:CFF5
271 | 00010E:E808
272 | 00010F:E113
273 | 000110:2400
274 | 000111:1600
275 | 000112:0601
276 | 000113:F43C
277 | 000114:E0E0
278 | 000115:BBEB
279 | 000116:EFEF
280 | 000117:BBE8
281 | 000118:5001
282 | 000119:4010
283 | 00011A:CFF5
284 | 00011B:CF2C
285 | 00011C:CFFF
286 | 00011D:BBEB
287 | 00011E:EFEE
288 | 00011F:BBE8
289 | 000120:E0E0
290 | 000121:BBEB
291 | 000122:EFEF
292 | 000123:BBE8
293 | 000124:9508
294 | 000125:BBE8
295 | 000126:EFEF
296 | 000127:BBE8
297 | 000128:E1E1
298 | 000129:9508
299 | 00012A:BBE8
300 | 00012B:E0E0
301 | 00012C:BBEB
302 | 00012D:EFEF
303 | 00012E:BBE8
304 | 00012F:9508
305 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.prj~:
--------------------------------------------------------------------------------
1 | [Project]
2 | Toolset=AVR
3 | FormatVersion=2
4 | ActiveBuildConfiguration=0
5 | CV=3.12 Advanced
6 | A=Raham
7 | C=SnD Team
8 | D=3/13/2023 10:59:33 AM
9 | Files=1
10 | F1=proj3-1.c
11 | OpenedFiles=0
12 | AllowDisplayFunctionCallTree=0
13 | CleanUp=2
14 | DebugOutputListFilesDirectory=Debug\List
15 | DebugOutputObjectFilesDirectory=Debug
16 | DebugOutputExecutableFilesDirectory=Debug\Exe
17 | DebugOutputLinkerFilesDirectory=Debug\Link
18 | OutputListFilesDirectory=Release\List
19 | OutputObjectFilesDirectory=Release
20 | OutputExecutableFilesDirectory=Release\Exe
21 | OutputLinkerFilesDirectory=Release\Link
22 | [CompilerDebug]
23 | Chip=ATmega32
24 | CPUClock=8000000
25 | MemoryModel=1
26 | OptimizeSize=1
27 | OptimizationLevel=2
28 | OutputFormat=1
29 | PrintfFeatures=1
30 | ScanfFeatures=0
31 | DataStackSize=512
32 | PgmMemSize=32768
33 | RAMStart=96
34 | RAMEnd=2143
35 | XRAMSize=0
36 | XRAMWaitState=0
37 | HeapSize=0
38 | AVR8LHardwareStackSize=16
39 | ExternalInterruptVectors=0
40 | InterruptVectorsNumber=21
41 | InterruptVectorJump=1
42 | ResetVector=0
43 | PromoteCharToInt=1
44 | CharIsUnsigned=1
45 | GlobalConstInFlash=0
46 | 8BitEnums=1
47 | EnhancedFunctionParameterPassing=1
48 | AutomaticRegisterAllocation=1
49 | SmartRegisterAllocation=1
50 | PreprocessorOutput=0
51 | IOBitDefinitions=1
52 | ExternalStartupFile=0
53 | ClearGlobalVarsStartup=1
54 | ExternalStartupFileWarning=0
55 | BitVariablesSize=16
56 | UseHiGPIORbit=0
57 | StackEndMarkers=0
58 | Warnings=1
59 | WarningConstantRange=0
60 | WarningPossibleLossOfPrecision=0
61 | WarningArrayIndex=1
62 | WarningGlobalVariableAddress=1
63 | WarningInterruptVector=1
64 | WarningConstantNotInitialized=1
65 | WarningSuspiciousPointerConversion=1
66 | WarningRegisterAllocated=1
67 | WarningMacroRedefined=1
68 | WarningFunctionReturn=1
69 | WarningUnreferencedFunction=1
70 | WarningUnreferencedFunctionParameter=1
71 | WarningFunctionParameterName=1
72 | WarningCantInlineFunction=1
73 | WarningUnreferencedLocalVariable=1
74 | WarningLocalVariableSetNotUsed=1
75 | WarningVariableUsedNotSet=1
76 | WarningUnreferencedGlobalVariable=1
77 | WarningUnreferencedLabel=1
78 | WarningEmptyLine=1
79 | WarningExpressionHasNoEffect=1
80 | WarningUnknownEscapeSequence=1
81 | WarningShiftResult0=1
82 | Warning8BitAdditionOverflow=1
83 | Warning8BitMultiplicationOverflow=1
84 | Warning8BitShiftLeftOverflow=1
85 | Warning16BitAdditionOverflow=1
86 | Warning16BitMultiplicationOverflow=1
87 | Warning16BitShiftLeftOverflow=1
88 | WarningPossiblyIncorrectAssignment=1
89 | WarningPointlessComparison=1
90 | WarningConstCtrlExpr=1
91 | WarningUndefinedSymbol=1
92 | WarningCantAllocVarToReg=1
93 | WarningExplicitTypeMissing=1
94 | WarningEnumType=1
95 | WarningTypedefName=1
96 | WarningTypedefRedeclared=1
97 | WarningExtraBraces=1
98 | WarningIncompatibleAssignment=1
99 | WarningIncompatibleInit=1
100 | WarningIncompatibleOperandsTernary=1
101 | WarningIncompatibleFunctionArgument=1
102 | WarningIncompatibleFunctionReturn=1
103 | WarningMemoryAttributeIgnored=1
104 | WarningPragmaVector=1
105 | WarningDataStackUsage=1
106 | WarningDataStackRecursion=1
107 | WarningHardwareStackLow=1
108 | WarningCOFFArrayDim=1
109 | WarningCOFFDataComplex=1
110 | WarningMemoryOverlap=1
111 | WarningFuncDeclaredNeverDefined=1
112 | WarningExternalDeclaredNeverDefined=1
113 | WarningUnknownPragma=1
114 | WarningStaticRamEepromStorageAllocConstStrLit=0
115 | DebugBootLoader=0
116 | WatchAVR8LAutoVariables=0
117 | UseEEPROMLocation0=1
118 | RebuildAll=1
119 | LinkageInformationPresent=0
120 | COFFileTimeStamp=-1
121 | Build=1
122 | [DefinedSymbolsDebug]
123 | Count=0
124 | [Compiler]
125 | Chip=ATmega32
126 | CPUClock=8000000
127 | MemoryModel=1
128 | OptimizeSize=1
129 | OptimizationLevel=2
130 | OutputFormat=1
131 | PrintfFeatures=1
132 | ScanfFeatures=0
133 | DataStackSize=512
134 | PgmMemSize=32768
135 | RAMStart=96
136 | RAMEnd=2143
137 | XRAMSize=0
138 | XRAMWaitState=0
139 | HeapSize=0
140 | AVR8LHardwareStackSize=16
141 | ExternalInterruptVectors=0
142 | InterruptVectorsNumber=21
143 | InterruptVectorJump=1
144 | ResetVector=0
145 | PromoteCharToInt=1
146 | CharIsUnsigned=1
147 | GlobalConstInFlash=0
148 | 8BitEnums=1
149 | EnhancedFunctionParameterPassing=1
150 | AutomaticRegisterAllocation=1
151 | SmartRegisterAllocation=1
152 | PreprocessorOutput=0
153 | IOBitDefinitions=1
154 | ExternalStartupFile=0
155 | ClearGlobalVarsStartup=1
156 | ExternalStartupFileWarning=0
157 | BitVariablesSize=16
158 | UseHiGPIORbit=0
159 | StackEndMarkers=0
160 | Warnings=1
161 | WarningConstantRange=0
162 | WarningPossibleLossOfPrecision=0
163 | WarningArrayIndex=1
164 | WarningGlobalVariableAddress=1
165 | WarningInterruptVector=1
166 | WarningConstantNotInitialized=1
167 | WarningSuspiciousPointerConversion=1
168 | WarningRegisterAllocated=1
169 | WarningMacroRedefined=1
170 | WarningFunctionReturn=1
171 | WarningUnreferencedFunction=1
172 | WarningUnreferencedFunctionParameter=1
173 | WarningFunctionParameterName=1
174 | WarningCantInlineFunction=1
175 | WarningUnreferencedLocalVariable=1
176 | WarningLocalVariableSetNotUsed=1
177 | WarningVariableUsedNotSet=1
178 | WarningUnreferencedGlobalVariable=1
179 | WarningUnreferencedLabel=1
180 | WarningEmptyLine=1
181 | WarningExpressionHasNoEffect=1
182 | WarningUnknownEscapeSequence=1
183 | WarningShiftResult0=1
184 | Warning8BitAdditionOverflow=1
185 | Warning8BitMultiplicationOverflow=1
186 | Warning8BitShiftLeftOverflow=1
187 | Warning16BitAdditionOverflow=1
188 | Warning16BitMultiplicationOverflow=1
189 | Warning16BitShiftLeftOverflow=1
190 | WarningPossiblyIncorrectAssignment=1
191 | WarningPointlessComparison=1
192 | WarningConstCtrlExpr=1
193 | WarningUndefinedSymbol=1
194 | WarningCantAllocVarToReg=1
195 | WarningExplicitTypeMissing=1
196 | WarningEnumType=1
197 | WarningTypedefName=1
198 | WarningTypedefRedeclared=1
199 | WarningExtraBraces=1
200 | WarningIncompatibleAssignment=1
201 | WarningIncompatibleInit=1
202 | WarningIncompatibleOperandsTernary=1
203 | WarningIncompatibleFunctionArgument=1
204 | WarningIncompatibleFunctionReturn=1
205 | WarningMemoryAttributeIgnored=1
206 | WarningPragmaVector=1
207 | WarningDataStackUsage=1
208 | WarningDataStackRecursion=1
209 | WarningHardwareStackLow=1
210 | WarningCOFFArrayDim=1
211 | WarningCOFFDataComplex=1
212 | WarningMemoryOverlap=1
213 | WarningFuncDeclaredNeverDefined=1
214 | WarningExternalDeclaredNeverDefined=1
215 | WarningUnknownPragma=1
216 | WarningStaticRamEepromStorageAllocConstStrLit=0
217 | DebugBootLoader=0
218 | WatchAVR8LAutoVariables=0
219 | UseEEPROMLocation0=1
220 | RebuildAll=1
221 | LinkageInformationPresent=0
222 | COFFileTimeStamp=-1
223 | Build=1
224 | [DefinedSymbols]
225 | Count=0
226 | [StartUp]
227 | DisableWatchdog=0
228 | [Libraries]
229 | Use1Wire=0
230 | UseI2C=0
231 | I2CBitRate=100
232 | UseDS1302=0
233 | UseFATFS=0
234 | UseAlphanumericLCD=0
235 | GLCDDisplayIndex=0
236 | UseResistiveTouchscreen=0
237 | [USBLibrary]
238 | UseSuspend=0
239 | CDCVirtualSerialPort=0
240 | HIDGeneric=0
241 | HIDKeyboard=0
242 | HIDMouse=0
243 | HIDJoystick=0
244 | [Assembler]
245 | OutputFormat=1
246 | [AfterMake]
247 | ProgrammChip=0
248 | MergeROMFile=0
249 | ROMFilePath=
250 | SCKFrequency=2000000
251 | LockBits=0
252 | BootLockBits0=0
253 | BootLockBits1=0
254 | BootLockBits2=0
255 | ProgramFuseBits=1
256 | Fuse1=0
257 | Fuse2=0
258 | Fuse3=0
259 | Fuse4=0
260 | Fuse5=0
261 | Fuse6=0
262 | Fuse7=0
263 | Fuse8=0
264 | Fuse9=0
265 | Fuse10=0
266 | Fuse11=0
267 | Fuse12=0
268 | Fuse13=0
269 | Fuse14=0
270 | Fuse15=1
271 | Fuse16=0
272 | Fuse17=0
273 | Fuse18=0
274 | Fuse19=0
275 | Fuse20=0
276 | Fuse21=0
277 | Fuse22=0
278 | Fuse23=0
279 | Fuse24=0
280 | Fuse25=0
281 | Fuse26=0
282 | Fuse27=0
283 | Fuse28=0
284 | Fuse29=0
285 | Fuse30=0
286 | Fuse31=0
287 | Fuse32=0
288 | Fuse33=0
289 | Fuse34=0
290 | Fuse35=0
291 | Fuse36=0
292 | Fuse37=0
293 | Fuse38=0
294 | Fuse39=0
295 | Fuse40=0
296 | Fuse41=0
297 | Fuse42=0
298 | Fuse43=0
299 | Fuse44=0
300 | Fuse45=0
301 | Fuse46=0
302 | Fuse47=0
303 | Fuse48=0
304 | CheckSignature=0
305 | CheckErasure=0
306 | PreserveEEPROM=0
307 | VerifyProgramming=1
308 | ProgrammingCounter=0
309 | RunUserProg=0
310 | UserProgPath=
311 | UserProgCmdLine=
312 | UserProgWorkDir=
313 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.prj~:
--------------------------------------------------------------------------------
1 | [Project]
2 | Toolset=AVR
3 | FormatVersion=2
4 | ActiveBuildConfiguration=0
5 | CV=3.12 Advanced
6 | A=Raham
7 | C=SnD Team
8 | D=3/13/2023 11:29:32 AM
9 | Files=1
10 | F1=proj3-2.c
11 | OpenedFiles=0
12 | AllowDisplayFunctionCallTree=0
13 | CleanUp=2
14 | DebugOutputListFilesDirectory=Debug\List
15 | DebugOutputObjectFilesDirectory=Debug
16 | DebugOutputExecutableFilesDirectory=Debug\Exe
17 | DebugOutputLinkerFilesDirectory=Debug\Link
18 | OutputListFilesDirectory=Release\List
19 | OutputObjectFilesDirectory=Release
20 | OutputExecutableFilesDirectory=Release\Exe
21 | OutputLinkerFilesDirectory=Release\Link
22 | [CompilerDebug]
23 | Chip=ATmega32
24 | CPUClock=8000000
25 | MemoryModel=1
26 | OptimizeSize=1
27 | OptimizationLevel=2
28 | OutputFormat=1
29 | PrintfFeatures=1
30 | ScanfFeatures=0
31 | DataStackSize=512
32 | PgmMemSize=32768
33 | RAMStart=96
34 | RAMEnd=2143
35 | XRAMSize=0
36 | XRAMWaitState=0
37 | HeapSize=0
38 | AVR8LHardwareStackSize=16
39 | ExternalInterruptVectors=0
40 | InterruptVectorsNumber=21
41 | InterruptVectorJump=1
42 | ResetVector=0
43 | PromoteCharToInt=1
44 | CharIsUnsigned=1
45 | GlobalConstInFlash=0
46 | 8BitEnums=1
47 | EnhancedFunctionParameterPassing=1
48 | AutomaticRegisterAllocation=1
49 | SmartRegisterAllocation=1
50 | PreprocessorOutput=0
51 | IOBitDefinitions=1
52 | ExternalStartupFile=0
53 | ClearGlobalVarsStartup=1
54 | ExternalStartupFileWarning=0
55 | BitVariablesSize=16
56 | UseHiGPIORbit=0
57 | StackEndMarkers=0
58 | Warnings=1
59 | WarningConstantRange=0
60 | WarningPossibleLossOfPrecision=0
61 | WarningArrayIndex=1
62 | WarningGlobalVariableAddress=1
63 | WarningInterruptVector=1
64 | WarningConstantNotInitialized=1
65 | WarningSuspiciousPointerConversion=1
66 | WarningRegisterAllocated=1
67 | WarningMacroRedefined=1
68 | WarningFunctionReturn=1
69 | WarningUnreferencedFunction=1
70 | WarningUnreferencedFunctionParameter=1
71 | WarningFunctionParameterName=1
72 | WarningCantInlineFunction=1
73 | WarningUnreferencedLocalVariable=1
74 | WarningLocalVariableSetNotUsed=1
75 | WarningVariableUsedNotSet=1
76 | WarningUnreferencedGlobalVariable=1
77 | WarningUnreferencedLabel=1
78 | WarningEmptyLine=1
79 | WarningExpressionHasNoEffect=1
80 | WarningUnknownEscapeSequence=1
81 | WarningShiftResult0=1
82 | Warning8BitAdditionOverflow=1
83 | Warning8BitMultiplicationOverflow=1
84 | Warning8BitShiftLeftOverflow=1
85 | Warning16BitAdditionOverflow=1
86 | Warning16BitMultiplicationOverflow=1
87 | Warning16BitShiftLeftOverflow=1
88 | WarningPossiblyIncorrectAssignment=1
89 | WarningPointlessComparison=1
90 | WarningConstCtrlExpr=1
91 | WarningUndefinedSymbol=1
92 | WarningCantAllocVarToReg=1
93 | WarningExplicitTypeMissing=1
94 | WarningEnumType=1
95 | WarningTypedefName=1
96 | WarningTypedefRedeclared=1
97 | WarningExtraBraces=1
98 | WarningIncompatibleAssignment=1
99 | WarningIncompatibleInit=1
100 | WarningIncompatibleOperandsTernary=1
101 | WarningIncompatibleFunctionArgument=1
102 | WarningIncompatibleFunctionReturn=1
103 | WarningMemoryAttributeIgnored=1
104 | WarningPragmaVector=1
105 | WarningDataStackUsage=1
106 | WarningDataStackRecursion=1
107 | WarningHardwareStackLow=1
108 | WarningCOFFArrayDim=1
109 | WarningCOFFDataComplex=1
110 | WarningMemoryOverlap=1
111 | WarningFuncDeclaredNeverDefined=1
112 | WarningExternalDeclaredNeverDefined=1
113 | WarningUnknownPragma=1
114 | WarningStaticRamEepromStorageAllocConstStrLit=0
115 | DebugBootLoader=0
116 | WatchAVR8LAutoVariables=0
117 | UseEEPROMLocation0=1
118 | RebuildAll=1
119 | LinkageInformationPresent=0
120 | COFFileTimeStamp=-1
121 | Build=1
122 | [DefinedSymbolsDebug]
123 | Count=0
124 | [Compiler]
125 | Chip=ATmega32
126 | CPUClock=8000000
127 | MemoryModel=1
128 | OptimizeSize=1
129 | OptimizationLevel=2
130 | OutputFormat=1
131 | PrintfFeatures=1
132 | ScanfFeatures=0
133 | DataStackSize=512
134 | PgmMemSize=32768
135 | RAMStart=96
136 | RAMEnd=2143
137 | XRAMSize=0
138 | XRAMWaitState=0
139 | HeapSize=0
140 | AVR8LHardwareStackSize=16
141 | ExternalInterruptVectors=0
142 | InterruptVectorsNumber=21
143 | InterruptVectorJump=1
144 | ResetVector=0
145 | PromoteCharToInt=1
146 | CharIsUnsigned=1
147 | GlobalConstInFlash=0
148 | 8BitEnums=1
149 | EnhancedFunctionParameterPassing=1
150 | AutomaticRegisterAllocation=1
151 | SmartRegisterAllocation=1
152 | PreprocessorOutput=0
153 | IOBitDefinitions=1
154 | ExternalStartupFile=0
155 | ClearGlobalVarsStartup=1
156 | ExternalStartupFileWarning=0
157 | BitVariablesSize=16
158 | UseHiGPIORbit=0
159 | StackEndMarkers=0
160 | Warnings=1
161 | WarningConstantRange=0
162 | WarningPossibleLossOfPrecision=0
163 | WarningArrayIndex=1
164 | WarningGlobalVariableAddress=1
165 | WarningInterruptVector=1
166 | WarningConstantNotInitialized=1
167 | WarningSuspiciousPointerConversion=1
168 | WarningRegisterAllocated=1
169 | WarningMacroRedefined=1
170 | WarningFunctionReturn=1
171 | WarningUnreferencedFunction=1
172 | WarningUnreferencedFunctionParameter=1
173 | WarningFunctionParameterName=1
174 | WarningCantInlineFunction=1
175 | WarningUnreferencedLocalVariable=1
176 | WarningLocalVariableSetNotUsed=1
177 | WarningVariableUsedNotSet=1
178 | WarningUnreferencedGlobalVariable=1
179 | WarningUnreferencedLabel=1
180 | WarningEmptyLine=1
181 | WarningExpressionHasNoEffect=1
182 | WarningUnknownEscapeSequence=1
183 | WarningShiftResult0=1
184 | Warning8BitAdditionOverflow=1
185 | Warning8BitMultiplicationOverflow=1
186 | Warning8BitShiftLeftOverflow=1
187 | Warning16BitAdditionOverflow=1
188 | Warning16BitMultiplicationOverflow=1
189 | Warning16BitShiftLeftOverflow=1
190 | WarningPossiblyIncorrectAssignment=1
191 | WarningPointlessComparison=1
192 | WarningConstCtrlExpr=1
193 | WarningUndefinedSymbol=1
194 | WarningCantAllocVarToReg=1
195 | WarningExplicitTypeMissing=1
196 | WarningEnumType=1
197 | WarningTypedefName=1
198 | WarningTypedefRedeclared=1
199 | WarningExtraBraces=1
200 | WarningIncompatibleAssignment=1
201 | WarningIncompatibleInit=1
202 | WarningIncompatibleOperandsTernary=1
203 | WarningIncompatibleFunctionArgument=1
204 | WarningIncompatibleFunctionReturn=1
205 | WarningMemoryAttributeIgnored=1
206 | WarningPragmaVector=1
207 | WarningDataStackUsage=1
208 | WarningDataStackRecursion=1
209 | WarningHardwareStackLow=1
210 | WarningCOFFArrayDim=1
211 | WarningCOFFDataComplex=1
212 | WarningMemoryOverlap=1
213 | WarningFuncDeclaredNeverDefined=1
214 | WarningExternalDeclaredNeverDefined=1
215 | WarningUnknownPragma=1
216 | WarningStaticRamEepromStorageAllocConstStrLit=0
217 | DebugBootLoader=0
218 | WatchAVR8LAutoVariables=0
219 | UseEEPROMLocation0=1
220 | RebuildAll=1
221 | LinkageInformationPresent=0
222 | COFFileTimeStamp=-1
223 | Build=1
224 | [DefinedSymbols]
225 | Count=0
226 | [StartUp]
227 | DisableWatchdog=0
228 | [Libraries]
229 | Use1Wire=0
230 | UseI2C=0
231 | I2CBitRate=100
232 | UseDS1302=0
233 | UseFATFS=0
234 | UseAlphanumericLCD=0
235 | GLCDDisplayIndex=0
236 | UseResistiveTouchscreen=0
237 | [USBLibrary]
238 | UseSuspend=0
239 | CDCVirtualSerialPort=0
240 | HIDGeneric=0
241 | HIDKeyboard=0
242 | HIDMouse=0
243 | HIDJoystick=0
244 | [Assembler]
245 | OutputFormat=1
246 | [AfterMake]
247 | ProgrammChip=0
248 | MergeROMFile=0
249 | ROMFilePath=
250 | SCKFrequency=2000000
251 | LockBits=0
252 | BootLockBits0=0
253 | BootLockBits1=0
254 | BootLockBits2=0
255 | ProgramFuseBits=1
256 | Fuse1=0
257 | Fuse2=0
258 | Fuse3=0
259 | Fuse4=0
260 | Fuse5=0
261 | Fuse6=0
262 | Fuse7=0
263 | Fuse8=0
264 | Fuse9=0
265 | Fuse10=0
266 | Fuse11=0
267 | Fuse12=0
268 | Fuse13=0
269 | Fuse14=0
270 | Fuse15=1
271 | Fuse16=0
272 | Fuse17=0
273 | Fuse18=0
274 | Fuse19=0
275 | Fuse20=0
276 | Fuse21=0
277 | Fuse22=0
278 | Fuse23=0
279 | Fuse24=0
280 | Fuse25=0
281 | Fuse26=0
282 | Fuse27=0
283 | Fuse28=0
284 | Fuse29=0
285 | Fuse30=0
286 | Fuse31=0
287 | Fuse32=0
288 | Fuse33=0
289 | Fuse34=0
290 | Fuse35=0
291 | Fuse36=0
292 | Fuse37=0
293 | Fuse38=0
294 | Fuse39=0
295 | Fuse40=0
296 | Fuse41=0
297 | Fuse42=0
298 | Fuse43=0
299 | Fuse44=0
300 | Fuse45=0
301 | Fuse46=0
302 | Fuse47=0
303 | Fuse48=0
304 | CheckSignature=0
305 | CheckErasure=0
306 | PreserveEEPROM=0
307 | VerifyProgramming=1
308 | ProgrammingCounter=0
309 | RunUserProg=0
310 | UserProgPath=
311 | UserProgCmdLine=
312 | UserProgWorkDir=
313 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/proj3-1.prj:
--------------------------------------------------------------------------------
1 | [Project]
2 | Toolset=AVR
3 | FormatVersion=2
4 | ActiveBuildConfiguration=0
5 | CV=3.12 Advanced
6 | A=Raham
7 | C=SnD Team
8 | D=3/13/2023 10:59:33 AM
9 | Files=1
10 | OpenedFiles=1
11 | AllowDisplayFunctionCallTree=1
12 | CleanUp=2
13 | DebugOutputListFilesDirectory=Debug\List
14 | DebugOutputObjectFilesDirectory=Debug
15 | DebugOutputExecutableFilesDirectory=Debug\Exe
16 | DebugOutputLinkerFilesDirectory=Debug\Link
17 | OutputListFilesDirectory=Release\List
18 | OutputObjectFilesDirectory=Release
19 | OutputExecutableFilesDirectory=Release\Exe
20 | OutputLinkerFilesDirectory=Release\Link
21 | F1=proj3-1.c
22 | EditorPanelMode=0
23 | ActiveEditorPanel=0
24 | Active0=0
25 | EditorPanel0=0
26 | PageIndex0=0
27 | OF1=proj3-1.c
28 | Active1=1
29 | EditorPanel1=0
30 | TimeStamp1=1450007397
31 | PageIndex1=1
32 | [CompilerDebug]
33 | Chip=ATmega32
34 | CPUClock=8000000
35 | MemoryModel=1
36 | OptimizeSize=1
37 | OptimizationLevel=2
38 | OutputFormat=1
39 | PrintfFeatures=1
40 | ScanfFeatures=0
41 | DataStackSize=512
42 | PgmMemSize=32768
43 | RAMStart=96
44 | RAMEnd=2143
45 | XRAMSize=0
46 | XRAMWaitState=0
47 | HeapSize=0
48 | AVR8LHardwareStackSize=16
49 | ExternalInterruptVectors=0
50 | InterruptVectorsNumber=21
51 | InterruptVectorJump=1
52 | ResetVector=0
53 | PromoteCharToInt=1
54 | CharIsUnsigned=1
55 | GlobalConstInFlash=0
56 | 8BitEnums=1
57 | EnhancedFunctionParameterPassing=1
58 | AutomaticRegisterAllocation=1
59 | SmartRegisterAllocation=1
60 | PreprocessorOutput=0
61 | IOBitDefinitions=1
62 | ExternalStartupFile=0
63 | ClearGlobalVarsStartup=1
64 | ExternalStartupFileWarning=0
65 | BitVariablesSize=16
66 | UseHiGPIORbit=0
67 | StackEndMarkers=0
68 | Warnings=1
69 | WarningConstantRange=0
70 | WarningPossibleLossOfPrecision=0
71 | WarningArrayIndex=1
72 | WarningGlobalVariableAddress=1
73 | WarningInterruptVector=1
74 | WarningConstantNotInitialized=1
75 | WarningSuspiciousPointerConversion=1
76 | WarningRegisterAllocated=1
77 | WarningMacroRedefined=1
78 | WarningFunctionReturn=1
79 | WarningUnreferencedFunction=1
80 | WarningUnreferencedFunctionParameter=1
81 | WarningFunctionParameterName=1
82 | WarningCantInlineFunction=1
83 | WarningUnreferencedLocalVariable=1
84 | WarningLocalVariableSetNotUsed=1
85 | WarningVariableUsedNotSet=1
86 | WarningUnreferencedGlobalVariable=1
87 | WarningUnreferencedLabel=1
88 | WarningEmptyLine=1
89 | WarningExpressionHasNoEffect=1
90 | WarningUnknownEscapeSequence=1
91 | WarningShiftResult0=1
92 | Warning8BitAdditionOverflow=1
93 | Warning8BitMultiplicationOverflow=1
94 | Warning8BitShiftLeftOverflow=1
95 | Warning16BitAdditionOverflow=1
96 | Warning16BitMultiplicationOverflow=1
97 | Warning16BitShiftLeftOverflow=1
98 | WarningPossiblyIncorrectAssignment=1
99 | WarningPointlessComparison=1
100 | WarningConstCtrlExpr=1
101 | WarningUndefinedSymbol=1
102 | WarningCantAllocVarToReg=1
103 | WarningExplicitTypeMissing=1
104 | WarningEnumType=1
105 | WarningTypedefName=1
106 | WarningTypedefRedeclared=1
107 | WarningExtraBraces=1
108 | WarningIncompatibleAssignment=1
109 | WarningIncompatibleInit=1
110 | WarningIncompatibleOperandsTernary=1
111 | WarningIncompatibleFunctionArgument=1
112 | WarningIncompatibleFunctionReturn=1
113 | WarningMemoryAttributeIgnored=1
114 | WarningPragmaVector=1
115 | WarningDataStackUsage=1
116 | WarningDataStackRecursion=1
117 | WarningHardwareStackLow=1
118 | WarningCOFFArrayDim=1
119 | WarningCOFFDataComplex=1
120 | WarningMemoryOverlap=1
121 | WarningFuncDeclaredNeverDefined=1
122 | WarningExternalDeclaredNeverDefined=1
123 | WarningUnknownPragma=1
124 | WarningStaticRamEepromStorageAllocConstStrLit=0
125 | DebugBootLoader=0
126 | WatchAVR8LAutoVariables=0
127 | UseEEPROMLocation0=1
128 | RebuildAll=0
129 | LinkageInformationPresent=1
130 | COFFileTimeStamp=1450007370
131 | Build=9
132 | [DefinedSymbolsDebug]
133 | Count=0
134 | [Compiler]
135 | Chip=ATmega32
136 | CPUClock=8000000
137 | MemoryModel=1
138 | OptimizeSize=1
139 | OptimizationLevel=2
140 | OutputFormat=1
141 | PrintfFeatures=1
142 | ScanfFeatures=0
143 | DataStackSize=512
144 | PgmMemSize=32768
145 | RAMStart=96
146 | RAMEnd=2143
147 | XRAMSize=0
148 | XRAMWaitState=0
149 | HeapSize=0
150 | AVR8LHardwareStackSize=16
151 | ExternalInterruptVectors=0
152 | InterruptVectorsNumber=21
153 | InterruptVectorJump=1
154 | ResetVector=0
155 | PromoteCharToInt=1
156 | CharIsUnsigned=1
157 | GlobalConstInFlash=0
158 | 8BitEnums=1
159 | EnhancedFunctionParameterPassing=1
160 | AutomaticRegisterAllocation=1
161 | SmartRegisterAllocation=1
162 | PreprocessorOutput=0
163 | IOBitDefinitions=1
164 | ExternalStartupFile=0
165 | ClearGlobalVarsStartup=1
166 | ExternalStartupFileWarning=0
167 | BitVariablesSize=16
168 | UseHiGPIORbit=0
169 | StackEndMarkers=0
170 | Warnings=1
171 | WarningConstantRange=0
172 | WarningPossibleLossOfPrecision=0
173 | WarningArrayIndex=1
174 | WarningGlobalVariableAddress=1
175 | WarningInterruptVector=1
176 | WarningConstantNotInitialized=1
177 | WarningSuspiciousPointerConversion=1
178 | WarningRegisterAllocated=1
179 | WarningMacroRedefined=1
180 | WarningFunctionReturn=1
181 | WarningUnreferencedFunction=1
182 | WarningUnreferencedFunctionParameter=1
183 | WarningFunctionParameterName=1
184 | WarningCantInlineFunction=1
185 | WarningUnreferencedLocalVariable=1
186 | WarningLocalVariableSetNotUsed=1
187 | WarningVariableUsedNotSet=1
188 | WarningUnreferencedGlobalVariable=1
189 | WarningUnreferencedLabel=1
190 | WarningEmptyLine=1
191 | WarningExpressionHasNoEffect=1
192 | WarningUnknownEscapeSequence=1
193 | WarningShiftResult0=1
194 | Warning8BitAdditionOverflow=1
195 | Warning8BitMultiplicationOverflow=1
196 | Warning8BitShiftLeftOverflow=1
197 | Warning16BitAdditionOverflow=1
198 | Warning16BitMultiplicationOverflow=1
199 | Warning16BitShiftLeftOverflow=1
200 | WarningPossiblyIncorrectAssignment=1
201 | WarningPointlessComparison=1
202 | WarningConstCtrlExpr=1
203 | WarningUndefinedSymbol=1
204 | WarningCantAllocVarToReg=1
205 | WarningExplicitTypeMissing=1
206 | WarningEnumType=1
207 | WarningTypedefName=1
208 | WarningTypedefRedeclared=1
209 | WarningExtraBraces=1
210 | WarningIncompatibleAssignment=1
211 | WarningIncompatibleInit=1
212 | WarningIncompatibleOperandsTernary=1
213 | WarningIncompatibleFunctionArgument=1
214 | WarningIncompatibleFunctionReturn=1
215 | WarningMemoryAttributeIgnored=1
216 | WarningPragmaVector=1
217 | WarningDataStackUsage=1
218 | WarningDataStackRecursion=1
219 | WarningHardwareStackLow=1
220 | WarningCOFFArrayDim=1
221 | WarningCOFFDataComplex=1
222 | WarningMemoryOverlap=1
223 | WarningFuncDeclaredNeverDefined=1
224 | WarningExternalDeclaredNeverDefined=1
225 | WarningUnknownPragma=1
226 | WarningStaticRamEepromStorageAllocConstStrLit=0
227 | DebugBootLoader=0
228 | WatchAVR8LAutoVariables=0
229 | UseEEPROMLocation0=1
230 | RebuildAll=1
231 | LinkageInformationPresent=0
232 | COFFileTimeStamp=-1
233 | Build=9
234 | IncludePath0=
235 | IncludePath1=
236 | IncludePath2=
237 | IncludePath3=
238 | IncludePath4=
239 | IncludePath5=
240 | IncludePath6=
241 | IncludePath7=
242 | IncludePath8=
243 | IncludePath9=
244 | IncludePath10=
245 | IncludePath11=
246 | IncludePath12=
247 | IncludePath13=
248 | IncludePath14=
249 | IncludePath15=
250 | IncludePath16=
251 | IncludePath17=
252 | IncludePath18=
253 | IncludePath19=
254 | IncludePath20=
255 | IncludePath21=
256 | IncludePath22=
257 | IncludePath23=
258 | IncludePath24=
259 | IncludePath25=
260 | IncludePath26=
261 | IncludePath27=
262 | IncludePath28=
263 | IncludePath29=
264 | IncludePath30=
265 | IncludePath31=
266 | IncludePath32=
267 | IncludePath33=
268 | IncludePath34=
269 | IncludePath35=
270 | IncludePath36=
271 | IncludePath37=
272 | IncludePath38=
273 | IncludePath39=
274 | IncludePath40=
275 | IncludePath41=
276 | IncludePath42=
277 | IncludePath43=
278 | IncludePath44=
279 | IncludePath45=
280 | IncludePath46=
281 | IncludePath47=
282 | IncludePath48=
283 | IncludePath49=
284 | IncludePath50=
285 | IncludePath51=
286 | IncludePath52=
287 | IncludePath53=
288 | IncludePath54=
289 | IncludePath55=
290 | IncludePath56=
291 | IncludePath57=
292 | IncludePath58=
293 | IncludePath59=
294 | IncludePath60=
295 | IncludePath61=
296 | IncludePath62=
297 | IncludePath63=
298 | LibraryPath0=
299 | LibraryPath1=
300 | LibraryPath2=
301 | LibraryPath3=
302 | LibraryPath4=
303 | LibraryPath5=
304 | LibraryPath6=
305 | LibraryPath7=
306 | LibraryPath8=
307 | LibraryPath9=
308 | LibraryPath10=
309 | LibraryPath11=
310 | LibraryPath12=
311 | LibraryPath13=
312 | LibraryPath14=
313 | LibraryPath15=
314 | LibraryPath16=
315 | LibraryPath17=
316 | LibraryPath18=
317 | LibraryPath19=
318 | LibraryPath20=
319 | LibraryPath21=
320 | LibraryPath22=
321 | LibraryPath23=
322 | LibraryPath24=
323 | LibraryPath25=
324 | LibraryPath26=
325 | LibraryPath27=
326 | LibraryPath28=
327 | LibraryPath29=
328 | LibraryPath30=
329 | LibraryPath31=
330 | LibraryPath32=
331 | LibraryPath33=
332 | LibraryPath34=
333 | LibraryPath35=
334 | LibraryPath36=
335 | LibraryPath37=
336 | LibraryPath38=
337 | LibraryPath39=
338 | LibraryPath40=
339 | LibraryPath41=
340 | LibraryPath42=
341 | LibraryPath43=
342 | LibraryPath44=
343 | LibraryPath45=
344 | LibraryPath46=
345 | LibraryPath47=
346 | LibraryPath48=
347 | LibraryPath49=
348 | LibraryPath50=
349 | LibraryPath51=
350 | LibraryPath52=
351 | LibraryPath53=
352 | LibraryPath54=
353 | LibraryPath55=
354 | LibraryPath56=
355 | LibraryPath57=
356 | LibraryPath58=
357 | LibraryPath59=
358 | LibraryPath60=
359 | LibraryPath61=
360 | LibraryPath62=
361 | LibraryPath63=
362 | [DefinedSymbols]
363 | Count=0
364 | [StartUp]
365 | DisableWatchdog=0
366 | [Libraries]
367 | Use1Wire=0
368 | UseI2C=0
369 | I2CBitRate=100
370 | UseDS1302=0
371 | UseFATFS=0
372 | UseAlphanumericLCD=0
373 | GLCDDisplayIndex=0
374 | UseResistiveTouchscreen=0
375 | [USBLibrary]
376 | UseSuspend=0
377 | CDCVirtualSerialPort=0
378 | HIDGeneric=0
379 | HIDKeyboard=0
380 | HIDMouse=0
381 | HIDJoystick=0
382 | [Assembler]
383 | OutputFormat=1
384 | [AfterMake]
385 | ProgrammChip=0
386 | MergeROMFile=0
387 | ROMFilePath=
388 | SCKFrequency=460800
389 | LockBits=0
390 | BootLockBits0=0
391 | BootLockBits1=0
392 | BootLockBits2=0
393 | ProgramFuseBits=1
394 | Fuse1=0
395 | Fuse2=0
396 | Fuse3=0
397 | Fuse4=0
398 | Fuse5=0
399 | Fuse6=0
400 | Fuse7=0
401 | Fuse8=0
402 | Fuse9=0
403 | Fuse10=0
404 | Fuse11=0
405 | Fuse12=0
406 | Fuse13=0
407 | Fuse14=0
408 | Fuse15=0
409 | Fuse16=0
410 | Fuse17=0
411 | Fuse18=0
412 | Fuse19=0
413 | Fuse20=0
414 | Fuse21=0
415 | Fuse22=0
416 | Fuse23=0
417 | Fuse24=0
418 | Fuse25=0
419 | Fuse26=0
420 | Fuse27=0
421 | Fuse28=0
422 | Fuse29=0
423 | Fuse30=0
424 | Fuse31=0
425 | Fuse32=0
426 | Fuse33=0
427 | Fuse34=0
428 | Fuse35=0
429 | Fuse36=0
430 | Fuse37=0
431 | Fuse38=0
432 | Fuse39=0
433 | Fuse40=0
434 | Fuse41=0
435 | Fuse42=0
436 | Fuse43=0
437 | Fuse44=0
438 | Fuse45=0
439 | Fuse46=0
440 | Fuse47=0
441 | Fuse48=0
442 | CheckSignature=1
443 | CheckErasure=0
444 | PreserveEEPROM=0
445 | VerifyProgramming=1
446 | ProgrammingCounter=0
447 | RunUserProg=0
448 | UserProgPath=
449 | UserProgCmdLine=
450 | UserProgWorkDir=
451 | [BeforeMake]
452 | RunUserProg=0
453 | WaitUserProgFinish=1
454 | UserProgPath=
455 | UserProgCmdLine=
456 | UserProgWorkDir=
457 | [BuildInfoCompiler]
458 | L1=Build configuration: Debug
459 | L2=Chip: ATmega32
460 | L3=Clock frequency: 8.000000 MHz
461 | L4=Program type: Application
462 | L5=Memory model: Small
463 | L6=Optimize for: Size
464 | L7=(s)printf features: int, width
465 | L8=(s)scanf features: int, width
466 | L9=Promote 'char' to 'int': Yes
467 | L10='char' is unsigned: Yes
468 | L11=global 'const' stored in FLASH: No
469 | L12=8 bit enums: Yes
470 | L13=Enhanced function parameters passing: Yes
471 | L14=Automatic register allocation: Yes
472 | L15=Smart register allocation: Yes
473 | L16=
474 | L17=Build: 8
475 | L18=727 line(s) compiled
476 | L19=No errors
477 | L20=No warnings
478 | L21=
479 | L22=Bit variables size: 0 byte(s)
480 | L23=
481 | L24=Data Stack area: 0x60 to 0x25F
482 | L25=Data Stack size: 512 byte(s)
483 | L26=Estimated Data Stack usage: 0 byte(s)
484 | L27=
485 | L28=RAM Global variables size: 0 byte(s)
486 | L29=
487 | L30=Hardware Stack area: 0x260 to 0x85F
488 | L31=Hardware Stack size: 1536 byte(s)
489 | L32=
490 | L33=Heap size: 0 byte(s)
491 | L34=
492 | L35=EEPROM usage: 0 byte(s), 0.0% of EEPROM
493 | L36=Program size: 86 words (172 bytes), 0.5% of FLASH
494 | L37=0 words (0 bytes), 0.0% reduced by Code Compression
495 | Lines=37
496 | [BuildInfoAssembler]
497 | L1=AVRASM: AVR macro assembler 2.1.30 (build 592 Nov 7 2008 12:38:17)
498 | L2=Copyright (C) 1995-2008 ATMEL Corporation
499 | L3=
500 | L4=D:\Programming\CodeVision\Code\Project3-1\Debug\List\proj3-1.asm(1224): No EEPROM data, deleting D:\Programming\CodeVision\Code\Project3-1\Debug\Exe\proj3-1.eep
501 | L5=
502 | L6=ATmega32 memory use summary [bytes]:
503 | L7=Segment Begin End Code Data Used Size Use%
504 | L8=---------------------------------------------------------------
505 | L9=[.cseg] 0x000000 0x0000ac 172 0 172 32768 0.5%
506 | L10=[.dseg] 0x000060 0x000260 0 0 0 2048 0.0%
507 | L11=[.eseg] 0x000000 0x000000 0 0 0 1024 0.0%
508 | L12=
509 | Lines=12
510 | [HeadersList]
511 | Files=1
512 | F1=D:\Programming\CodeVision\Code\Project3-1\proj3-1.c
513 | [Header1]
514 | Files=3
515 | F1=..\..\Application\inc\mega32.h
516 | F2=..\..\Application\inc\mega32_bits.h
517 | F3=..\..\Application\inc\delay.h
518 | [Bookmarks0]
519 | Row=0
520 | Column=0
521 | ScrollPosX=0
522 | ScrollPosY=0
523 | TimeStamp=1450007446
524 | [BookmarksFoldedCode]
525 | Files=1
526 | F1=proj3-1.c
527 | [Bookmarks1]
528 | TimeStamp=1450007397
529 | Row=0
530 | Column=0
531 | ScrollPosX=0
532 | ScrollPosY=0
533 | BK0=-1
534 | BK1=-1
535 | BK2=-1
536 | BK3=-1
537 | BK4=-1
538 | BK5=-1
539 | BK6=-1
540 | BK7=-1
541 | BK8=-1
542 | BK9=-1
543 | [FoldedCode1]
544 | Blocks=0
545 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/proj3-2.prj:
--------------------------------------------------------------------------------
1 | [Project]
2 | Toolset=AVR
3 | FormatVersion=2
4 | ActiveBuildConfiguration=0
5 | CV=3.12 Advanced
6 | A=Raham
7 | C=SnD Team
8 | D=3/13/2023 11:29:32 AM
9 | Files=1
10 | OpenedFiles=1
11 | AllowDisplayFunctionCallTree=1
12 | CleanUp=2
13 | DebugOutputListFilesDirectory=Debug\List
14 | DebugOutputObjectFilesDirectory=Debug
15 | DebugOutputExecutableFilesDirectory=Debug\Exe
16 | DebugOutputLinkerFilesDirectory=Debug\Link
17 | OutputListFilesDirectory=Release\List
18 | OutputObjectFilesDirectory=Release
19 | OutputExecutableFilesDirectory=Release\Exe
20 | OutputLinkerFilesDirectory=Release\Link
21 | F1=proj3-2.c
22 | EditorPanelMode=0
23 | ActiveEditorPanel=0
24 | Active0=1
25 | EditorPanel0=0
26 | PageIndex0=0
27 | OF1=proj3-2.c
28 | Active1=0
29 | EditorPanel1=0
30 | TimeStamp1=1450010292
31 | PageIndex1=1
32 | OF2=..\Project3-1\proj3-1.c
33 | Active2=1
34 | EditorPanel2=0
35 | TimeStamp2=1450009445
36 | PageIndex2=2
37 | [CompilerDebug]
38 | Chip=ATmega32
39 | CPUClock=8000000
40 | MemoryModel=1
41 | OptimizeSize=1
42 | OptimizationLevel=2
43 | OutputFormat=1
44 | PrintfFeatures=1
45 | ScanfFeatures=0
46 | DataStackSize=512
47 | PgmMemSize=32768
48 | RAMStart=96
49 | RAMEnd=2143
50 | XRAMSize=0
51 | XRAMWaitState=0
52 | HeapSize=0
53 | AVR8LHardwareStackSize=16
54 | ExternalInterruptVectors=0
55 | InterruptVectorsNumber=21
56 | InterruptVectorJump=1
57 | ResetVector=0
58 | PromoteCharToInt=1
59 | CharIsUnsigned=1
60 | GlobalConstInFlash=0
61 | 8BitEnums=1
62 | EnhancedFunctionParameterPassing=1
63 | AutomaticRegisterAllocation=1
64 | SmartRegisterAllocation=1
65 | PreprocessorOutput=0
66 | IOBitDefinitions=1
67 | ExternalStartupFile=0
68 | ClearGlobalVarsStartup=1
69 | ExternalStartupFileWarning=0
70 | BitVariablesSize=16
71 | UseHiGPIORbit=0
72 | StackEndMarkers=0
73 | Warnings=1
74 | WarningConstantRange=0
75 | WarningPossibleLossOfPrecision=0
76 | WarningArrayIndex=1
77 | WarningGlobalVariableAddress=1
78 | WarningInterruptVector=1
79 | WarningConstantNotInitialized=1
80 | WarningSuspiciousPointerConversion=1
81 | WarningRegisterAllocated=1
82 | WarningMacroRedefined=1
83 | WarningFunctionReturn=1
84 | WarningUnreferencedFunction=1
85 | WarningUnreferencedFunctionParameter=1
86 | WarningFunctionParameterName=1
87 | WarningCantInlineFunction=1
88 | WarningUnreferencedLocalVariable=1
89 | WarningLocalVariableSetNotUsed=1
90 | WarningVariableUsedNotSet=1
91 | WarningUnreferencedGlobalVariable=1
92 | WarningUnreferencedLabel=1
93 | WarningEmptyLine=1
94 | WarningExpressionHasNoEffect=1
95 | WarningUnknownEscapeSequence=1
96 | WarningShiftResult0=1
97 | Warning8BitAdditionOverflow=1
98 | Warning8BitMultiplicationOverflow=1
99 | Warning8BitShiftLeftOverflow=1
100 | Warning16BitAdditionOverflow=1
101 | Warning16BitMultiplicationOverflow=1
102 | Warning16BitShiftLeftOverflow=1
103 | WarningPossiblyIncorrectAssignment=1
104 | WarningPointlessComparison=1
105 | WarningConstCtrlExpr=1
106 | WarningUndefinedSymbol=1
107 | WarningCantAllocVarToReg=1
108 | WarningExplicitTypeMissing=1
109 | WarningEnumType=1
110 | WarningTypedefName=1
111 | WarningTypedefRedeclared=1
112 | WarningExtraBraces=1
113 | WarningIncompatibleAssignment=1
114 | WarningIncompatibleInit=1
115 | WarningIncompatibleOperandsTernary=1
116 | WarningIncompatibleFunctionArgument=1
117 | WarningIncompatibleFunctionReturn=1
118 | WarningMemoryAttributeIgnored=1
119 | WarningPragmaVector=1
120 | WarningDataStackUsage=1
121 | WarningDataStackRecursion=1
122 | WarningHardwareStackLow=1
123 | WarningCOFFArrayDim=1
124 | WarningCOFFDataComplex=1
125 | WarningMemoryOverlap=1
126 | WarningFuncDeclaredNeverDefined=1
127 | WarningExternalDeclaredNeverDefined=1
128 | WarningUnknownPragma=1
129 | WarningStaticRamEepromStorageAllocConstStrLit=0
130 | DebugBootLoader=0
131 | WatchAVR8LAutoVariables=0
132 | UseEEPROMLocation0=1
133 | RebuildAll=0
134 | LinkageInformationPresent=1
135 | COFFileTimeStamp=1450008248
136 | Build=10
137 | [DefinedSymbolsDebug]
138 | Count=0
139 | [Compiler]
140 | Chip=ATmega32
141 | CPUClock=8000000
142 | MemoryModel=1
143 | OptimizeSize=1
144 | OptimizationLevel=2
145 | OutputFormat=1
146 | PrintfFeatures=1
147 | ScanfFeatures=0
148 | DataStackSize=512
149 | PgmMemSize=32768
150 | RAMStart=96
151 | RAMEnd=2143
152 | XRAMSize=0
153 | XRAMWaitState=0
154 | HeapSize=0
155 | AVR8LHardwareStackSize=16
156 | ExternalInterruptVectors=0
157 | InterruptVectorsNumber=21
158 | InterruptVectorJump=1
159 | ResetVector=0
160 | PromoteCharToInt=1
161 | CharIsUnsigned=1
162 | GlobalConstInFlash=0
163 | 8BitEnums=1
164 | EnhancedFunctionParameterPassing=1
165 | AutomaticRegisterAllocation=1
166 | SmartRegisterAllocation=1
167 | PreprocessorOutput=0
168 | IOBitDefinitions=1
169 | ExternalStartupFile=0
170 | ClearGlobalVarsStartup=1
171 | ExternalStartupFileWarning=0
172 | BitVariablesSize=16
173 | UseHiGPIORbit=0
174 | StackEndMarkers=0
175 | Warnings=1
176 | WarningConstantRange=0
177 | WarningPossibleLossOfPrecision=0
178 | WarningArrayIndex=1
179 | WarningGlobalVariableAddress=1
180 | WarningInterruptVector=1
181 | WarningConstantNotInitialized=1
182 | WarningSuspiciousPointerConversion=1
183 | WarningRegisterAllocated=1
184 | WarningMacroRedefined=1
185 | WarningFunctionReturn=1
186 | WarningUnreferencedFunction=1
187 | WarningUnreferencedFunctionParameter=1
188 | WarningFunctionParameterName=1
189 | WarningCantInlineFunction=1
190 | WarningUnreferencedLocalVariable=1
191 | WarningLocalVariableSetNotUsed=1
192 | WarningVariableUsedNotSet=1
193 | WarningUnreferencedGlobalVariable=1
194 | WarningUnreferencedLabel=1
195 | WarningEmptyLine=1
196 | WarningExpressionHasNoEffect=1
197 | WarningUnknownEscapeSequence=1
198 | WarningShiftResult0=1
199 | Warning8BitAdditionOverflow=1
200 | Warning8BitMultiplicationOverflow=1
201 | Warning8BitShiftLeftOverflow=1
202 | Warning16BitAdditionOverflow=1
203 | Warning16BitMultiplicationOverflow=1
204 | Warning16BitShiftLeftOverflow=1
205 | WarningPossiblyIncorrectAssignment=1
206 | WarningPointlessComparison=1
207 | WarningConstCtrlExpr=1
208 | WarningUndefinedSymbol=1
209 | WarningCantAllocVarToReg=1
210 | WarningExplicitTypeMissing=1
211 | WarningEnumType=1
212 | WarningTypedefName=1
213 | WarningTypedefRedeclared=1
214 | WarningExtraBraces=1
215 | WarningIncompatibleAssignment=1
216 | WarningIncompatibleInit=1
217 | WarningIncompatibleOperandsTernary=1
218 | WarningIncompatibleFunctionArgument=1
219 | WarningIncompatibleFunctionReturn=1
220 | WarningMemoryAttributeIgnored=1
221 | WarningPragmaVector=1
222 | WarningDataStackUsage=1
223 | WarningDataStackRecursion=1
224 | WarningHardwareStackLow=1
225 | WarningCOFFArrayDim=1
226 | WarningCOFFDataComplex=1
227 | WarningMemoryOverlap=1
228 | WarningFuncDeclaredNeverDefined=1
229 | WarningExternalDeclaredNeverDefined=1
230 | WarningUnknownPragma=1
231 | WarningStaticRamEepromStorageAllocConstStrLit=0
232 | DebugBootLoader=0
233 | WatchAVR8LAutoVariables=0
234 | UseEEPROMLocation0=1
235 | RebuildAll=1
236 | LinkageInformationPresent=0
237 | COFFileTimeStamp=-1
238 | Build=10
239 | IncludePath0=
240 | IncludePath1=
241 | IncludePath2=
242 | IncludePath3=
243 | IncludePath4=
244 | IncludePath5=
245 | IncludePath6=
246 | IncludePath7=
247 | IncludePath8=
248 | IncludePath9=
249 | IncludePath10=
250 | IncludePath11=
251 | IncludePath12=
252 | IncludePath13=
253 | IncludePath14=
254 | IncludePath15=
255 | IncludePath16=
256 | IncludePath17=
257 | IncludePath18=
258 | IncludePath19=
259 | IncludePath20=
260 | IncludePath21=
261 | IncludePath22=
262 | IncludePath23=
263 | IncludePath24=
264 | IncludePath25=
265 | IncludePath26=
266 | IncludePath27=
267 | IncludePath28=
268 | IncludePath29=
269 | IncludePath30=
270 | IncludePath31=
271 | IncludePath32=
272 | IncludePath33=
273 | IncludePath34=
274 | IncludePath35=
275 | IncludePath36=
276 | IncludePath37=
277 | IncludePath38=
278 | IncludePath39=
279 | IncludePath40=
280 | IncludePath41=
281 | IncludePath42=
282 | IncludePath43=
283 | IncludePath44=
284 | IncludePath45=
285 | IncludePath46=
286 | IncludePath47=
287 | IncludePath48=
288 | IncludePath49=
289 | IncludePath50=
290 | IncludePath51=
291 | IncludePath52=
292 | IncludePath53=
293 | IncludePath54=
294 | IncludePath55=
295 | IncludePath56=
296 | IncludePath57=
297 | IncludePath58=
298 | IncludePath59=
299 | IncludePath60=
300 | IncludePath61=
301 | IncludePath62=
302 | IncludePath63=
303 | LibraryPath0=
304 | LibraryPath1=
305 | LibraryPath2=
306 | LibraryPath3=
307 | LibraryPath4=
308 | LibraryPath5=
309 | LibraryPath6=
310 | LibraryPath7=
311 | LibraryPath8=
312 | LibraryPath9=
313 | LibraryPath10=
314 | LibraryPath11=
315 | LibraryPath12=
316 | LibraryPath13=
317 | LibraryPath14=
318 | LibraryPath15=
319 | LibraryPath16=
320 | LibraryPath17=
321 | LibraryPath18=
322 | LibraryPath19=
323 | LibraryPath20=
324 | LibraryPath21=
325 | LibraryPath22=
326 | LibraryPath23=
327 | LibraryPath24=
328 | LibraryPath25=
329 | LibraryPath26=
330 | LibraryPath27=
331 | LibraryPath28=
332 | LibraryPath29=
333 | LibraryPath30=
334 | LibraryPath31=
335 | LibraryPath32=
336 | LibraryPath33=
337 | LibraryPath34=
338 | LibraryPath35=
339 | LibraryPath36=
340 | LibraryPath37=
341 | LibraryPath38=
342 | LibraryPath39=
343 | LibraryPath40=
344 | LibraryPath41=
345 | LibraryPath42=
346 | LibraryPath43=
347 | LibraryPath44=
348 | LibraryPath45=
349 | LibraryPath46=
350 | LibraryPath47=
351 | LibraryPath48=
352 | LibraryPath49=
353 | LibraryPath50=
354 | LibraryPath51=
355 | LibraryPath52=
356 | LibraryPath53=
357 | LibraryPath54=
358 | LibraryPath55=
359 | LibraryPath56=
360 | LibraryPath57=
361 | LibraryPath58=
362 | LibraryPath59=
363 | LibraryPath60=
364 | LibraryPath61=
365 | LibraryPath62=
366 | LibraryPath63=
367 | [DefinedSymbols]
368 | Count=0
369 | [StartUp]
370 | DisableWatchdog=0
371 | [Libraries]
372 | Use1Wire=0
373 | UseI2C=0
374 | I2CBitRate=100
375 | UseDS1302=0
376 | UseFATFS=0
377 | UseAlphanumericLCD=0
378 | GLCDDisplayIndex=0
379 | UseResistiveTouchscreen=0
380 | [USBLibrary]
381 | UseSuspend=0
382 | CDCVirtualSerialPort=0
383 | HIDGeneric=0
384 | HIDKeyboard=0
385 | HIDMouse=0
386 | HIDJoystick=0
387 | [Assembler]
388 | OutputFormat=1
389 | [AfterMake]
390 | ProgrammChip=0
391 | MergeROMFile=0
392 | ROMFilePath=
393 | SCKFrequency=460800
394 | LockBits=0
395 | BootLockBits0=0
396 | BootLockBits1=0
397 | BootLockBits2=0
398 | ProgramFuseBits=1
399 | Fuse1=0
400 | Fuse2=0
401 | Fuse3=0
402 | Fuse4=0
403 | Fuse5=0
404 | Fuse6=0
405 | Fuse7=0
406 | Fuse8=0
407 | Fuse9=0
408 | Fuse10=0
409 | Fuse11=0
410 | Fuse12=0
411 | Fuse13=0
412 | Fuse14=0
413 | Fuse15=0
414 | Fuse16=0
415 | Fuse17=0
416 | Fuse18=0
417 | Fuse19=0
418 | Fuse20=0
419 | Fuse21=0
420 | Fuse22=0
421 | Fuse23=0
422 | Fuse24=0
423 | Fuse25=0
424 | Fuse26=0
425 | Fuse27=0
426 | Fuse28=0
427 | Fuse29=0
428 | Fuse30=0
429 | Fuse31=0
430 | Fuse32=0
431 | Fuse33=0
432 | Fuse34=0
433 | Fuse35=0
434 | Fuse36=0
435 | Fuse37=0
436 | Fuse38=0
437 | Fuse39=0
438 | Fuse40=0
439 | Fuse41=0
440 | Fuse42=0
441 | Fuse43=0
442 | Fuse44=0
443 | Fuse45=0
444 | Fuse46=0
445 | Fuse47=0
446 | Fuse48=0
447 | CheckSignature=1
448 | CheckErasure=0
449 | PreserveEEPROM=0
450 | VerifyProgramming=1
451 | ProgrammingCounter=0
452 | RunUserProg=0
453 | UserProgPath=
454 | UserProgCmdLine=
455 | UserProgWorkDir=
456 | [BeforeMake]
457 | RunUserProg=0
458 | WaitUserProgFinish=1
459 | UserProgPath=
460 | UserProgCmdLine=
461 | UserProgWorkDir=
462 | [BuildInfoCompiler]
463 | L1=Build configuration: Debug
464 | L2=Chip: ATmega32
465 | L3=Clock frequency: 8.000000 MHz
466 | L4=Program type: Application
467 | L5=Memory model: Small
468 | L6=Optimize for: Size
469 | L7=(s)printf features: int, width
470 | L8=(s)scanf features: int, width
471 | L9=Promote 'char' to 'int': Yes
472 | L10='char' is unsigned: Yes
473 | L11=global 'const' stored in FLASH: No
474 | L12=8 bit enums: Yes
475 | L13=Enhanced function parameters passing: Yes
476 | L14=Automatic register allocation: Yes
477 | L15=Smart register allocation: Yes
478 | L16=
479 | L17=Build: 9
480 | L18=836 line(s) compiled
481 | L19=No errors
482 | L20=No warnings
483 | L21=
484 | L22=Bit variables size: 0 byte(s)
485 | L23=
486 | L24=Data Stack area: 0x60 to 0x25F
487 | L25=Data Stack size: 512 byte(s)
488 | L26=Estimated Data Stack usage: 0 byte(s)
489 | L27=
490 | L28=RAM Global variables size: 0 byte(s)
491 | L29=
492 | L30=Hardware Stack area: 0x260 to 0x85F
493 | L31=Hardware Stack size: 1536 byte(s)
494 | L32=
495 | L33=Heap size: 0 byte(s)
496 | L34=
497 | L35=EEPROM usage: 0 byte(s), 0.0% of EEPROM
498 | Lines=37
499 | L36=Program size: 304 words (608 bytes), 1.9% of FLASH
500 | L37=46 words (92 bytes), 13.1% reduced by Code Compression
501 | [BuildInfoAssembler]
502 | Lines=12
503 | L1=AVRASM: AVR macro assembler 2.1.30 (build 592 Nov 7 2008 12:38:17)
504 | L2=Copyright (C) 1995-2008 ATMEL Corporation
505 | L3=
506 | L4=D:\Programming\CodeVision\Code\Project3-2\Debug\List\proj3-2.asm(1561): No EEPROM data, deleting D:\Programming\CodeVision\Code\Project3-2\Debug\Exe\proj3-2.eep
507 | L5=
508 | L6=ATmega32 memory use summary [bytes]:
509 | L7=Segment Begin End Code Data Used Size Use%
510 | L8=---------------------------------------------------------------
511 | L9=[.cseg] 0x000000 0x000260 608 0 608 32768 1.9%
512 | L10=[.dseg] 0x000060 0x000260 0 0 0 2048 0.0%
513 | L11=[.eseg] 0x000000 0x000000 0 0 0 1024 0.0%
514 | L12=
515 | [HeadersList]
516 | Files=1
517 | F1=D:\Programming\CodeVision\Code\Project3-2\proj3-2.c
518 | [Header1]
519 | Files=3
520 | F1=..\..\Application\inc\mega32.h
521 | F2=..\..\Application\inc\mega32_bits.h
522 | F3=..\..\Application\inc\delay.h
523 | [Bookmarks0]
524 | Row=0
525 | Column=0
526 | ScrollPosX=0
527 | ScrollPosY=0
528 | TimeStamp=1452369508
529 | [BookmarksFoldedCode]
530 | Files=2
531 | F1=proj3-2.c
532 | F2=..\Project3-1\proj3-1.c
533 | [Bookmarks1]
534 | TimeStamp=1450010292
535 | Row=0
536 | Column=0
537 | ScrollPosX=0
538 | ScrollPosY=0
539 | BK0=-1
540 | BK1=-1
541 | BK2=-1
542 | BK3=-1
543 | BK4=-1
544 | BK5=-1
545 | BK6=-1
546 | BK7=-1
547 | BK8=-1
548 | BK9=-1
549 | [Bookmarks2]
550 | TimeStamp=1450009445
551 | Row=16
552 | Column=0
553 | ScrollPosX=0
554 | ScrollPosY=0
555 | BK0=-1
556 | BK1=-1
557 | BK2=-1
558 | BK3=-1
559 | BK4=-1
560 | BK5=-1
561 | BK6=-1
562 | BK7=-1
563 | BK8=-1
564 | BK9=-1
565 | [FoldedCode2]
566 | Blocks=0
567 | [FoldedCode1]
568 | Blocks=0
569 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/Link/proj3-2.a:
--------------------------------------------------------------------------------
1 | ;// Ahmad 99463107 and mohammad mehdi 99463108
2 | ;#include
3 | ;PCODE: $00000000 VOL: 0
4 | #ifndef __SLEEP_DEFINED__
5 | ;PCODE: $00000001 VOL: 0
6 | #define __SLEEP_DEFINED__
7 | ;PCODE: $00000002 VOL: 0
8 | .EQU __se_bit=0x80
9 | ;PCODE: $00000003 VOL: 0
10 | .EQU __sm_mask=0x70
11 | ;PCODE: $00000004 VOL: 0
12 | .EQU __sm_powerdown=0x20
13 | ;PCODE: $00000005 VOL: 0
14 | .EQU __sm_powersave=0x30
15 | ;PCODE: $00000006 VOL: 0
16 | .EQU __sm_standby=0x60
17 | ;PCODE: $00000007 VOL: 0
18 | .EQU __sm_ext_standby=0x70
19 | ;PCODE: $00000008 VOL: 0
20 | .EQU __sm_adc_noise_red=0x10
21 | ;PCODE: $00000009 VOL: 0
22 | .SET power_ctrl_reg=mcucr
23 | ;PCODE: $0000000A VOL: 0
24 | #endif
25 | ;PCODE: $0000000B VOL: 0
26 | ;PCODE: $0000000C VOL: 0
27 | ;#include
28 | ;
29 | ;void main(void){
30 | ; 0000 0005 void main(void){
31 |
32 | .CSEG
33 | ;PCODE: $0000000D VOL: 0
34 | ; 0000 0006 int i;
35 | ; 0000 0007 DDRA = 0b11111111;
36 | ; i -> R16,R17
37 | ;PCODE: $0000000E VOL: 0
38 | ;PCODE: $0000000F VOL: 0
39 | ; 0000 0008 DDRB = 0b11111111;
40 | ;PCODE: $00000010 VOL: 0
41 | ;PCODE: $00000011 VOL: 0
42 | ; 0000 0009 while (1){
43 | ;PCODE: $00000012 VOL: 0
44 | ; 0000 000A for (i = 5000; i > 0; i--) {
45 | ;PCODE: $00000013 VOL: 0
46 | ;PCODE: $00000014 VOL: 0
47 | ;PCODE: $00000015 VOL: 0
48 | ;PCODE: $00000016 VOL: 0
49 | ;PCODE: $00000017 VOL: 0
50 | ;PCODE: $00000018 VOL: 0
51 | ;PCODE: $00000019 VOL: 0
52 | ;PCODE: $0000001A VOL: 0
53 | ; 0000 000B PORTA = 0b11111110;
54 | ;PCODE: $0000001B VOL: 0
55 | ;PCODE: $0000001C VOL: 0
56 | ; 0000 000C PORTB = 0b11111110;
57 | ;PCODE: $0000001D VOL: 0
58 | ;PCODE: $0000001E VOL: 0
59 | ; 0000 000D PORTA = 0b00000000;
60 | ;PCODE: $0000001F VOL: 0
61 | ;PCODE: $00000020 VOL: 0
62 | ; 0000 000E PORTB = 0b11111111;
63 | ;PCODE: $00000021 VOL: 0
64 | ;PCODE: $00000022 VOL: 0
65 | ; 0000 000F }
66 | ;PCODE: $00000023 VOL: 0
67 | ;PCODE: $00000024 VOL: 0
68 | ;PCODE: $00000025 VOL: 0
69 | ;PCODE: $00000026 VOL: 0
70 | ;PCODE: $00000027 VOL: 0
71 | ; 0000 0010 for (i = 5000; i > 0; i--) {
72 | ;PCODE: $00000028 VOL: 0
73 | ;PCODE: $00000029 VOL: 0
74 | ;PCODE: $0000002A VOL: 0
75 | ;PCODE: $0000002B VOL: 0
76 | ;PCODE: $0000002C VOL: 0
77 | ;PCODE: $0000002D VOL: 0
78 | ;PCODE: $0000002E VOL: 0
79 | ;PCODE: $0000002F VOL: 0
80 | ; 0000 0011 PORTA = 0b11111110;
81 | ;PCODE: $00000030 VOL: 0
82 | ;PCODE: $00000031 VOL: 0
83 | ; 0000 0012 PORTB = 0b11111101;
84 | ;PCODE: $00000032 VOL: 0
85 | ;PCODE: $00000033 VOL: 0
86 | ; 0000 0013 PORTB = 0b11111111;
87 | ;PCODE: $00000034 VOL: 0
88 | ;PCODE: $00000035 VOL: 0
89 | ; 0000 0014 PORTA = 0b00010001;
90 | ;PCODE: $00000036 VOL: 0
91 | ;PCODE: $00000037 VOL: 0
92 | ; 0000 0015 PORTB = 0b11111110;
93 | ;PCODE: $00000038 VOL: 0
94 | ;PCODE: $00000039 VOL: 0
95 | ; 0000 0016 PORTA = 0b00000000;
96 | ;PCODE: $0000003A VOL: 0
97 | ;PCODE: $0000003B VOL: 0
98 | ; 0000 0017 PORTB = 0b11111111;
99 | ;PCODE: $0000003C VOL: 0
100 | ;PCODE: $0000003D VOL: 0
101 | ; 0000 0018 }
102 | ;PCODE: $0000003E VOL: 0
103 | ;PCODE: $0000003F VOL: 0
104 | ;PCODE: $00000040 VOL: 0
105 | ;PCODE: $00000041 VOL: 0
106 | ;PCODE: $00000042 VOL: 0
107 | ; 0000 0019 for (i = 5000; i > 0; i--) {
108 | ;PCODE: $00000043 VOL: 0
109 | ;PCODE: $00000044 VOL: 0
110 | ;PCODE: $00000045 VOL: 0
111 | ;PCODE: $00000046 VOL: 0
112 | ;PCODE: $00000047 VOL: 0
113 | ;PCODE: $00000048 VOL: 0
114 | ;PCODE: $00000049 VOL: 0
115 | ;PCODE: $0000004A VOL: 0
116 | ; 0000 001A PORTA = 0b11111110;
117 | ;PCODE: $0000004B VOL: 0
118 | ;PCODE: $0000004C VOL: 0
119 | ; 0000 001B PORTB = 0b11111011;
120 | ;PCODE: $0000004D VOL: 0
121 | ;PCODE: $0000004E VOL: 0
122 | ; 0000 001C PORTB = 0b11111111;
123 | ;PCODE: $0000004F VOL: 0
124 | ;PCODE: $00000050 VOL: 0
125 | ; 0000 001D PORTA = 0b00010001;
126 | ;PCODE: $00000051 VOL: 0
127 | ;PCODE: $00000052 VOL: 0
128 | ; 0000 001E PORTB = 0b11111100;
129 | ;PCODE: $00000053 VOL: 0
130 | ;PCODE: $00000054 VOL: 0
131 | ; 0000 001F PORTA = 0b00000000;
132 | ;PCODE: $00000055 VOL: 0
133 | ;PCODE: $00000056 VOL: 0
134 | ; 0000 0020 PORTB = 0b11111111;
135 | ;PCODE: $00000057 VOL: 0
136 | ;PCODE: $00000058 VOL: 0
137 | ; 0000 0021 }
138 | ;PCODE: $00000059 VOL: 0
139 | ;PCODE: $0000005A VOL: 0
140 | ;PCODE: $0000005B VOL: 0
141 | ;PCODE: $0000005C VOL: 0
142 | ;PCODE: $0000005D VOL: 0
143 | ; 0000 0022 for (i = 5000; i > 0; i--) {
144 | ;PCODE: $0000005E VOL: 0
145 | ;PCODE: $0000005F VOL: 0
146 | ;PCODE: $00000060 VOL: 0
147 | ;PCODE: $00000061 VOL: 0
148 | ;PCODE: $00000062 VOL: 0
149 | ;PCODE: $00000063 VOL: 0
150 | ;PCODE: $00000064 VOL: 0
151 | ;PCODE: $00000065 VOL: 0
152 | ; 0000 0023 PORTA = 0b11111110;
153 | ;PCODE: $00000066 VOL: 0
154 | ;PCODE: $00000067 VOL: 0
155 | ; 0000 0024 PORTB = 0b11110111;
156 | ;PCODE: $00000068 VOL: 0
157 | ;PCODE: $00000069 VOL: 0
158 | ; 0000 0025 PORTB = 0b11111111;
159 | ;PCODE: $0000006A VOL: 0
160 | ;PCODE: $0000006B VOL: 0
161 | ; 0000 0026 PORTA = 0b00010001;
162 | ;PCODE: $0000006C VOL: 0
163 | ;PCODE: $0000006D VOL: 0
164 | ; 0000 0027 PORTB = 0b11111000;
165 | ;PCODE: $0000006E VOL: 0
166 | ;PCODE: $0000006F VOL: 0
167 | ; 0000 0028 PORTA = 0b00000000;
168 | ;PCODE: $00000070 VOL: 0
169 | ;PCODE: $00000071 VOL: 0
170 | ; 0000 0029 PORTB = 0b11111111;
171 | ;PCODE: $00000072 VOL: 0
172 | ;PCODE: $00000073 VOL: 0
173 | ; 0000 002A }
174 | ;PCODE: $00000074 VOL: 0
175 | ;PCODE: $00000075 VOL: 0
176 | ;PCODE: $00000076 VOL: 0
177 | ;PCODE: $00000077 VOL: 0
178 | ;PCODE: $00000078 VOL: 0
179 | ; 0000 002B for (i = 5000; i > 0; i--) {
180 | ;PCODE: $00000079 VOL: 0
181 | ;PCODE: $0000007A VOL: 0
182 | ;PCODE: $0000007B VOL: 0
183 | ;PCODE: $0000007C VOL: 0
184 | ;PCODE: $0000007D VOL: 0
185 | ;PCODE: $0000007E VOL: 0
186 | ;PCODE: $0000007F VOL: 0
187 | ;PCODE: $00000080 VOL: 0
188 | ; 0000 002C PORTA = 0b11111110;
189 | ;PCODE: $00000081 VOL: 0
190 | ;PCODE: $00000082 VOL: 0
191 | ; 0000 002D PORTB = 0b11101111;
192 | ;PCODE: $00000083 VOL: 0
193 | ;PCODE: $00000084 VOL: 0
194 | ; 0000 002E PORTB = 0b11111111;
195 | ;PCODE: $00000085 VOL: 0
196 | ;PCODE: $00000086 VOL: 0
197 | ; 0000 002F PORTA = 0b00010001;
198 | ;PCODE: $00000087 VOL: 0
199 | ;PCODE: $00000088 VOL: 0
200 | ; 0000 0030 PORTB = 0b11110000;
201 | ;PCODE: $00000089 VOL: 0
202 | ;PCODE: $0000008A VOL: 0
203 | ; 0000 0031 PORTA = 0b00000000;
204 | ;PCODE: $0000008B VOL: 0
205 | ;PCODE: $0000008C VOL: 0
206 | ; 0000 0032 PORTB = 0b11111111;
207 | ;PCODE: $0000008D VOL: 0
208 | ;PCODE: $0000008E VOL: 0
209 | ; 0000 0033 }
210 | ;PCODE: $0000008F VOL: 0
211 | ;PCODE: $00000090 VOL: 0
212 | ;PCODE: $00000091 VOL: 0
213 | ;PCODE: $00000092 VOL: 0
214 | ;PCODE: $00000093 VOL: 0
215 | ; 0000 0034 for (i = 5000; i > 0; i--) {
216 | ;PCODE: $00000094 VOL: 0
217 | ;PCODE: $00000095 VOL: 0
218 | ;PCODE: $00000096 VOL: 0
219 | ;PCODE: $00000097 VOL: 0
220 | ;PCODE: $00000098 VOL: 0
221 | ;PCODE: $00000099 VOL: 0
222 | ;PCODE: $0000009A VOL: 0
223 | ;PCODE: $0000009B VOL: 0
224 | ; 0000 0035 PORTA = 0b11111110;
225 | ;PCODE: $0000009C VOL: 0
226 | ;PCODE: $0000009D VOL: 0
227 | ; 0000 0036 PORTB = 0b11011110;
228 | ;PCODE: $0000009E VOL: 0
229 | ;PCODE: $0000009F VOL: 0
230 | ; 0000 0037 PORTB = 0b11111111;
231 | ;PCODE: $000000A0 VOL: 0
232 | ;PCODE: $000000A1 VOL: 0
233 | ; 0000 0038 PORTA = 0b00010001;
234 | ;PCODE: $000000A2 VOL: 0
235 | ;PCODE: $000000A3 VOL: 0
236 | ; 0000 0039 PORTB = 0b11100001;
237 | ;PCODE: $000000A4 VOL: 0
238 | ;PCODE: $000000A5 VOL: 0
239 | ; 0000 003A PORTA = 0b00000000;
240 | ;PCODE: $000000A6 VOL: 0
241 | ;PCODE: $000000A7 VOL: 0
242 | ; 0000 003B PORTB = 0b11111111;
243 | ;PCODE: $000000A8 VOL: 0
244 | ;PCODE: $000000A9 VOL: 0
245 | ; 0000 003C }
246 | ;PCODE: $000000AA VOL: 0
247 | ;PCODE: $000000AB VOL: 0
248 | ;PCODE: $000000AC VOL: 0
249 | ;PCODE: $000000AD VOL: 0
250 | ;PCODE: $000000AE VOL: 0
251 | ; 0000 003D for (i = 5000; i > 0; i--) {
252 | ;PCODE: $000000AF VOL: 0
253 | ;PCODE: $000000B0 VOL: 0
254 | ;PCODE: $000000B1 VOL: 0
255 | ;PCODE: $000000B2 VOL: 0
256 | ;PCODE: $000000B3 VOL: 0
257 | ;PCODE: $000000B4 VOL: 0
258 | ;PCODE: $000000B5 VOL: 0
259 | ;PCODE: $000000B6 VOL: 0
260 | ; 0000 003E PORTA = 0b11111110;
261 | ;PCODE: $000000B7 VOL: 0
262 | ;PCODE: $000000B8 VOL: 0
263 | ; 0000 003F PORTB = 0b10111101;
264 | ;PCODE: $000000B9 VOL: 0
265 | ;PCODE: $000000BA VOL: 0
266 | ; 0000 0040 PORTB = 0b11111111;
267 | ;PCODE: $000000BB VOL: 0
268 | ;PCODE: $000000BC VOL: 0
269 | ; 0000 0041 PORTA = 0b00010001;
270 | ;PCODE: $000000BD VOL: 0
271 | ;PCODE: $000000BE VOL: 0
272 | ; 0000 0042 PORTB = 0b11000011;
273 | ;PCODE: $000000BF VOL: 0
274 | ;PCODE: $000000C0 VOL: 0
275 | ; 0000 0043 PORTA = 0b00000000;
276 | ;PCODE: $000000C1 VOL: 0
277 | ;PCODE: $000000C2 VOL: 0
278 | ; 0000 0044 PORTB = 0b11111111;
279 | ;PCODE: $000000C3 VOL: 0
280 | ;PCODE: $000000C4 VOL: 0
281 | ; 0000 0045 }
282 | ;PCODE: $000000C5 VOL: 0
283 | ;PCODE: $000000C6 VOL: 0
284 | ;PCODE: $000000C7 VOL: 0
285 | ;PCODE: $000000C8 VOL: 0
286 | ;PCODE: $000000C9 VOL: 0
287 | ; 0000 0046 for (i = 5000; i > 0; i--) {
288 | ;PCODE: $000000CA VOL: 0
289 | ;PCODE: $000000CB VOL: 0
290 | ;PCODE: $000000CC VOL: 0
291 | ;PCODE: $000000CD VOL: 0
292 | ;PCODE: $000000CE VOL: 0
293 | ;PCODE: $000000CF VOL: 0
294 | ;PCODE: $000000D0 VOL: 0
295 | ;PCODE: $000000D1 VOL: 0
296 | ; 0000 0047 PORTA = 0b11111110;
297 | ;PCODE: $000000D2 VOL: 0
298 | ;PCODE: $000000D3 VOL: 0
299 | ; 0000 0048 PORTB = 0b01111011;
300 | ;PCODE: $000000D4 VOL: 0
301 | ;PCODE: $000000D5 VOL: 0
302 | ; 0000 0049 PORTB = 0b11111111;
303 | ;PCODE: $000000D6 VOL: 0
304 | ;PCODE: $000000D7 VOL: 0
305 | ; 0000 004A PORTA = 0b00010001;
306 | ;PCODE: $000000D8 VOL: 0
307 | ;PCODE: $000000D9 VOL: 0
308 | ; 0000 004B PORTB = 0b10000111;
309 | ;PCODE: $000000DA VOL: 0
310 | ;PCODE: $000000DB VOL: 0
311 | ; 0000 004C PORTA = 0b00000000;
312 | ;PCODE: $000000DC VOL: 0
313 | ;PCODE: $000000DD VOL: 0
314 | ; 0000 004D PORTB = 0b11111111;
315 | ;PCODE: $000000DE VOL: 0
316 | ;PCODE: $000000DF VOL: 0
317 | ; 0000 004E }
318 | ;PCODE: $000000E0 VOL: 0
319 | ;PCODE: $000000E1 VOL: 0
320 | ;PCODE: $000000E2 VOL: 0
321 | ;PCODE: $000000E3 VOL: 0
322 | ;PCODE: $000000E4 VOL: 0
323 | ; 0000 004F for (i = 5000; i > 0; i--) {
324 | ;PCODE: $000000E5 VOL: 0
325 | ;PCODE: $000000E6 VOL: 0
326 | ;PCODE: $000000E7 VOL: 0
327 | ;PCODE: $000000E8 VOL: 0
328 | ;PCODE: $000000E9 VOL: 0
329 | ;PCODE: $000000EA VOL: 0
330 | ;PCODE: $000000EB VOL: 0
331 | ;PCODE: $000000EC VOL: 0
332 | ; 0000 0050 PORTA = 0b11111110;
333 | ;PCODE: $000000ED VOL: 0
334 | ;PCODE: $000000EE VOL: 0
335 | ; 0000 0051 PORTB = 0b11110111;
336 | ;PCODE: $000000EF VOL: 0
337 | ;PCODE: $000000F0 VOL: 0
338 | ; 0000 0052 PORTB = 0b11111111;
339 | ;PCODE: $000000F1 VOL: 0
340 | ;PCODE: $000000F2 VOL: 0
341 | ; 0000 0053 PORTA = 0b00010001;
342 | ;PCODE: $000000F3 VOL: 0
343 | ;PCODE: $000000F4 VOL: 0
344 | ; 0000 0054 PORTB = 0b00001111;
345 | ;PCODE: $000000F5 VOL: 0
346 | ;PCODE: $000000F6 VOL: 0
347 | ; 0000 0055 PORTA = 0b00000000;
348 | ;PCODE: $000000F7 VOL: 0
349 | ;PCODE: $000000F8 VOL: 0
350 | ; 0000 0056 PORTB = 0b11111111;
351 | ;PCODE: $000000F9 VOL: 0
352 | ;PCODE: $000000FA VOL: 0
353 | ; 0000 0057 }
354 | ;PCODE: $000000FB VOL: 0
355 | ;PCODE: $000000FC VOL: 0
356 | ;PCODE: $000000FD VOL: 0
357 | ;PCODE: $000000FE VOL: 0
358 | ;PCODE: $000000FF VOL: 0
359 | ; 0000 0058 for (i = 5000; i > 0; i--) {
360 | ;PCODE: $00000100 VOL: 0
361 | ;PCODE: $00000101 VOL: 0
362 | ;PCODE: $00000102 VOL: 0
363 | ;PCODE: $00000103 VOL: 0
364 | ;PCODE: $00000104 VOL: 0
365 | ;PCODE: $00000105 VOL: 0
366 | ;PCODE: $00000106 VOL: 0
367 | ;PCODE: $00000107 VOL: 0
368 | ; 0000 0059 PORTA = 0b11111110;
369 | ;PCODE: $00000108 VOL: 0
370 | ;PCODE: $00000109 VOL: 0
371 | ; 0000 005A PORTB = 0b11101111;
372 | ;PCODE: $0000010A VOL: 0
373 | ;PCODE: $0000010B VOL: 0
374 | ; 0000 005B PORTB = 0b11111111;
375 | ;PCODE: $0000010C VOL: 0
376 | ;PCODE: $0000010D VOL: 0
377 | ; 0000 005C PORTA = 0b00010001;
378 | ;PCODE: $0000010E VOL: 0
379 | ;PCODE: $0000010F VOL: 0
380 | ; 0000 005D PORTB = 0b00011111;
381 | ;PCODE: $00000110 VOL: 0
382 | ;PCODE: $00000111 VOL: 0
383 | ; 0000 005E PORTA = 0b00000000;
384 | ;PCODE: $00000112 VOL: 0
385 | ;PCODE: $00000113 VOL: 0
386 | ; 0000 005F PORTB = 0b11111111;
387 | ;PCODE: $00000114 VOL: 0
388 | ;PCODE: $00000115 VOL: 0
389 | ; 0000 0060 }
390 | ;PCODE: $00000116 VOL: 0
391 | ;PCODE: $00000117 VOL: 0
392 | ;PCODE: $00000118 VOL: 0
393 | ;PCODE: $00000119 VOL: 0
394 | ;PCODE: $0000011A VOL: 0
395 | ; 0000 0061 for (i = 5000; i > 0; i--) {
396 | ;PCODE: $0000011B VOL: 0
397 | ;PCODE: $0000011C VOL: 0
398 | ;PCODE: $0000011D VOL: 0
399 | ;PCODE: $0000011E VOL: 0
400 | ;PCODE: $0000011F VOL: 0
401 | ;PCODE: $00000120 VOL: 0
402 | ;PCODE: $00000121 VOL: 0
403 | ;PCODE: $00000122 VOL: 0
404 | ; 0000 0062 PORTA = 0b11111110;
405 | ;PCODE: $00000123 VOL: 0
406 | ;PCODE: $00000124 VOL: 0
407 | ; 0000 0063 PORTB = 0b11011111;
408 | ;PCODE: $00000125 VOL: 0
409 | ;PCODE: $00000126 VOL: 0
410 | ; 0000 0064 PORTB = 0b11111111;
411 | ;PCODE: $00000127 VOL: 0
412 | ;PCODE: $00000128 VOL: 0
413 | ; 0000 0065 PORTA = 0b00010001;
414 | ;PCODE: $00000129 VOL: 0
415 | ;PCODE: $0000012A VOL: 0
416 | ; 0000 0066 PORTB = 0b00111111;
417 | ;PCODE: $0000012B VOL: 0
418 | ;PCODE: $0000012C VOL: 0
419 | ; 0000 0067 PORTA = 0b00000000;
420 | ;PCODE: $0000012D VOL: 0
421 | ;PCODE: $0000012E VOL: 0
422 | ; 0000 0068 PORTB = 0b11111111;
423 | ;PCODE: $0000012F VOL: 0
424 | ;PCODE: $00000130 VOL: 0
425 | ; 0000 0069 }
426 | ;PCODE: $00000131 VOL: 0
427 | ;PCODE: $00000132 VOL: 0
428 | ;PCODE: $00000133 VOL: 0
429 | ;PCODE: $00000134 VOL: 0
430 | ;PCODE: $00000135 VOL: 0
431 | ; 0000 006A for (i = 5000; i > 0; i--) {
432 | ;PCODE: $00000136 VOL: 0
433 | ;PCODE: $00000137 VOL: 0
434 | ;PCODE: $00000138 VOL: 0
435 | ;PCODE: $00000139 VOL: 0
436 | ;PCODE: $0000013A VOL: 0
437 | ;PCODE: $0000013B VOL: 0
438 | ;PCODE: $0000013C VOL: 0
439 | ;PCODE: $0000013D VOL: 0
440 | ; 0000 006B PORTA = 0b11111110;
441 | ;PCODE: $0000013E VOL: 0
442 | ;PCODE: $0000013F VOL: 0
443 | ; 0000 006C PORTB = 0b10111111;
444 | ;PCODE: $00000140 VOL: 0
445 | ;PCODE: $00000141 VOL: 0
446 | ; 0000 006D PORTB = 0b11111111;
447 | ;PCODE: $00000142 VOL: 0
448 | ;PCODE: $00000143 VOL: 0
449 | ; 0000 006E PORTA = 0b00010001;
450 | ;PCODE: $00000144 VOL: 0
451 | ;PCODE: $00000145 VOL: 0
452 | ; 0000 006F PORTB = 0b01111111;
453 | ;PCODE: $00000146 VOL: 0
454 | ;PCODE: $00000147 VOL: 0
455 | ; 0000 0070 PORTA = 0b00000000;
456 | ;PCODE: $00000148 VOL: 0
457 | ;PCODE: $00000149 VOL: 0
458 | ; 0000 0071 PORTB = 0b11111111;
459 | ;PCODE: $0000014A VOL: 0
460 | ;PCODE: $0000014B VOL: 0
461 | ; 0000 0072 }
462 | ;PCODE: $0000014C VOL: 0
463 | ;PCODE: $0000014D VOL: 0
464 | ;PCODE: $0000014E VOL: 0
465 | ;PCODE: $0000014F VOL: 0
466 | ;PCODE: $00000150 VOL: 0
467 | ; 0000 0073 for (i = 5000; i > 0; i--) {
468 | ;PCODE: $00000151 VOL: 0
469 | ;PCODE: $00000152 VOL: 0
470 | ;PCODE: $00000153 VOL: 0
471 | ;PCODE: $00000154 VOL: 0
472 | ;PCODE: $00000155 VOL: 0
473 | ;PCODE: $00000156 VOL: 0
474 | ;PCODE: $00000157 VOL: 0
475 | ;PCODE: $00000158 VOL: 0
476 | ; 0000 0074 PORTA = 0b11111110;
477 | ;PCODE: $00000159 VOL: 0
478 | ;PCODE: $0000015A VOL: 0
479 | ; 0000 0075 PORTB = 0b01111111;
480 | ;PCODE: $0000015B VOL: 0
481 | ;PCODE: $0000015C VOL: 0
482 | ; 0000 0076 PORTA = 0b00000000;
483 | ;PCODE: $0000015D VOL: 0
484 | ;PCODE: $0000015E VOL: 0
485 | ; 0000 0077 PORTB = 0b11111111;
486 | ;PCODE: $0000015F VOL: 0
487 | ;PCODE: $00000160 VOL: 0
488 | ; 0000 0078 }
489 | ;PCODE: $00000161 VOL: 0
490 | ;PCODE: $00000162 VOL: 0
491 | ;PCODE: $00000163 VOL: 0
492 | ;PCODE: $00000164 VOL: 0
493 | ;PCODE: $00000165 VOL: 0
494 | ; 0000 0079 for (i = 5000; i > 0; i--) {
495 | ;PCODE: $00000166 VOL: 0
496 | ;PCODE: $00000167 VOL: 0
497 | ;PCODE: $00000168 VOL: 0
498 | ;PCODE: $00000169 VOL: 0
499 | ;PCODE: $0000016A VOL: 0
500 | ;PCODE: $0000016B VOL: 0
501 | ;PCODE: $0000016C VOL: 0
502 | ;PCODE: $0000016D VOL: 0
503 | ; 0000 007A PORTA = 0b00000000;
504 | ;PCODE: $0000016E VOL: 0
505 | ;PCODE: $0000016F VOL: 0
506 | ; 0000 007B PORTB = 0b11111111;
507 | ;PCODE: $00000170 VOL: 0
508 | ;PCODE: $00000171 VOL: 0
509 | ; 0000 007C }
510 | ;PCODE: $00000172 VOL: 0
511 | ;PCODE: $00000173 VOL: 0
512 | ;PCODE: $00000174 VOL: 0
513 | ;PCODE: $00000175 VOL: 0
514 | ;PCODE: $00000176 VOL: 0
515 | ; 0000 007D }
516 | ;PCODE: $00000177 VOL: 0
517 | ;PCODE: $00000178 VOL: 0
518 | ; 0000 007E }
519 | ;PCODE: $00000179 VOL: 0
520 | ;PCODE: $0000017A VOL: 0
521 | ;PCODE: $0000017B VOL: 0
522 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-1/Debug/List/proj3-1.asm:
--------------------------------------------------------------------------------
1 |
2 | ;CodeVisionAVR C Compiler V3.12 Advanced
3 | ;(C) Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
4 | ;http://www.hpinfotech.com
5 |
6 | ;Build configuration : Debug
7 | ;Chip type : ATmega32
8 | ;Program type : Application
9 | ;Clock frequency : 8.000000 MHz
10 | ;Memory model : Small
11 | ;Optimize for : Size
12 | ;(s)printf features : int, width
13 | ;(s)scanf features : int, width
14 | ;External RAM size : 0
15 | ;Data Stack size : 512 byte(s)
16 | ;Heap size : 0 byte(s)
17 | ;Promote 'char' to 'int': Yes
18 | ;'char' is unsigned : Yes
19 | ;8 bit enums : Yes
20 | ;Global 'const' stored in FLASH: No
21 | ;Enhanced function parameter passing: Yes
22 | ;Enhanced core instructions: On
23 | ;Automatic register allocation for global variables: On
24 | ;Smart register allocation: On
25 |
26 | #define _MODEL_SMALL_
27 |
28 | #pragma AVRPART ADMIN PART_NAME ATmega32
29 | #pragma AVRPART MEMORY PROG_FLASH 32768
30 | #pragma AVRPART MEMORY EEPROM 1024
31 | #pragma AVRPART MEMORY INT_SRAM SIZE 2048
32 | #pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
33 |
34 | #define CALL_SUPPORTED 1
35 |
36 | .LISTMAC
37 | .EQU UDRE=0x5
38 | .EQU RXC=0x7
39 | .EQU USR=0xB
40 | .EQU UDR=0xC
41 | .EQU SPSR=0xE
42 | .EQU SPDR=0xF
43 | .EQU EERE=0x0
44 | .EQU EEWE=0x1
45 | .EQU EEMWE=0x2
46 | .EQU EECR=0x1C
47 | .EQU EEDR=0x1D
48 | .EQU EEARL=0x1E
49 | .EQU EEARH=0x1F
50 | .EQU WDTCR=0x21
51 | .EQU MCUCR=0x35
52 | .EQU GICR=0x3B
53 | .EQU SPL=0x3D
54 | .EQU SPH=0x3E
55 | .EQU SREG=0x3F
56 |
57 | .DEF R0X0=R0
58 | .DEF R0X1=R1
59 | .DEF R0X2=R2
60 | .DEF R0X3=R3
61 | .DEF R0X4=R4
62 | .DEF R0X5=R5
63 | .DEF R0X6=R6
64 | .DEF R0X7=R7
65 | .DEF R0X8=R8
66 | .DEF R0X9=R9
67 | .DEF R0XA=R10
68 | .DEF R0XB=R11
69 | .DEF R0XC=R12
70 | .DEF R0XD=R13
71 | .DEF R0XE=R14
72 | .DEF R0XF=R15
73 | .DEF R0X10=R16
74 | .DEF R0X11=R17
75 | .DEF R0X12=R18
76 | .DEF R0X13=R19
77 | .DEF R0X14=R20
78 | .DEF R0X15=R21
79 | .DEF R0X16=R22
80 | .DEF R0X17=R23
81 | .DEF R0X18=R24
82 | .DEF R0X19=R25
83 | .DEF R0X1A=R26
84 | .DEF R0X1B=R27
85 | .DEF R0X1C=R28
86 | .DEF R0X1D=R29
87 | .DEF R0X1E=R30
88 | .DEF R0X1F=R31
89 |
90 | .EQU __SRAM_START=0x0060
91 | .EQU __SRAM_END=0x085F
92 | .EQU __DSTACK_SIZE=0x0200
93 | .EQU __HEAP_SIZE=0x0000
94 | .EQU __CLEAR_SRAM_SIZE=__SRAM_END-__SRAM_START+1
95 |
96 | .MACRO __CPD1N
97 | CPI R30,LOW(@0)
98 | LDI R26,HIGH(@0)
99 | CPC R31,R26
100 | LDI R26,BYTE3(@0)
101 | CPC R22,R26
102 | LDI R26,BYTE4(@0)
103 | CPC R23,R26
104 | .ENDM
105 |
106 | .MACRO __CPD2N
107 | CPI R26,LOW(@0)
108 | LDI R30,HIGH(@0)
109 | CPC R27,R30
110 | LDI R30,BYTE3(@0)
111 | CPC R24,R30
112 | LDI R30,BYTE4(@0)
113 | CPC R25,R30
114 | .ENDM
115 |
116 | .MACRO __CPWRR
117 | CP R@0,R@2
118 | CPC R@1,R@3
119 | .ENDM
120 |
121 | .MACRO __CPWRN
122 | CPI R@0,LOW(@2)
123 | LDI R30,HIGH(@2)
124 | CPC R@1,R30
125 | .ENDM
126 |
127 | .MACRO __ADDB1MN
128 | SUBI R30,LOW(-@0-(@1))
129 | .ENDM
130 |
131 | .MACRO __ADDB2MN
132 | SUBI R26,LOW(-@0-(@1))
133 | .ENDM
134 |
135 | .MACRO __ADDW1MN
136 | SUBI R30,LOW(-@0-(@1))
137 | SBCI R31,HIGH(-@0-(@1))
138 | .ENDM
139 |
140 | .MACRO __ADDW2MN
141 | SUBI R26,LOW(-@0-(@1))
142 | SBCI R27,HIGH(-@0-(@1))
143 | .ENDM
144 |
145 | .MACRO __ADDW1FN
146 | SUBI R30,LOW(-2*@0-(@1))
147 | SBCI R31,HIGH(-2*@0-(@1))
148 | .ENDM
149 |
150 | .MACRO __ADDD1FN
151 | SUBI R30,LOW(-2*@0-(@1))
152 | SBCI R31,HIGH(-2*@0-(@1))
153 | SBCI R22,BYTE3(-2*@0-(@1))
154 | .ENDM
155 |
156 | .MACRO __ADDD1N
157 | SUBI R30,LOW(-@0)
158 | SBCI R31,HIGH(-@0)
159 | SBCI R22,BYTE3(-@0)
160 | SBCI R23,BYTE4(-@0)
161 | .ENDM
162 |
163 | .MACRO __ADDD2N
164 | SUBI R26,LOW(-@0)
165 | SBCI R27,HIGH(-@0)
166 | SBCI R24,BYTE3(-@0)
167 | SBCI R25,BYTE4(-@0)
168 | .ENDM
169 |
170 | .MACRO __SUBD1N
171 | SUBI R30,LOW(@0)
172 | SBCI R31,HIGH(@0)
173 | SBCI R22,BYTE3(@0)
174 | SBCI R23,BYTE4(@0)
175 | .ENDM
176 |
177 | .MACRO __SUBD2N
178 | SUBI R26,LOW(@0)
179 | SBCI R27,HIGH(@0)
180 | SBCI R24,BYTE3(@0)
181 | SBCI R25,BYTE4(@0)
182 | .ENDM
183 |
184 | .MACRO __ANDBMNN
185 | LDS R30,@0+(@1)
186 | ANDI R30,LOW(@2)
187 | STS @0+(@1),R30
188 | .ENDM
189 |
190 | .MACRO __ANDWMNN
191 | LDS R30,@0+(@1)
192 | ANDI R30,LOW(@2)
193 | STS @0+(@1),R30
194 | LDS R30,@0+(@1)+1
195 | ANDI R30,HIGH(@2)
196 | STS @0+(@1)+1,R30
197 | .ENDM
198 |
199 | .MACRO __ANDD1N
200 | ANDI R30,LOW(@0)
201 | ANDI R31,HIGH(@0)
202 | ANDI R22,BYTE3(@0)
203 | ANDI R23,BYTE4(@0)
204 | .ENDM
205 |
206 | .MACRO __ANDD2N
207 | ANDI R26,LOW(@0)
208 | ANDI R27,HIGH(@0)
209 | ANDI R24,BYTE3(@0)
210 | ANDI R25,BYTE4(@0)
211 | .ENDM
212 |
213 | .MACRO __ORBMNN
214 | LDS R30,@0+(@1)
215 | ORI R30,LOW(@2)
216 | STS @0+(@1),R30
217 | .ENDM
218 |
219 | .MACRO __ORWMNN
220 | LDS R30,@0+(@1)
221 | ORI R30,LOW(@2)
222 | STS @0+(@1),R30
223 | LDS R30,@0+(@1)+1
224 | ORI R30,HIGH(@2)
225 | STS @0+(@1)+1,R30
226 | .ENDM
227 |
228 | .MACRO __ORD1N
229 | ORI R30,LOW(@0)
230 | ORI R31,HIGH(@0)
231 | ORI R22,BYTE3(@0)
232 | ORI R23,BYTE4(@0)
233 | .ENDM
234 |
235 | .MACRO __ORD2N
236 | ORI R26,LOW(@0)
237 | ORI R27,HIGH(@0)
238 | ORI R24,BYTE3(@0)
239 | ORI R25,BYTE4(@0)
240 | .ENDM
241 |
242 | .MACRO __DELAY_USB
243 | LDI R24,LOW(@0)
244 | __DELAY_USB_LOOP:
245 | DEC R24
246 | BRNE __DELAY_USB_LOOP
247 | .ENDM
248 |
249 | .MACRO __DELAY_USW
250 | LDI R24,LOW(@0)
251 | LDI R25,HIGH(@0)
252 | __DELAY_USW_LOOP:
253 | SBIW R24,1
254 | BRNE __DELAY_USW_LOOP
255 | .ENDM
256 |
257 | .MACRO __GETD1S
258 | LDD R30,Y+@0
259 | LDD R31,Y+@0+1
260 | LDD R22,Y+@0+2
261 | LDD R23,Y+@0+3
262 | .ENDM
263 |
264 | .MACRO __GETD2S
265 | LDD R26,Y+@0
266 | LDD R27,Y+@0+1
267 | LDD R24,Y+@0+2
268 | LDD R25,Y+@0+3
269 | .ENDM
270 |
271 | .MACRO __PUTD1S
272 | STD Y+@0,R30
273 | STD Y+@0+1,R31
274 | STD Y+@0+2,R22
275 | STD Y+@0+3,R23
276 | .ENDM
277 |
278 | .MACRO __PUTD2S
279 | STD Y+@0,R26
280 | STD Y+@0+1,R27
281 | STD Y+@0+2,R24
282 | STD Y+@0+3,R25
283 | .ENDM
284 |
285 | .MACRO __PUTDZ2
286 | STD Z+@0,R26
287 | STD Z+@0+1,R27
288 | STD Z+@0+2,R24
289 | STD Z+@0+3,R25
290 | .ENDM
291 |
292 | .MACRO __CLRD1S
293 | STD Y+@0,R30
294 | STD Y+@0+1,R30
295 | STD Y+@0+2,R30
296 | STD Y+@0+3,R30
297 | .ENDM
298 |
299 | .MACRO __POINTB1MN
300 | LDI R30,LOW(@0+(@1))
301 | .ENDM
302 |
303 | .MACRO __POINTW1MN
304 | LDI R30,LOW(@0+(@1))
305 | LDI R31,HIGH(@0+(@1))
306 | .ENDM
307 |
308 | .MACRO __POINTD1M
309 | LDI R30,LOW(@0)
310 | LDI R31,HIGH(@0)
311 | LDI R22,BYTE3(@0)
312 | LDI R23,BYTE4(@0)
313 | .ENDM
314 |
315 | .MACRO __POINTW1FN
316 | LDI R30,LOW(2*@0+(@1))
317 | LDI R31,HIGH(2*@0+(@1))
318 | .ENDM
319 |
320 | .MACRO __POINTD1FN
321 | LDI R30,LOW(2*@0+(@1))
322 | LDI R31,HIGH(2*@0+(@1))
323 | LDI R22,BYTE3(2*@0+(@1))
324 | LDI R23,BYTE4(2*@0+(@1))
325 | .ENDM
326 |
327 | .MACRO __POINTB2MN
328 | LDI R26,LOW(@0+(@1))
329 | .ENDM
330 |
331 | .MACRO __POINTW2MN
332 | LDI R26,LOW(@0+(@1))
333 | LDI R27,HIGH(@0+(@1))
334 | .ENDM
335 |
336 | .MACRO __POINTW2FN
337 | LDI R26,LOW(2*@0+(@1))
338 | LDI R27,HIGH(2*@0+(@1))
339 | .ENDM
340 |
341 | .MACRO __POINTD2FN
342 | LDI R26,LOW(2*@0+(@1))
343 | LDI R27,HIGH(2*@0+(@1))
344 | LDI R24,BYTE3(2*@0+(@1))
345 | LDI R25,BYTE4(2*@0+(@1))
346 | .ENDM
347 |
348 | .MACRO __POINTBRM
349 | LDI R@0,LOW(@1)
350 | .ENDM
351 |
352 | .MACRO __POINTWRM
353 | LDI R@0,LOW(@2)
354 | LDI R@1,HIGH(@2)
355 | .ENDM
356 |
357 | .MACRO __POINTBRMN
358 | LDI R@0,LOW(@1+(@2))
359 | .ENDM
360 |
361 | .MACRO __POINTWRMN
362 | LDI R@0,LOW(@2+(@3))
363 | LDI R@1,HIGH(@2+(@3))
364 | .ENDM
365 |
366 | .MACRO __POINTWRFN
367 | LDI R@0,LOW(@2*2+(@3))
368 | LDI R@1,HIGH(@2*2+(@3))
369 | .ENDM
370 |
371 | .MACRO __GETD1N
372 | LDI R30,LOW(@0)
373 | LDI R31,HIGH(@0)
374 | LDI R22,BYTE3(@0)
375 | LDI R23,BYTE4(@0)
376 | .ENDM
377 |
378 | .MACRO __GETD2N
379 | LDI R26,LOW(@0)
380 | LDI R27,HIGH(@0)
381 | LDI R24,BYTE3(@0)
382 | LDI R25,BYTE4(@0)
383 | .ENDM
384 |
385 | .MACRO __GETB1MN
386 | LDS R30,@0+(@1)
387 | .ENDM
388 |
389 | .MACRO __GETB1HMN
390 | LDS R31,@0+(@1)
391 | .ENDM
392 |
393 | .MACRO __GETW1MN
394 | LDS R30,@0+(@1)
395 | LDS R31,@0+(@1)+1
396 | .ENDM
397 |
398 | .MACRO __GETD1MN
399 | LDS R30,@0+(@1)
400 | LDS R31,@0+(@1)+1
401 | LDS R22,@0+(@1)+2
402 | LDS R23,@0+(@1)+3
403 | .ENDM
404 |
405 | .MACRO __GETBRMN
406 | LDS R@0,@1+(@2)
407 | .ENDM
408 |
409 | .MACRO __GETWRMN
410 | LDS R@0,@2+(@3)
411 | LDS R@1,@2+(@3)+1
412 | .ENDM
413 |
414 | .MACRO __GETWRZ
415 | LDD R@0,Z+@2
416 | LDD R@1,Z+@2+1
417 | .ENDM
418 |
419 | .MACRO __GETD2Z
420 | LDD R26,Z+@0
421 | LDD R27,Z+@0+1
422 | LDD R24,Z+@0+2
423 | LDD R25,Z+@0+3
424 | .ENDM
425 |
426 | .MACRO __GETB2MN
427 | LDS R26,@0+(@1)
428 | .ENDM
429 |
430 | .MACRO __GETW2MN
431 | LDS R26,@0+(@1)
432 | LDS R27,@0+(@1)+1
433 | .ENDM
434 |
435 | .MACRO __GETD2MN
436 | LDS R26,@0+(@1)
437 | LDS R27,@0+(@1)+1
438 | LDS R24,@0+(@1)+2
439 | LDS R25,@0+(@1)+3
440 | .ENDM
441 |
442 | .MACRO __PUTB1MN
443 | STS @0+(@1),R30
444 | .ENDM
445 |
446 | .MACRO __PUTW1MN
447 | STS @0+(@1),R30
448 | STS @0+(@1)+1,R31
449 | .ENDM
450 |
451 | .MACRO __PUTD1MN
452 | STS @0+(@1),R30
453 | STS @0+(@1)+1,R31
454 | STS @0+(@1)+2,R22
455 | STS @0+(@1)+3,R23
456 | .ENDM
457 |
458 | .MACRO __PUTB1EN
459 | LDI R26,LOW(@0+(@1))
460 | LDI R27,HIGH(@0+(@1))
461 | CALL __EEPROMWRB
462 | .ENDM
463 |
464 | .MACRO __PUTW1EN
465 | LDI R26,LOW(@0+(@1))
466 | LDI R27,HIGH(@0+(@1))
467 | CALL __EEPROMWRW
468 | .ENDM
469 |
470 | .MACRO __PUTD1EN
471 | LDI R26,LOW(@0+(@1))
472 | LDI R27,HIGH(@0+(@1))
473 | CALL __EEPROMWRD
474 | .ENDM
475 |
476 | .MACRO __PUTBR0MN
477 | STS @0+(@1),R0
478 | .ENDM
479 |
480 | .MACRO __PUTBMRN
481 | STS @0+(@1),R@2
482 | .ENDM
483 |
484 | .MACRO __PUTWMRN
485 | STS @0+(@1),R@2
486 | STS @0+(@1)+1,R@3
487 | .ENDM
488 |
489 | .MACRO __PUTBZR
490 | STD Z+@1,R@0
491 | .ENDM
492 |
493 | .MACRO __PUTWZR
494 | STD Z+@2,R@0
495 | STD Z+@2+1,R@1
496 | .ENDM
497 |
498 | .MACRO __GETW1R
499 | MOV R30,R@0
500 | MOV R31,R@1
501 | .ENDM
502 |
503 | .MACRO __GETW2R
504 | MOV R26,R@0
505 | MOV R27,R@1
506 | .ENDM
507 |
508 | .MACRO __GETWRN
509 | LDI R@0,LOW(@2)
510 | LDI R@1,HIGH(@2)
511 | .ENDM
512 |
513 | .MACRO __PUTW1R
514 | MOV R@0,R30
515 | MOV R@1,R31
516 | .ENDM
517 |
518 | .MACRO __PUTW2R
519 | MOV R@0,R26
520 | MOV R@1,R27
521 | .ENDM
522 |
523 | .MACRO __ADDWRN
524 | SUBI R@0,LOW(-@2)
525 | SBCI R@1,HIGH(-@2)
526 | .ENDM
527 |
528 | .MACRO __ADDWRR
529 | ADD R@0,R@2
530 | ADC R@1,R@3
531 | .ENDM
532 |
533 | .MACRO __SUBWRN
534 | SUBI R@0,LOW(@2)
535 | SBCI R@1,HIGH(@2)
536 | .ENDM
537 |
538 | .MACRO __SUBWRR
539 | SUB R@0,R@2
540 | SBC R@1,R@3
541 | .ENDM
542 |
543 | .MACRO __ANDWRN
544 | ANDI R@0,LOW(@2)
545 | ANDI R@1,HIGH(@2)
546 | .ENDM
547 |
548 | .MACRO __ANDWRR
549 | AND R@0,R@2
550 | AND R@1,R@3
551 | .ENDM
552 |
553 | .MACRO __ORWRN
554 | ORI R@0,LOW(@2)
555 | ORI R@1,HIGH(@2)
556 | .ENDM
557 |
558 | .MACRO __ORWRR
559 | OR R@0,R@2
560 | OR R@1,R@3
561 | .ENDM
562 |
563 | .MACRO __EORWRR
564 | EOR R@0,R@2
565 | EOR R@1,R@3
566 | .ENDM
567 |
568 | .MACRO __GETWRS
569 | LDD R@0,Y+@2
570 | LDD R@1,Y+@2+1
571 | .ENDM
572 |
573 | .MACRO __PUTBSR
574 | STD Y+@1,R@0
575 | .ENDM
576 |
577 | .MACRO __PUTWSR
578 | STD Y+@2,R@0
579 | STD Y+@2+1,R@1
580 | .ENDM
581 |
582 | .MACRO __MOVEWRR
583 | MOV R@0,R@2
584 | MOV R@1,R@3
585 | .ENDM
586 |
587 | .MACRO __INWR
588 | IN R@0,@2
589 | IN R@1,@2+1
590 | .ENDM
591 |
592 | .MACRO __OUTWR
593 | OUT @2+1,R@1
594 | OUT @2,R@0
595 | .ENDM
596 |
597 | .MACRO __CALL1MN
598 | LDS R30,@0+(@1)
599 | LDS R31,@0+(@1)+1
600 | ICALL
601 | .ENDM
602 |
603 | .MACRO __CALL1FN
604 | LDI R30,LOW(2*@0+(@1))
605 | LDI R31,HIGH(2*@0+(@1))
606 | CALL __GETW1PF
607 | ICALL
608 | .ENDM
609 |
610 | .MACRO __CALL2EN
611 | PUSH R26
612 | PUSH R27
613 | LDI R26,LOW(@0+(@1))
614 | LDI R27,HIGH(@0+(@1))
615 | CALL __EEPROMRDW
616 | POP R27
617 | POP R26
618 | ICALL
619 | .ENDM
620 |
621 | .MACRO __CALL2EX
622 | SUBI R26,LOW(-@0)
623 | SBCI R27,HIGH(-@0)
624 | CALL __EEPROMRDD
625 | ICALL
626 | .ENDM
627 |
628 | .MACRO __GETW1STACK
629 | IN R30,SPL
630 | IN R31,SPH
631 | ADIW R30,@0+1
632 | LD R0,Z+
633 | LD R31,Z
634 | MOV R30,R0
635 | .ENDM
636 |
637 | .MACRO __GETD1STACK
638 | IN R30,SPL
639 | IN R31,SPH
640 | ADIW R30,@0+1
641 | LD R0,Z+
642 | LD R1,Z+
643 | LD R22,Z
644 | MOVW R30,R0
645 | .ENDM
646 |
647 | .MACRO __NBST
648 | BST R@0,@1
649 | IN R30,SREG
650 | LDI R31,0x40
651 | EOR R30,R31
652 | OUT SREG,R30
653 | .ENDM
654 |
655 |
656 | .MACRO __PUTB1SN
657 | LDD R26,Y+@0
658 | LDD R27,Y+@0+1
659 | SUBI R26,LOW(-@1)
660 | SBCI R27,HIGH(-@1)
661 | ST X,R30
662 | .ENDM
663 |
664 | .MACRO __PUTW1SN
665 | LDD R26,Y+@0
666 | LDD R27,Y+@0+1
667 | SUBI R26,LOW(-@1)
668 | SBCI R27,HIGH(-@1)
669 | ST X+,R30
670 | ST X,R31
671 | .ENDM
672 |
673 | .MACRO __PUTD1SN
674 | LDD R26,Y+@0
675 | LDD R27,Y+@0+1
676 | SUBI R26,LOW(-@1)
677 | SBCI R27,HIGH(-@1)
678 | CALL __PUTDP1
679 | .ENDM
680 |
681 | .MACRO __PUTB1SNS
682 | LDD R26,Y+@0
683 | LDD R27,Y+@0+1
684 | ADIW R26,@1
685 | ST X,R30
686 | .ENDM
687 |
688 | .MACRO __PUTW1SNS
689 | LDD R26,Y+@0
690 | LDD R27,Y+@0+1
691 | ADIW R26,@1
692 | ST X+,R30
693 | ST X,R31
694 | .ENDM
695 |
696 | .MACRO __PUTD1SNS
697 | LDD R26,Y+@0
698 | LDD R27,Y+@0+1
699 | ADIW R26,@1
700 | CALL __PUTDP1
701 | .ENDM
702 |
703 | .MACRO __PUTB1PMN
704 | LDS R26,@0
705 | LDS R27,@0+1
706 | SUBI R26,LOW(-@1)
707 | SBCI R27,HIGH(-@1)
708 | ST X,R30
709 | .ENDM
710 |
711 | .MACRO __PUTW1PMN
712 | LDS R26,@0
713 | LDS R27,@0+1
714 | SUBI R26,LOW(-@1)
715 | SBCI R27,HIGH(-@1)
716 | ST X+,R30
717 | ST X,R31
718 | .ENDM
719 |
720 | .MACRO __PUTD1PMN
721 | LDS R26,@0
722 | LDS R27,@0+1
723 | SUBI R26,LOW(-@1)
724 | SBCI R27,HIGH(-@1)
725 | CALL __PUTDP1
726 | .ENDM
727 |
728 | .MACRO __PUTB1PMNS
729 | LDS R26,@0
730 | LDS R27,@0+1
731 | ADIW R26,@1
732 | ST X,R30
733 | .ENDM
734 |
735 | .MACRO __PUTW1PMNS
736 | LDS R26,@0
737 | LDS R27,@0+1
738 | ADIW R26,@1
739 | ST X+,R30
740 | ST X,R31
741 | .ENDM
742 |
743 | .MACRO __PUTD1PMNS
744 | LDS R26,@0
745 | LDS R27,@0+1
746 | ADIW R26,@1
747 | CALL __PUTDP1
748 | .ENDM
749 |
750 | .MACRO __PUTB1RN
751 | MOVW R26,R@0
752 | SUBI R26,LOW(-@1)
753 | SBCI R27,HIGH(-@1)
754 | ST X,R30
755 | .ENDM
756 |
757 | .MACRO __PUTW1RN
758 | MOVW R26,R@0
759 | SUBI R26,LOW(-@1)
760 | SBCI R27,HIGH(-@1)
761 | ST X+,R30
762 | ST X,R31
763 | .ENDM
764 |
765 | .MACRO __PUTD1RN
766 | MOVW R26,R@0
767 | SUBI R26,LOW(-@1)
768 | SBCI R27,HIGH(-@1)
769 | CALL __PUTDP1
770 | .ENDM
771 |
772 | .MACRO __PUTB1RNS
773 | MOVW R26,R@0
774 | ADIW R26,@1
775 | ST X,R30
776 | .ENDM
777 |
778 | .MACRO __PUTW1RNS
779 | MOVW R26,R@0
780 | ADIW R26,@1
781 | ST X+,R30
782 | ST X,R31
783 | .ENDM
784 |
785 | .MACRO __PUTD1RNS
786 | MOVW R26,R@0
787 | ADIW R26,@1
788 | CALL __PUTDP1
789 | .ENDM
790 |
791 | .MACRO __PUTB1RON
792 | MOV R26,R@0
793 | MOV R27,R@1
794 | SUBI R26,LOW(-@2)
795 | SBCI R27,HIGH(-@2)
796 | ST X,R30
797 | .ENDM
798 |
799 | .MACRO __PUTW1RON
800 | MOV R26,R@0
801 | MOV R27,R@1
802 | SUBI R26,LOW(-@2)
803 | SBCI R27,HIGH(-@2)
804 | ST X+,R30
805 | ST X,R31
806 | .ENDM
807 |
808 | .MACRO __PUTD1RON
809 | MOV R26,R@0
810 | MOV R27,R@1
811 | SUBI R26,LOW(-@2)
812 | SBCI R27,HIGH(-@2)
813 | CALL __PUTDP1
814 | .ENDM
815 |
816 | .MACRO __PUTB1RONS
817 | MOV R26,R@0
818 | MOV R27,R@1
819 | ADIW R26,@2
820 | ST X,R30
821 | .ENDM
822 |
823 | .MACRO __PUTW1RONS
824 | MOV R26,R@0
825 | MOV R27,R@1
826 | ADIW R26,@2
827 | ST X+,R30
828 | ST X,R31
829 | .ENDM
830 |
831 | .MACRO __PUTD1RONS
832 | MOV R26,R@0
833 | MOV R27,R@1
834 | ADIW R26,@2
835 | CALL __PUTDP1
836 | .ENDM
837 |
838 |
839 | .MACRO __GETB1SX
840 | MOVW R30,R28
841 | SUBI R30,LOW(-@0)
842 | SBCI R31,HIGH(-@0)
843 | LD R30,Z
844 | .ENDM
845 |
846 | .MACRO __GETB1HSX
847 | MOVW R30,R28
848 | SUBI R30,LOW(-@0)
849 | SBCI R31,HIGH(-@0)
850 | LD R31,Z
851 | .ENDM
852 |
853 | .MACRO __GETW1SX
854 | MOVW R30,R28
855 | SUBI R30,LOW(-@0)
856 | SBCI R31,HIGH(-@0)
857 | LD R0,Z+
858 | LD R31,Z
859 | MOV R30,R0
860 | .ENDM
861 |
862 | .MACRO __GETD1SX
863 | MOVW R30,R28
864 | SUBI R30,LOW(-@0)
865 | SBCI R31,HIGH(-@0)
866 | LD R0,Z+
867 | LD R1,Z+
868 | LD R22,Z+
869 | LD R23,Z
870 | MOVW R30,R0
871 | .ENDM
872 |
873 | .MACRO __GETB2SX
874 | MOVW R26,R28
875 | SUBI R26,LOW(-@0)
876 | SBCI R27,HIGH(-@0)
877 | LD R26,X
878 | .ENDM
879 |
880 | .MACRO __GETW2SX
881 | MOVW R26,R28
882 | SUBI R26,LOW(-@0)
883 | SBCI R27,HIGH(-@0)
884 | LD R0,X+
885 | LD R27,X
886 | MOV R26,R0
887 | .ENDM
888 |
889 | .MACRO __GETD2SX
890 | MOVW R26,R28
891 | SUBI R26,LOW(-@0)
892 | SBCI R27,HIGH(-@0)
893 | LD R0,X+
894 | LD R1,X+
895 | LD R24,X+
896 | LD R25,X
897 | MOVW R26,R0
898 | .ENDM
899 |
900 | .MACRO __GETBRSX
901 | MOVW R30,R28
902 | SUBI R30,LOW(-@1)
903 | SBCI R31,HIGH(-@1)
904 | LD R@0,Z
905 | .ENDM
906 |
907 | .MACRO __GETWRSX
908 | MOVW R30,R28
909 | SUBI R30,LOW(-@2)
910 | SBCI R31,HIGH(-@2)
911 | LD R@0,Z+
912 | LD R@1,Z
913 | .ENDM
914 |
915 | .MACRO __GETBRSX2
916 | MOVW R26,R28
917 | SUBI R26,LOW(-@1)
918 | SBCI R27,HIGH(-@1)
919 | LD R@0,X
920 | .ENDM
921 |
922 | .MACRO __GETWRSX2
923 | MOVW R26,R28
924 | SUBI R26,LOW(-@2)
925 | SBCI R27,HIGH(-@2)
926 | LD R@0,X+
927 | LD R@1,X
928 | .ENDM
929 |
930 | .MACRO __LSLW8SX
931 | MOVW R30,R28
932 | SUBI R30,LOW(-@0)
933 | SBCI R31,HIGH(-@0)
934 | LD R31,Z
935 | CLR R30
936 | .ENDM
937 |
938 | .MACRO __PUTB1SX
939 | MOVW R26,R28
940 | SUBI R26,LOW(-@0)
941 | SBCI R27,HIGH(-@0)
942 | ST X,R30
943 | .ENDM
944 |
945 | .MACRO __PUTW1SX
946 | MOVW R26,R28
947 | SUBI R26,LOW(-@0)
948 | SBCI R27,HIGH(-@0)
949 | ST X+,R30
950 | ST X,R31
951 | .ENDM
952 |
953 | .MACRO __PUTD1SX
954 | MOVW R26,R28
955 | SUBI R26,LOW(-@0)
956 | SBCI R27,HIGH(-@0)
957 | ST X+,R30
958 | ST X+,R31
959 | ST X+,R22
960 | ST X,R23
961 | .ENDM
962 |
963 | .MACRO __CLRW1SX
964 | MOVW R26,R28
965 | SUBI R26,LOW(-@0)
966 | SBCI R27,HIGH(-@0)
967 | ST X+,R30
968 | ST X,R30
969 | .ENDM
970 |
971 | .MACRO __CLRD1SX
972 | MOVW R26,R28
973 | SUBI R26,LOW(-@0)
974 | SBCI R27,HIGH(-@0)
975 | ST X+,R30
976 | ST X+,R30
977 | ST X+,R30
978 | ST X,R30
979 | .ENDM
980 |
981 | .MACRO __PUTB2SX
982 | MOVW R30,R28
983 | SUBI R30,LOW(-@0)
984 | SBCI R31,HIGH(-@0)
985 | ST Z,R26
986 | .ENDM
987 |
988 | .MACRO __PUTW2SX
989 | MOVW R30,R28
990 | SUBI R30,LOW(-@0)
991 | SBCI R31,HIGH(-@0)
992 | ST Z+,R26
993 | ST Z,R27
994 | .ENDM
995 |
996 | .MACRO __PUTD2SX
997 | MOVW R30,R28
998 | SUBI R30,LOW(-@0)
999 | SBCI R31,HIGH(-@0)
1000 | ST Z+,R26
1001 | ST Z+,R27
1002 | ST Z+,R24
1003 | ST Z,R25
1004 | .ENDM
1005 |
1006 | .MACRO __PUTBSRX
1007 | MOVW R30,R28
1008 | SUBI R30,LOW(-@1)
1009 | SBCI R31,HIGH(-@1)
1010 | ST Z,R@0
1011 | .ENDM
1012 |
1013 | .MACRO __PUTWSRX
1014 | MOVW R30,R28
1015 | SUBI R30,LOW(-@2)
1016 | SBCI R31,HIGH(-@2)
1017 | ST Z+,R@0
1018 | ST Z,R@1
1019 | .ENDM
1020 |
1021 | .MACRO __PUTB1SNX
1022 | MOVW R26,R28
1023 | SUBI R26,LOW(-@0)
1024 | SBCI R27,HIGH(-@0)
1025 | LD R0,X+
1026 | LD R27,X
1027 | MOV R26,R0
1028 | SUBI R26,LOW(-@1)
1029 | SBCI R27,HIGH(-@1)
1030 | ST X,R30
1031 | .ENDM
1032 |
1033 | .MACRO __PUTW1SNX
1034 | MOVW R26,R28
1035 | SUBI R26,LOW(-@0)
1036 | SBCI R27,HIGH(-@0)
1037 | LD R0,X+
1038 | LD R27,X
1039 | MOV R26,R0
1040 | SUBI R26,LOW(-@1)
1041 | SBCI R27,HIGH(-@1)
1042 | ST X+,R30
1043 | ST X,R31
1044 | .ENDM
1045 |
1046 | .MACRO __PUTD1SNX
1047 | MOVW R26,R28
1048 | SUBI R26,LOW(-@0)
1049 | SBCI R27,HIGH(-@0)
1050 | LD R0,X+
1051 | LD R27,X
1052 | MOV R26,R0
1053 | SUBI R26,LOW(-@1)
1054 | SBCI R27,HIGH(-@1)
1055 | ST X+,R30
1056 | ST X+,R31
1057 | ST X+,R22
1058 | ST X,R23
1059 | .ENDM
1060 |
1061 | .MACRO __MULBRR
1062 | MULS R@0,R@1
1063 | MOVW R30,R0
1064 | .ENDM
1065 |
1066 | .MACRO __MULBRRU
1067 | MUL R@0,R@1
1068 | MOVW R30,R0
1069 | .ENDM
1070 |
1071 | .MACRO __MULBRR0
1072 | MULS R@0,R@1
1073 | .ENDM
1074 |
1075 | .MACRO __MULBRRU0
1076 | MUL R@0,R@1
1077 | .ENDM
1078 |
1079 | .MACRO __MULBNWRU
1080 | LDI R26,@2
1081 | MUL R26,R@0
1082 | MOVW R30,R0
1083 | MUL R26,R@1
1084 | ADD R31,R0
1085 | .ENDM
1086 |
1087 | .CSEG
1088 | .ORG 0x00
1089 |
1090 | ;START OF CODE MARKER
1091 | __START_OF_CODE:
1092 |
1093 | ;INTERRUPT VECTORS
1094 | JMP __RESET
1095 | JMP 0x00
1096 | JMP 0x00
1097 | JMP 0x00
1098 | JMP 0x00
1099 | JMP 0x00
1100 | JMP 0x00
1101 | JMP 0x00
1102 | JMP 0x00
1103 | JMP 0x00
1104 | JMP 0x00
1105 | JMP 0x00
1106 | JMP 0x00
1107 | JMP 0x00
1108 | JMP 0x00
1109 | JMP 0x00
1110 | JMP 0x00
1111 | JMP 0x00
1112 | JMP 0x00
1113 | JMP 0x00
1114 | JMP 0x00
1115 |
1116 | __RESET:
1117 | CLI
1118 | CLR R30
1119 | OUT EECR,R30
1120 |
1121 | ;INTERRUPT VECTORS ARE PLACED
1122 | ;AT THE START OF FLASH
1123 | LDI R31,1
1124 | OUT GICR,R31
1125 | OUT GICR,R30
1126 | OUT MCUCR,R30
1127 |
1128 | ;CLEAR R2-R14
1129 | LDI R24,(14-2)+1
1130 | LDI R26,2
1131 | CLR R27
1132 | __CLEAR_REG:
1133 | ST X+,R30
1134 | DEC R24
1135 | BRNE __CLEAR_REG
1136 |
1137 | ;CLEAR SRAM
1138 | LDI R24,LOW(__CLEAR_SRAM_SIZE)
1139 | LDI R25,HIGH(__CLEAR_SRAM_SIZE)
1140 | LDI R26,__SRAM_START
1141 | __CLEAR_SRAM:
1142 | ST X+,R30
1143 | SBIW R24,1
1144 | BRNE __CLEAR_SRAM
1145 |
1146 | ;HARDWARE STACK POINTER INITIALIZATION
1147 | LDI R30,LOW(__SRAM_END-__HEAP_SIZE)
1148 | OUT SPL,R30
1149 | LDI R30,HIGH(__SRAM_END-__HEAP_SIZE)
1150 | OUT SPH,R30
1151 |
1152 | ;DATA STACK POINTER INITIALIZATION
1153 | LDI R28,LOW(__SRAM_START+__DSTACK_SIZE)
1154 | LDI R29,HIGH(__SRAM_START+__DSTACK_SIZE)
1155 |
1156 | JMP _main
1157 |
1158 | .ESEG
1159 | .ORG 0
1160 |
1161 | .DSEG
1162 | .ORG 0x260
1163 |
1164 | .CSEG
1165 | ;// Ahmad 99463107 and mohammad mehdi 99463108
1166 | ;#include
1167 | #ifndef __SLEEP_DEFINED__
1168 | #define __SLEEP_DEFINED__
1169 | .EQU __se_bit=0x80
1170 | .EQU __sm_mask=0x70
1171 | .EQU __sm_powerdown=0x20
1172 | .EQU __sm_powersave=0x30
1173 | .EQU __sm_standby=0x60
1174 | .EQU __sm_ext_standby=0x70
1175 | .EQU __sm_adc_noise_red=0x10
1176 | .SET power_ctrl_reg=mcucr
1177 | #endif
1178 | ;#include
1179 | ;
1180 | ;void main(void){
1181 | ; 0000 0005 void main(void){
1182 |
1183 | .CSEG
1184 | _main:
1185 | ; .FSTART _main
1186 | ; 0000 0006 DDRA = 0b11111111;
1187 | LDI R30,LOW(255)
1188 | OUT 0x1A,R30
1189 | ; 0000 0007 DDRB = 0b11111111;
1190 | OUT 0x17,R30
1191 | ; 0000 0008 while (1){
1192 | _0x3:
1193 | ; 0000 0009 PORTA = 0b11111110;
1194 | LDI R30,LOW(254)
1195 | OUT 0x1B,R30
1196 | ; 0000 000A PORTB = 0b10111101;
1197 | LDI R30,LOW(189)
1198 | OUT 0x18,R30
1199 | ; 0000 000B PORTB = 0b11111111;
1200 | LDI R30,LOW(255)
1201 | OUT 0x18,R30
1202 | ; 0000 000C PORTA = 0b00010001;
1203 | LDI R30,LOW(17)
1204 | OUT 0x1B,R30
1205 | ; 0000 000D PORTB = 0b11000011;
1206 | LDI R30,LOW(195)
1207 | OUT 0x18,R30
1208 | ; 0000 000E PORTB = 0b11111111;
1209 | LDI R30,LOW(255)
1210 | OUT 0x18,R30
1211 | ; 0000 000F
1212 | ; 0000 0010 }
1213 | RJMP _0x3
1214 | ; 0000 0011 }
1215 | _0x6:
1216 | RJMP _0x6
1217 | ; .FEND
1218 |
1219 | .CSEG
1220 |
1221 | .CSEG
1222 | ;END OF CODE MARKER
1223 | __END_OF_CODE:
1224 |
--------------------------------------------------------------------------------
/Code/Code Vision/Project3-2/Debug/List/proj3-2.asm:
--------------------------------------------------------------------------------
1 |
2 | ;CodeVisionAVR C Compiler V3.12 Advanced
3 | ;(C) Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
4 | ;http://www.hpinfotech.com
5 |
6 | ;Build configuration : Debug
7 | ;Chip type : ATmega32
8 | ;Program type : Application
9 | ;Clock frequency : 8.000000 MHz
10 | ;Memory model : Small
11 | ;Optimize for : Size
12 | ;(s)printf features : int, width
13 | ;(s)scanf features : int, width
14 | ;External RAM size : 0
15 | ;Data Stack size : 512 byte(s)
16 | ;Heap size : 0 byte(s)
17 | ;Promote 'char' to 'int': Yes
18 | ;'char' is unsigned : Yes
19 | ;8 bit enums : Yes
20 | ;Global 'const' stored in FLASH: No
21 | ;Enhanced function parameter passing: Yes
22 | ;Enhanced core instructions: On
23 | ;Automatic register allocation for global variables: On
24 | ;Smart register allocation: On
25 |
26 | #define _MODEL_SMALL_
27 |
28 | #pragma AVRPART ADMIN PART_NAME ATmega32
29 | #pragma AVRPART MEMORY PROG_FLASH 32768
30 | #pragma AVRPART MEMORY EEPROM 1024
31 | #pragma AVRPART MEMORY INT_SRAM SIZE 2048
32 | #pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
33 |
34 | #define CALL_SUPPORTED 1
35 |
36 | .LISTMAC
37 | .EQU UDRE=0x5
38 | .EQU RXC=0x7
39 | .EQU USR=0xB
40 | .EQU UDR=0xC
41 | .EQU SPSR=0xE
42 | .EQU SPDR=0xF
43 | .EQU EERE=0x0
44 | .EQU EEWE=0x1
45 | .EQU EEMWE=0x2
46 | .EQU EECR=0x1C
47 | .EQU EEDR=0x1D
48 | .EQU EEARL=0x1E
49 | .EQU EEARH=0x1F
50 | .EQU WDTCR=0x21
51 | .EQU MCUCR=0x35
52 | .EQU GICR=0x3B
53 | .EQU SPL=0x3D
54 | .EQU SPH=0x3E
55 | .EQU SREG=0x3F
56 |
57 | .DEF R0X0=R0
58 | .DEF R0X1=R1
59 | .DEF R0X2=R2
60 | .DEF R0X3=R3
61 | .DEF R0X4=R4
62 | .DEF R0X5=R5
63 | .DEF R0X6=R6
64 | .DEF R0X7=R7
65 | .DEF R0X8=R8
66 | .DEF R0X9=R9
67 | .DEF R0XA=R10
68 | .DEF R0XB=R11
69 | .DEF R0XC=R12
70 | .DEF R0XD=R13
71 | .DEF R0XE=R14
72 | .DEF R0XF=R15
73 | .DEF R0X10=R16
74 | .DEF R0X11=R17
75 | .DEF R0X12=R18
76 | .DEF R0X13=R19
77 | .DEF R0X14=R20
78 | .DEF R0X15=R21
79 | .DEF R0X16=R22
80 | .DEF R0X17=R23
81 | .DEF R0X18=R24
82 | .DEF R0X19=R25
83 | .DEF R0X1A=R26
84 | .DEF R0X1B=R27
85 | .DEF R0X1C=R28
86 | .DEF R0X1D=R29
87 | .DEF R0X1E=R30
88 | .DEF R0X1F=R31
89 |
90 | .EQU __SRAM_START=0x0060
91 | .EQU __SRAM_END=0x085F
92 | .EQU __DSTACK_SIZE=0x0200
93 | .EQU __HEAP_SIZE=0x0000
94 | .EQU __CLEAR_SRAM_SIZE=__SRAM_END-__SRAM_START+1
95 |
96 | .MACRO __CPD1N
97 | CPI R30,LOW(@0)
98 | LDI R26,HIGH(@0)
99 | CPC R31,R26
100 | LDI R26,BYTE3(@0)
101 | CPC R22,R26
102 | LDI R26,BYTE4(@0)
103 | CPC R23,R26
104 | .ENDM
105 |
106 | .MACRO __CPD2N
107 | CPI R26,LOW(@0)
108 | LDI R30,HIGH(@0)
109 | CPC R27,R30
110 | LDI R30,BYTE3(@0)
111 | CPC R24,R30
112 | LDI R30,BYTE4(@0)
113 | CPC R25,R30
114 | .ENDM
115 |
116 | .MACRO __CPWRR
117 | CP R@0,R@2
118 | CPC R@1,R@3
119 | .ENDM
120 |
121 | .MACRO __CPWRN
122 | CPI R@0,LOW(@2)
123 | LDI R30,HIGH(@2)
124 | CPC R@1,R30
125 | .ENDM
126 |
127 | .MACRO __ADDB1MN
128 | SUBI R30,LOW(-@0-(@1))
129 | .ENDM
130 |
131 | .MACRO __ADDB2MN
132 | SUBI R26,LOW(-@0-(@1))
133 | .ENDM
134 |
135 | .MACRO __ADDW1MN
136 | SUBI R30,LOW(-@0-(@1))
137 | SBCI R31,HIGH(-@0-(@1))
138 | .ENDM
139 |
140 | .MACRO __ADDW2MN
141 | SUBI R26,LOW(-@0-(@1))
142 | SBCI R27,HIGH(-@0-(@1))
143 | .ENDM
144 |
145 | .MACRO __ADDW1FN
146 | SUBI R30,LOW(-2*@0-(@1))
147 | SBCI R31,HIGH(-2*@0-(@1))
148 | .ENDM
149 |
150 | .MACRO __ADDD1FN
151 | SUBI R30,LOW(-2*@0-(@1))
152 | SBCI R31,HIGH(-2*@0-(@1))
153 | SBCI R22,BYTE3(-2*@0-(@1))
154 | .ENDM
155 |
156 | .MACRO __ADDD1N
157 | SUBI R30,LOW(-@0)
158 | SBCI R31,HIGH(-@0)
159 | SBCI R22,BYTE3(-@0)
160 | SBCI R23,BYTE4(-@0)
161 | .ENDM
162 |
163 | .MACRO __ADDD2N
164 | SUBI R26,LOW(-@0)
165 | SBCI R27,HIGH(-@0)
166 | SBCI R24,BYTE3(-@0)
167 | SBCI R25,BYTE4(-@0)
168 | .ENDM
169 |
170 | .MACRO __SUBD1N
171 | SUBI R30,LOW(@0)
172 | SBCI R31,HIGH(@0)
173 | SBCI R22,BYTE3(@0)
174 | SBCI R23,BYTE4(@0)
175 | .ENDM
176 |
177 | .MACRO __SUBD2N
178 | SUBI R26,LOW(@0)
179 | SBCI R27,HIGH(@0)
180 | SBCI R24,BYTE3(@0)
181 | SBCI R25,BYTE4(@0)
182 | .ENDM
183 |
184 | .MACRO __ANDBMNN
185 | LDS R30,@0+(@1)
186 | ANDI R30,LOW(@2)
187 | STS @0+(@1),R30
188 | .ENDM
189 |
190 | .MACRO __ANDWMNN
191 | LDS R30,@0+(@1)
192 | ANDI R30,LOW(@2)
193 | STS @0+(@1),R30
194 | LDS R30,@0+(@1)+1
195 | ANDI R30,HIGH(@2)
196 | STS @0+(@1)+1,R30
197 | .ENDM
198 |
199 | .MACRO __ANDD1N
200 | ANDI R30,LOW(@0)
201 | ANDI R31,HIGH(@0)
202 | ANDI R22,BYTE3(@0)
203 | ANDI R23,BYTE4(@0)
204 | .ENDM
205 |
206 | .MACRO __ANDD2N
207 | ANDI R26,LOW(@0)
208 | ANDI R27,HIGH(@0)
209 | ANDI R24,BYTE3(@0)
210 | ANDI R25,BYTE4(@0)
211 | .ENDM
212 |
213 | .MACRO __ORBMNN
214 | LDS R30,@0+(@1)
215 | ORI R30,LOW(@2)
216 | STS @0+(@1),R30
217 | .ENDM
218 |
219 | .MACRO __ORWMNN
220 | LDS R30,@0+(@1)
221 | ORI R30,LOW(@2)
222 | STS @0+(@1),R30
223 | LDS R30,@0+(@1)+1
224 | ORI R30,HIGH(@2)
225 | STS @0+(@1)+1,R30
226 | .ENDM
227 |
228 | .MACRO __ORD1N
229 | ORI R30,LOW(@0)
230 | ORI R31,HIGH(@0)
231 | ORI R22,BYTE3(@0)
232 | ORI R23,BYTE4(@0)
233 | .ENDM
234 |
235 | .MACRO __ORD2N
236 | ORI R26,LOW(@0)
237 | ORI R27,HIGH(@0)
238 | ORI R24,BYTE3(@0)
239 | ORI R25,BYTE4(@0)
240 | .ENDM
241 |
242 | .MACRO __DELAY_USB
243 | LDI R24,LOW(@0)
244 | __DELAY_USB_LOOP:
245 | DEC R24
246 | BRNE __DELAY_USB_LOOP
247 | .ENDM
248 |
249 | .MACRO __DELAY_USW
250 | LDI R24,LOW(@0)
251 | LDI R25,HIGH(@0)
252 | __DELAY_USW_LOOP:
253 | SBIW R24,1
254 | BRNE __DELAY_USW_LOOP
255 | .ENDM
256 |
257 | .MACRO __GETD1S
258 | LDD R30,Y+@0
259 | LDD R31,Y+@0+1
260 | LDD R22,Y+@0+2
261 | LDD R23,Y+@0+3
262 | .ENDM
263 |
264 | .MACRO __GETD2S
265 | LDD R26,Y+@0
266 | LDD R27,Y+@0+1
267 | LDD R24,Y+@0+2
268 | LDD R25,Y+@0+3
269 | .ENDM
270 |
271 | .MACRO __PUTD1S
272 | STD Y+@0,R30
273 | STD Y+@0+1,R31
274 | STD Y+@0+2,R22
275 | STD Y+@0+3,R23
276 | .ENDM
277 |
278 | .MACRO __PUTD2S
279 | STD Y+@0,R26
280 | STD Y+@0+1,R27
281 | STD Y+@0+2,R24
282 | STD Y+@0+3,R25
283 | .ENDM
284 |
285 | .MACRO __PUTDZ2
286 | STD Z+@0,R26
287 | STD Z+@0+1,R27
288 | STD Z+@0+2,R24
289 | STD Z+@0+3,R25
290 | .ENDM
291 |
292 | .MACRO __CLRD1S
293 | STD Y+@0,R30
294 | STD Y+@0+1,R30
295 | STD Y+@0+2,R30
296 | STD Y+@0+3,R30
297 | .ENDM
298 |
299 | .MACRO __POINTB1MN
300 | LDI R30,LOW(@0+(@1))
301 | .ENDM
302 |
303 | .MACRO __POINTW1MN
304 | LDI R30,LOW(@0+(@1))
305 | LDI R31,HIGH(@0+(@1))
306 | .ENDM
307 |
308 | .MACRO __POINTD1M
309 | LDI R30,LOW(@0)
310 | LDI R31,HIGH(@0)
311 | LDI R22,BYTE3(@0)
312 | LDI R23,BYTE4(@0)
313 | .ENDM
314 |
315 | .MACRO __POINTW1FN
316 | LDI R30,LOW(2*@0+(@1))
317 | LDI R31,HIGH(2*@0+(@1))
318 | .ENDM
319 |
320 | .MACRO __POINTD1FN
321 | LDI R30,LOW(2*@0+(@1))
322 | LDI R31,HIGH(2*@0+(@1))
323 | LDI R22,BYTE3(2*@0+(@1))
324 | LDI R23,BYTE4(2*@0+(@1))
325 | .ENDM
326 |
327 | .MACRO __POINTB2MN
328 | LDI R26,LOW(@0+(@1))
329 | .ENDM
330 |
331 | .MACRO __POINTW2MN
332 | LDI R26,LOW(@0+(@1))
333 | LDI R27,HIGH(@0+(@1))
334 | .ENDM
335 |
336 | .MACRO __POINTW2FN
337 | LDI R26,LOW(2*@0+(@1))
338 | LDI R27,HIGH(2*@0+(@1))
339 | .ENDM
340 |
341 | .MACRO __POINTD2FN
342 | LDI R26,LOW(2*@0+(@1))
343 | LDI R27,HIGH(2*@0+(@1))
344 | LDI R24,BYTE3(2*@0+(@1))
345 | LDI R25,BYTE4(2*@0+(@1))
346 | .ENDM
347 |
348 | .MACRO __POINTBRM
349 | LDI R@0,LOW(@1)
350 | .ENDM
351 |
352 | .MACRO __POINTWRM
353 | LDI R@0,LOW(@2)
354 | LDI R@1,HIGH(@2)
355 | .ENDM
356 |
357 | .MACRO __POINTBRMN
358 | LDI R@0,LOW(@1+(@2))
359 | .ENDM
360 |
361 | .MACRO __POINTWRMN
362 | LDI R@0,LOW(@2+(@3))
363 | LDI R@1,HIGH(@2+(@3))
364 | .ENDM
365 |
366 | .MACRO __POINTWRFN
367 | LDI R@0,LOW(@2*2+(@3))
368 | LDI R@1,HIGH(@2*2+(@3))
369 | .ENDM
370 |
371 | .MACRO __GETD1N
372 | LDI R30,LOW(@0)
373 | LDI R31,HIGH(@0)
374 | LDI R22,BYTE3(@0)
375 | LDI R23,BYTE4(@0)
376 | .ENDM
377 |
378 | .MACRO __GETD2N
379 | LDI R26,LOW(@0)
380 | LDI R27,HIGH(@0)
381 | LDI R24,BYTE3(@0)
382 | LDI R25,BYTE4(@0)
383 | .ENDM
384 |
385 | .MACRO __GETB1MN
386 | LDS R30,@0+(@1)
387 | .ENDM
388 |
389 | .MACRO __GETB1HMN
390 | LDS R31,@0+(@1)
391 | .ENDM
392 |
393 | .MACRO __GETW1MN
394 | LDS R30,@0+(@1)
395 | LDS R31,@0+(@1)+1
396 | .ENDM
397 |
398 | .MACRO __GETD1MN
399 | LDS R30,@0+(@1)
400 | LDS R31,@0+(@1)+1
401 | LDS R22,@0+(@1)+2
402 | LDS R23,@0+(@1)+3
403 | .ENDM
404 |
405 | .MACRO __GETBRMN
406 | LDS R@0,@1+(@2)
407 | .ENDM
408 |
409 | .MACRO __GETWRMN
410 | LDS R@0,@2+(@3)
411 | LDS R@1,@2+(@3)+1
412 | .ENDM
413 |
414 | .MACRO __GETWRZ
415 | LDD R@0,Z+@2
416 | LDD R@1,Z+@2+1
417 | .ENDM
418 |
419 | .MACRO __GETD2Z
420 | LDD R26,Z+@0
421 | LDD R27,Z+@0+1
422 | LDD R24,Z+@0+2
423 | LDD R25,Z+@0+3
424 | .ENDM
425 |
426 | .MACRO __GETB2MN
427 | LDS R26,@0+(@1)
428 | .ENDM
429 |
430 | .MACRO __GETW2MN
431 | LDS R26,@0+(@1)
432 | LDS R27,@0+(@1)+1
433 | .ENDM
434 |
435 | .MACRO __GETD2MN
436 | LDS R26,@0+(@1)
437 | LDS R27,@0+(@1)+1
438 | LDS R24,@0+(@1)+2
439 | LDS R25,@0+(@1)+3
440 | .ENDM
441 |
442 | .MACRO __PUTB1MN
443 | STS @0+(@1),R30
444 | .ENDM
445 |
446 | .MACRO __PUTW1MN
447 | STS @0+(@1),R30
448 | STS @0+(@1)+1,R31
449 | .ENDM
450 |
451 | .MACRO __PUTD1MN
452 | STS @0+(@1),R30
453 | STS @0+(@1)+1,R31
454 | STS @0+(@1)+2,R22
455 | STS @0+(@1)+3,R23
456 | .ENDM
457 |
458 | .MACRO __PUTB1EN
459 | LDI R26,LOW(@0+(@1))
460 | LDI R27,HIGH(@0+(@1))
461 | CALL __EEPROMWRB
462 | .ENDM
463 |
464 | .MACRO __PUTW1EN
465 | LDI R26,LOW(@0+(@1))
466 | LDI R27,HIGH(@0+(@1))
467 | CALL __EEPROMWRW
468 | .ENDM
469 |
470 | .MACRO __PUTD1EN
471 | LDI R26,LOW(@0+(@1))
472 | LDI R27,HIGH(@0+(@1))
473 | CALL __EEPROMWRD
474 | .ENDM
475 |
476 | .MACRO __PUTBR0MN
477 | STS @0+(@1),R0
478 | .ENDM
479 |
480 | .MACRO __PUTBMRN
481 | STS @0+(@1),R@2
482 | .ENDM
483 |
484 | .MACRO __PUTWMRN
485 | STS @0+(@1),R@2
486 | STS @0+(@1)+1,R@3
487 | .ENDM
488 |
489 | .MACRO __PUTBZR
490 | STD Z+@1,R@0
491 | .ENDM
492 |
493 | .MACRO __PUTWZR
494 | STD Z+@2,R@0
495 | STD Z+@2+1,R@1
496 | .ENDM
497 |
498 | .MACRO __GETW1R
499 | MOV R30,R@0
500 | MOV R31,R@1
501 | .ENDM
502 |
503 | .MACRO __GETW2R
504 | MOV R26,R@0
505 | MOV R27,R@1
506 | .ENDM
507 |
508 | .MACRO __GETWRN
509 | LDI R@0,LOW(@2)
510 | LDI R@1,HIGH(@2)
511 | .ENDM
512 |
513 | .MACRO __PUTW1R
514 | MOV R@0,R30
515 | MOV R@1,R31
516 | .ENDM
517 |
518 | .MACRO __PUTW2R
519 | MOV R@0,R26
520 | MOV R@1,R27
521 | .ENDM
522 |
523 | .MACRO __ADDWRN
524 | SUBI R@0,LOW(-@2)
525 | SBCI R@1,HIGH(-@2)
526 | .ENDM
527 |
528 | .MACRO __ADDWRR
529 | ADD R@0,R@2
530 | ADC R@1,R@3
531 | .ENDM
532 |
533 | .MACRO __SUBWRN
534 | SUBI R@0,LOW(@2)
535 | SBCI R@1,HIGH(@2)
536 | .ENDM
537 |
538 | .MACRO __SUBWRR
539 | SUB R@0,R@2
540 | SBC R@1,R@3
541 | .ENDM
542 |
543 | .MACRO __ANDWRN
544 | ANDI R@0,LOW(@2)
545 | ANDI R@1,HIGH(@2)
546 | .ENDM
547 |
548 | .MACRO __ANDWRR
549 | AND R@0,R@2
550 | AND R@1,R@3
551 | .ENDM
552 |
553 | .MACRO __ORWRN
554 | ORI R@0,LOW(@2)
555 | ORI R@1,HIGH(@2)
556 | .ENDM
557 |
558 | .MACRO __ORWRR
559 | OR R@0,R@2
560 | OR R@1,R@3
561 | .ENDM
562 |
563 | .MACRO __EORWRR
564 | EOR R@0,R@2
565 | EOR R@1,R@3
566 | .ENDM
567 |
568 | .MACRO __GETWRS
569 | LDD R@0,Y+@2
570 | LDD R@1,Y+@2+1
571 | .ENDM
572 |
573 | .MACRO __PUTBSR
574 | STD Y+@1,R@0
575 | .ENDM
576 |
577 | .MACRO __PUTWSR
578 | STD Y+@2,R@0
579 | STD Y+@2+1,R@1
580 | .ENDM
581 |
582 | .MACRO __MOVEWRR
583 | MOV R@0,R@2
584 | MOV R@1,R@3
585 | .ENDM
586 |
587 | .MACRO __INWR
588 | IN R@0,@2
589 | IN R@1,@2+1
590 | .ENDM
591 |
592 | .MACRO __OUTWR
593 | OUT @2+1,R@1
594 | OUT @2,R@0
595 | .ENDM
596 |
597 | .MACRO __CALL1MN
598 | LDS R30,@0+(@1)
599 | LDS R31,@0+(@1)+1
600 | ICALL
601 | .ENDM
602 |
603 | .MACRO __CALL1FN
604 | LDI R30,LOW(2*@0+(@1))
605 | LDI R31,HIGH(2*@0+(@1))
606 | CALL __GETW1PF
607 | ICALL
608 | .ENDM
609 |
610 | .MACRO __CALL2EN
611 | PUSH R26
612 | PUSH R27
613 | LDI R26,LOW(@0+(@1))
614 | LDI R27,HIGH(@0+(@1))
615 | CALL __EEPROMRDW
616 | POP R27
617 | POP R26
618 | ICALL
619 | .ENDM
620 |
621 | .MACRO __CALL2EX
622 | SUBI R26,LOW(-@0)
623 | SBCI R27,HIGH(-@0)
624 | CALL __EEPROMRDD
625 | ICALL
626 | .ENDM
627 |
628 | .MACRO __GETW1STACK
629 | IN R30,SPL
630 | IN R31,SPH
631 | ADIW R30,@0+1
632 | LD R0,Z+
633 | LD R31,Z
634 | MOV R30,R0
635 | .ENDM
636 |
637 | .MACRO __GETD1STACK
638 | IN R30,SPL
639 | IN R31,SPH
640 | ADIW R30,@0+1
641 | LD R0,Z+
642 | LD R1,Z+
643 | LD R22,Z
644 | MOVW R30,R0
645 | .ENDM
646 |
647 | .MACRO __NBST
648 | BST R@0,@1
649 | IN R30,SREG
650 | LDI R31,0x40
651 | EOR R30,R31
652 | OUT SREG,R30
653 | .ENDM
654 |
655 |
656 | .MACRO __PUTB1SN
657 | LDD R26,Y+@0
658 | LDD R27,Y+@0+1
659 | SUBI R26,LOW(-@1)
660 | SBCI R27,HIGH(-@1)
661 | ST X,R30
662 | .ENDM
663 |
664 | .MACRO __PUTW1SN
665 | LDD R26,Y+@0
666 | LDD R27,Y+@0+1
667 | SUBI R26,LOW(-@1)
668 | SBCI R27,HIGH(-@1)
669 | ST X+,R30
670 | ST X,R31
671 | .ENDM
672 |
673 | .MACRO __PUTD1SN
674 | LDD R26,Y+@0
675 | LDD R27,Y+@0+1
676 | SUBI R26,LOW(-@1)
677 | SBCI R27,HIGH(-@1)
678 | CALL __PUTDP1
679 | .ENDM
680 |
681 | .MACRO __PUTB1SNS
682 | LDD R26,Y+@0
683 | LDD R27,Y+@0+1
684 | ADIW R26,@1
685 | ST X,R30
686 | .ENDM
687 |
688 | .MACRO __PUTW1SNS
689 | LDD R26,Y+@0
690 | LDD R27,Y+@0+1
691 | ADIW R26,@1
692 | ST X+,R30
693 | ST X,R31
694 | .ENDM
695 |
696 | .MACRO __PUTD1SNS
697 | LDD R26,Y+@0
698 | LDD R27,Y+@0+1
699 | ADIW R26,@1
700 | CALL __PUTDP1
701 | .ENDM
702 |
703 | .MACRO __PUTB1PMN
704 | LDS R26,@0
705 | LDS R27,@0+1
706 | SUBI R26,LOW(-@1)
707 | SBCI R27,HIGH(-@1)
708 | ST X,R30
709 | .ENDM
710 |
711 | .MACRO __PUTW1PMN
712 | LDS R26,@0
713 | LDS R27,@0+1
714 | SUBI R26,LOW(-@1)
715 | SBCI R27,HIGH(-@1)
716 | ST X+,R30
717 | ST X,R31
718 | .ENDM
719 |
720 | .MACRO __PUTD1PMN
721 | LDS R26,@0
722 | LDS R27,@0+1
723 | SUBI R26,LOW(-@1)
724 | SBCI R27,HIGH(-@1)
725 | CALL __PUTDP1
726 | .ENDM
727 |
728 | .MACRO __PUTB1PMNS
729 | LDS R26,@0
730 | LDS R27,@0+1
731 | ADIW R26,@1
732 | ST X,R30
733 | .ENDM
734 |
735 | .MACRO __PUTW1PMNS
736 | LDS R26,@0
737 | LDS R27,@0+1
738 | ADIW R26,@1
739 | ST X+,R30
740 | ST X,R31
741 | .ENDM
742 |
743 | .MACRO __PUTD1PMNS
744 | LDS R26,@0
745 | LDS R27,@0+1
746 | ADIW R26,@1
747 | CALL __PUTDP1
748 | .ENDM
749 |
750 | .MACRO __PUTB1RN
751 | MOVW R26,R@0
752 | SUBI R26,LOW(-@1)
753 | SBCI R27,HIGH(-@1)
754 | ST X,R30
755 | .ENDM
756 |
757 | .MACRO __PUTW1RN
758 | MOVW R26,R@0
759 | SUBI R26,LOW(-@1)
760 | SBCI R27,HIGH(-@1)
761 | ST X+,R30
762 | ST X,R31
763 | .ENDM
764 |
765 | .MACRO __PUTD1RN
766 | MOVW R26,R@0
767 | SUBI R26,LOW(-@1)
768 | SBCI R27,HIGH(-@1)
769 | CALL __PUTDP1
770 | .ENDM
771 |
772 | .MACRO __PUTB1RNS
773 | MOVW R26,R@0
774 | ADIW R26,@1
775 | ST X,R30
776 | .ENDM
777 |
778 | .MACRO __PUTW1RNS
779 | MOVW R26,R@0
780 | ADIW R26,@1
781 | ST X+,R30
782 | ST X,R31
783 | .ENDM
784 |
785 | .MACRO __PUTD1RNS
786 | MOVW R26,R@0
787 | ADIW R26,@1
788 | CALL __PUTDP1
789 | .ENDM
790 |
791 | .MACRO __PUTB1RON
792 | MOV R26,R@0
793 | MOV R27,R@1
794 | SUBI R26,LOW(-@2)
795 | SBCI R27,HIGH(-@2)
796 | ST X,R30
797 | .ENDM
798 |
799 | .MACRO __PUTW1RON
800 | MOV R26,R@0
801 | MOV R27,R@1
802 | SUBI R26,LOW(-@2)
803 | SBCI R27,HIGH(-@2)
804 | ST X+,R30
805 | ST X,R31
806 | .ENDM
807 |
808 | .MACRO __PUTD1RON
809 | MOV R26,R@0
810 | MOV R27,R@1
811 | SUBI R26,LOW(-@2)
812 | SBCI R27,HIGH(-@2)
813 | CALL __PUTDP1
814 | .ENDM
815 |
816 | .MACRO __PUTB1RONS
817 | MOV R26,R@0
818 | MOV R27,R@1
819 | ADIW R26,@2
820 | ST X,R30
821 | .ENDM
822 |
823 | .MACRO __PUTW1RONS
824 | MOV R26,R@0
825 | MOV R27,R@1
826 | ADIW R26,@2
827 | ST X+,R30
828 | ST X,R31
829 | .ENDM
830 |
831 | .MACRO __PUTD1RONS
832 | MOV R26,R@0
833 | MOV R27,R@1
834 | ADIW R26,@2
835 | CALL __PUTDP1
836 | .ENDM
837 |
838 |
839 | .MACRO __GETB1SX
840 | MOVW R30,R28
841 | SUBI R30,LOW(-@0)
842 | SBCI R31,HIGH(-@0)
843 | LD R30,Z
844 | .ENDM
845 |
846 | .MACRO __GETB1HSX
847 | MOVW R30,R28
848 | SUBI R30,LOW(-@0)
849 | SBCI R31,HIGH(-@0)
850 | LD R31,Z
851 | .ENDM
852 |
853 | .MACRO __GETW1SX
854 | MOVW R30,R28
855 | SUBI R30,LOW(-@0)
856 | SBCI R31,HIGH(-@0)
857 | LD R0,Z+
858 | LD R31,Z
859 | MOV R30,R0
860 | .ENDM
861 |
862 | .MACRO __GETD1SX
863 | MOVW R30,R28
864 | SUBI R30,LOW(-@0)
865 | SBCI R31,HIGH(-@0)
866 | LD R0,Z+
867 | LD R1,Z+
868 | LD R22,Z+
869 | LD R23,Z
870 | MOVW R30,R0
871 | .ENDM
872 |
873 | .MACRO __GETB2SX
874 | MOVW R26,R28
875 | SUBI R26,LOW(-@0)
876 | SBCI R27,HIGH(-@0)
877 | LD R26,X
878 | .ENDM
879 |
880 | .MACRO __GETW2SX
881 | MOVW R26,R28
882 | SUBI R26,LOW(-@0)
883 | SBCI R27,HIGH(-@0)
884 | LD R0,X+
885 | LD R27,X
886 | MOV R26,R0
887 | .ENDM
888 |
889 | .MACRO __GETD2SX
890 | MOVW R26,R28
891 | SUBI R26,LOW(-@0)
892 | SBCI R27,HIGH(-@0)
893 | LD R0,X+
894 | LD R1,X+
895 | LD R24,X+
896 | LD R25,X
897 | MOVW R26,R0
898 | .ENDM
899 |
900 | .MACRO __GETBRSX
901 | MOVW R30,R28
902 | SUBI R30,LOW(-@1)
903 | SBCI R31,HIGH(-@1)
904 | LD R@0,Z
905 | .ENDM
906 |
907 | .MACRO __GETWRSX
908 | MOVW R30,R28
909 | SUBI R30,LOW(-@2)
910 | SBCI R31,HIGH(-@2)
911 | LD R@0,Z+
912 | LD R@1,Z
913 | .ENDM
914 |
915 | .MACRO __GETBRSX2
916 | MOVW R26,R28
917 | SUBI R26,LOW(-@1)
918 | SBCI R27,HIGH(-@1)
919 | LD R@0,X
920 | .ENDM
921 |
922 | .MACRO __GETWRSX2
923 | MOVW R26,R28
924 | SUBI R26,LOW(-@2)
925 | SBCI R27,HIGH(-@2)
926 | LD R@0,X+
927 | LD R@1,X
928 | .ENDM
929 |
930 | .MACRO __LSLW8SX
931 | MOVW R30,R28
932 | SUBI R30,LOW(-@0)
933 | SBCI R31,HIGH(-@0)
934 | LD R31,Z
935 | CLR R30
936 | .ENDM
937 |
938 | .MACRO __PUTB1SX
939 | MOVW R26,R28
940 | SUBI R26,LOW(-@0)
941 | SBCI R27,HIGH(-@0)
942 | ST X,R30
943 | .ENDM
944 |
945 | .MACRO __PUTW1SX
946 | MOVW R26,R28
947 | SUBI R26,LOW(-@0)
948 | SBCI R27,HIGH(-@0)
949 | ST X+,R30
950 | ST X,R31
951 | .ENDM
952 |
953 | .MACRO __PUTD1SX
954 | MOVW R26,R28
955 | SUBI R26,LOW(-@0)
956 | SBCI R27,HIGH(-@0)
957 | ST X+,R30
958 | ST X+,R31
959 | ST X+,R22
960 | ST X,R23
961 | .ENDM
962 |
963 | .MACRO __CLRW1SX
964 | MOVW R26,R28
965 | SUBI R26,LOW(-@0)
966 | SBCI R27,HIGH(-@0)
967 | ST X+,R30
968 | ST X,R30
969 | .ENDM
970 |
971 | .MACRO __CLRD1SX
972 | MOVW R26,R28
973 | SUBI R26,LOW(-@0)
974 | SBCI R27,HIGH(-@0)
975 | ST X+,R30
976 | ST X+,R30
977 | ST X+,R30
978 | ST X,R30
979 | .ENDM
980 |
981 | .MACRO __PUTB2SX
982 | MOVW R30,R28
983 | SUBI R30,LOW(-@0)
984 | SBCI R31,HIGH(-@0)
985 | ST Z,R26
986 | .ENDM
987 |
988 | .MACRO __PUTW2SX
989 | MOVW R30,R28
990 | SUBI R30,LOW(-@0)
991 | SBCI R31,HIGH(-@0)
992 | ST Z+,R26
993 | ST Z,R27
994 | .ENDM
995 |
996 | .MACRO __PUTD2SX
997 | MOVW R30,R28
998 | SUBI R30,LOW(-@0)
999 | SBCI R31,HIGH(-@0)
1000 | ST Z+,R26
1001 | ST Z+,R27
1002 | ST Z+,R24
1003 | ST Z,R25
1004 | .ENDM
1005 |
1006 | .MACRO __PUTBSRX
1007 | MOVW R30,R28
1008 | SUBI R30,LOW(-@1)
1009 | SBCI R31,HIGH(-@1)
1010 | ST Z,R@0
1011 | .ENDM
1012 |
1013 | .MACRO __PUTWSRX
1014 | MOVW R30,R28
1015 | SUBI R30,LOW(-@2)
1016 | SBCI R31,HIGH(-@2)
1017 | ST Z+,R@0
1018 | ST Z,R@1
1019 | .ENDM
1020 |
1021 | .MACRO __PUTB1SNX
1022 | MOVW R26,R28
1023 | SUBI R26,LOW(-@0)
1024 | SBCI R27,HIGH(-@0)
1025 | LD R0,X+
1026 | LD R27,X
1027 | MOV R26,R0
1028 | SUBI R26,LOW(-@1)
1029 | SBCI R27,HIGH(-@1)
1030 | ST X,R30
1031 | .ENDM
1032 |
1033 | .MACRO __PUTW1SNX
1034 | MOVW R26,R28
1035 | SUBI R26,LOW(-@0)
1036 | SBCI R27,HIGH(-@0)
1037 | LD R0,X+
1038 | LD R27,X
1039 | MOV R26,R0
1040 | SUBI R26,LOW(-@1)
1041 | SBCI R27,HIGH(-@1)
1042 | ST X+,R30
1043 | ST X,R31
1044 | .ENDM
1045 |
1046 | .MACRO __PUTD1SNX
1047 | MOVW R26,R28
1048 | SUBI R26,LOW(-@0)
1049 | SBCI R27,HIGH(-@0)
1050 | LD R0,X+
1051 | LD R27,X
1052 | MOV R26,R0
1053 | SUBI R26,LOW(-@1)
1054 | SBCI R27,HIGH(-@1)
1055 | ST X+,R30
1056 | ST X+,R31
1057 | ST X+,R22
1058 | ST X,R23
1059 | .ENDM
1060 |
1061 | .MACRO __MULBRR
1062 | MULS R@0,R@1
1063 | MOVW R30,R0
1064 | .ENDM
1065 |
1066 | .MACRO __MULBRRU
1067 | MUL R@0,R@1
1068 | MOVW R30,R0
1069 | .ENDM
1070 |
1071 | .MACRO __MULBRR0
1072 | MULS R@0,R@1
1073 | .ENDM
1074 |
1075 | .MACRO __MULBRRU0
1076 | MUL R@0,R@1
1077 | .ENDM
1078 |
1079 | .MACRO __MULBNWRU
1080 | LDI R26,@2
1081 | MUL R26,R@0
1082 | MOVW R30,R0
1083 | MUL R26,R@1
1084 | ADD R31,R0
1085 | .ENDM
1086 |
1087 | .CSEG
1088 | .ORG 0x00
1089 |
1090 | ;START OF CODE MARKER
1091 | __START_OF_CODE:
1092 |
1093 | ;INTERRUPT VECTORS
1094 | JMP __RESET
1095 | JMP 0x00
1096 | JMP 0x00
1097 | JMP 0x00
1098 | JMP 0x00
1099 | JMP 0x00
1100 | JMP 0x00
1101 | JMP 0x00
1102 | JMP 0x00
1103 | JMP 0x00
1104 | JMP 0x00
1105 | JMP 0x00
1106 | JMP 0x00
1107 | JMP 0x00
1108 | JMP 0x00
1109 | JMP 0x00
1110 | JMP 0x00
1111 | JMP 0x00
1112 | JMP 0x00
1113 | JMP 0x00
1114 | JMP 0x00
1115 |
1116 | __RESET:
1117 | CLI
1118 | CLR R30
1119 | OUT EECR,R30
1120 |
1121 | ;INTERRUPT VECTORS ARE PLACED
1122 | ;AT THE START OF FLASH
1123 | LDI R31,1
1124 | OUT GICR,R31
1125 | OUT GICR,R30
1126 | OUT MCUCR,R30
1127 |
1128 | ;CLEAR R2-R14
1129 | LDI R24,(14-2)+1
1130 | LDI R26,2
1131 | CLR R27
1132 | __CLEAR_REG:
1133 | ST X+,R30
1134 | DEC R24
1135 | BRNE __CLEAR_REG
1136 |
1137 | ;CLEAR SRAM
1138 | LDI R24,LOW(__CLEAR_SRAM_SIZE)
1139 | LDI R25,HIGH(__CLEAR_SRAM_SIZE)
1140 | LDI R26,__SRAM_START
1141 | __CLEAR_SRAM:
1142 | ST X+,R30
1143 | SBIW R24,1
1144 | BRNE __CLEAR_SRAM
1145 |
1146 | ;HARDWARE STACK POINTER INITIALIZATION
1147 | LDI R30,LOW(__SRAM_END-__HEAP_SIZE)
1148 | OUT SPL,R30
1149 | LDI R30,HIGH(__SRAM_END-__HEAP_SIZE)
1150 | OUT SPH,R30
1151 |
1152 | ;DATA STACK POINTER INITIALIZATION
1153 | LDI R28,LOW(__SRAM_START+__DSTACK_SIZE)
1154 | LDI R29,HIGH(__SRAM_START+__DSTACK_SIZE)
1155 |
1156 | JMP _main
1157 |
1158 | .ESEG
1159 | .ORG 0
1160 |
1161 | .DSEG
1162 | .ORG 0x260
1163 |
1164 | .CSEG
1165 | ;// Ahmad 99463107 and mohammad mehdi 99463108
1166 | ;#include
1167 | #ifndef __SLEEP_DEFINED__
1168 | #define __SLEEP_DEFINED__
1169 | .EQU __se_bit=0x80
1170 | .EQU __sm_mask=0x70
1171 | .EQU __sm_powerdown=0x20
1172 | .EQU __sm_powersave=0x30
1173 | .EQU __sm_standby=0x60
1174 | .EQU __sm_ext_standby=0x70
1175 | .EQU __sm_adc_noise_red=0x10
1176 | .SET power_ctrl_reg=mcucr
1177 | #endif
1178 | ;#include
1179 | ;
1180 | ;void main(void){
1181 | ; 0000 0005 void main(void){
1182 |
1183 | .CSEG
1184 | _main:
1185 | ; .FSTART _main
1186 | ; 0000 0006 int i;
1187 | ; 0000 0007 DDRA = 0b11111111;
1188 | ; i -> R16,R17
1189 | LDI R30,LOW(255)
1190 | OUT 0x1A,R30
1191 | ; 0000 0008 DDRB = 0b11111111;
1192 | OUT 0x17,R30
1193 | ; 0000 0009 while (1){
1194 | _0x3:
1195 | ; 0000 000A for (i = 5000; i > 0; i--) {
1196 | __GETWRN 16,17,5000
1197 | _0x7:
1198 | CLR R0
1199 | CP R0,R16
1200 | CPC R0,R17
1201 | BRGE _0x8
1202 | ; 0000 000B PORTA = 0b11111110;
1203 | LDI R30,LOW(254)
1204 | RCALL SUBOPT_0x0
1205 | ; 0000 000C PORTB = 0b11111110;
1206 | ; 0000 000D PORTA = 0b00000000;
1207 | ; 0000 000E PORTB = 0b11111111;
1208 | ; 0000 000F }
1209 | __SUBWRN 16,17,1
1210 | RJMP _0x7
1211 | _0x8:
1212 | ; 0000 0010 for (i = 5000; i > 0; i--) {
1213 | __GETWRN 16,17,5000
1214 | _0xA:
1215 | CLR R0
1216 | CP R0,R16
1217 | CPC R0,R17
1218 | BRGE _0xB
1219 | ; 0000 0011 PORTA = 0b11111110;
1220 | LDI R30,LOW(254)
1221 | OUT 0x1B,R30
1222 | ; 0000 0012 PORTB = 0b11111101;
1223 | LDI R30,LOW(253)
1224 | RCALL SUBOPT_0x1
1225 | ; 0000 0013 PORTB = 0b11111111;
1226 | ; 0000 0014 PORTA = 0b00010001;
1227 | RCALL SUBOPT_0x0
1228 | ; 0000 0015 PORTB = 0b11111110;
1229 | ; 0000 0016 PORTA = 0b00000000;
1230 | ; 0000 0017 PORTB = 0b11111111;
1231 | ; 0000 0018 }
1232 | __SUBWRN 16,17,1
1233 | RJMP _0xA
1234 | _0xB:
1235 | ; 0000 0019 for (i = 5000; i > 0; i--) {
1236 | __GETWRN 16,17,5000
1237 | _0xD:
1238 | CLR R0
1239 | CP R0,R16
1240 | CPC R0,R17
1241 | BRGE _0xE
1242 | ; 0000 001A PORTA = 0b11111110;
1243 | LDI R30,LOW(254)
1244 | OUT 0x1B,R30
1245 | ; 0000 001B PORTB = 0b11111011;
1246 | LDI R30,LOW(251)
1247 | RCALL SUBOPT_0x1
1248 | ; 0000 001C PORTB = 0b11111111;
1249 | ; 0000 001D PORTA = 0b00010001;
1250 | OUT 0x1B,R30
1251 | ; 0000 001E PORTB = 0b11111100;
1252 | LDI R30,LOW(252)
1253 | RCALL SUBOPT_0x2
1254 | ; 0000 001F PORTA = 0b00000000;
1255 | ; 0000 0020 PORTB = 0b11111111;
1256 | ; 0000 0021 }
1257 | __SUBWRN 16,17,1
1258 | RJMP _0xD
1259 | _0xE:
1260 | ; 0000 0022 for (i = 5000; i > 0; i--) {
1261 | __GETWRN 16,17,5000
1262 | _0x10:
1263 | CLR R0
1264 | CP R0,R16
1265 | CPC R0,R17
1266 | BRGE _0x11
1267 | ; 0000 0023 PORTA = 0b11111110;
1268 | LDI R30,LOW(254)
1269 | OUT 0x1B,R30
1270 | ; 0000 0024 PORTB = 0b11110111;
1271 | LDI R30,LOW(247)
1272 | RCALL SUBOPT_0x1
1273 | ; 0000 0025 PORTB = 0b11111111;
1274 | ; 0000 0026 PORTA = 0b00010001;
1275 | OUT 0x1B,R30
1276 | ; 0000 0027 PORTB = 0b11111000;
1277 | LDI R30,LOW(248)
1278 | RCALL SUBOPT_0x2
1279 | ; 0000 0028 PORTA = 0b00000000;
1280 | ; 0000 0029 PORTB = 0b11111111;
1281 | ; 0000 002A }
1282 | __SUBWRN 16,17,1
1283 | RJMP _0x10
1284 | _0x11:
1285 | ; 0000 002B for (i = 5000; i > 0; i--) {
1286 | __GETWRN 16,17,5000
1287 | _0x13:
1288 | CLR R0
1289 | CP R0,R16
1290 | CPC R0,R17
1291 | BRGE _0x14
1292 | ; 0000 002C PORTA = 0b11111110;
1293 | LDI R30,LOW(254)
1294 | OUT 0x1B,R30
1295 | ; 0000 002D PORTB = 0b11101111;
1296 | LDI R30,LOW(239)
1297 | RCALL SUBOPT_0x1
1298 | ; 0000 002E PORTB = 0b11111111;
1299 | ; 0000 002F PORTA = 0b00010001;
1300 | OUT 0x1B,R30
1301 | ; 0000 0030 PORTB = 0b11110000;
1302 | LDI R30,LOW(240)
1303 | RCALL SUBOPT_0x2
1304 | ; 0000 0031 PORTA = 0b00000000;
1305 | ; 0000 0032 PORTB = 0b11111111;
1306 | ; 0000 0033 }
1307 | __SUBWRN 16,17,1
1308 | RJMP _0x13
1309 | _0x14:
1310 | ; 0000 0034 for (i = 5000; i > 0; i--) {
1311 | __GETWRN 16,17,5000
1312 | _0x16:
1313 | CLR R0
1314 | CP R0,R16
1315 | CPC R0,R17
1316 | BRGE _0x17
1317 | ; 0000 0035 PORTA = 0b11111110;
1318 | LDI R30,LOW(254)
1319 | OUT 0x1B,R30
1320 | ; 0000 0036 PORTB = 0b11011110;
1321 | LDI R30,LOW(222)
1322 | RCALL SUBOPT_0x1
1323 | ; 0000 0037 PORTB = 0b11111111;
1324 | ; 0000 0038 PORTA = 0b00010001;
1325 | OUT 0x1B,R30
1326 | ; 0000 0039 PORTB = 0b11100001;
1327 | LDI R30,LOW(225)
1328 | RCALL SUBOPT_0x2
1329 | ; 0000 003A PORTA = 0b00000000;
1330 | ; 0000 003B PORTB = 0b11111111;
1331 | ; 0000 003C }
1332 | __SUBWRN 16,17,1
1333 | RJMP _0x16
1334 | _0x17:
1335 | ; 0000 003D for (i = 5000; i > 0; i--) {
1336 | __GETWRN 16,17,5000
1337 | _0x19:
1338 | CLR R0
1339 | CP R0,R16
1340 | CPC R0,R17
1341 | BRGE _0x1A
1342 | ; 0000 003E PORTA = 0b11111110;
1343 | LDI R30,LOW(254)
1344 | OUT 0x1B,R30
1345 | ; 0000 003F PORTB = 0b10111101;
1346 | LDI R30,LOW(189)
1347 | RCALL SUBOPT_0x1
1348 | ; 0000 0040 PORTB = 0b11111111;
1349 | ; 0000 0041 PORTA = 0b00010001;
1350 | OUT 0x1B,R30
1351 | ; 0000 0042 PORTB = 0b11000011;
1352 | LDI R30,LOW(195)
1353 | RCALL SUBOPT_0x2
1354 | ; 0000 0043 PORTA = 0b00000000;
1355 | ; 0000 0044 PORTB = 0b11111111;
1356 | ; 0000 0045 }
1357 | __SUBWRN 16,17,1
1358 | RJMP _0x19
1359 | _0x1A:
1360 | ; 0000 0046 for (i = 5000; i > 0; i--) {
1361 | __GETWRN 16,17,5000
1362 | _0x1C:
1363 | CLR R0
1364 | CP R0,R16
1365 | CPC R0,R17
1366 | BRGE _0x1D
1367 | ; 0000 0047 PORTA = 0b11111110;
1368 | LDI R30,LOW(254)
1369 | OUT 0x1B,R30
1370 | ; 0000 0048 PORTB = 0b01111011;
1371 | LDI R30,LOW(123)
1372 | RCALL SUBOPT_0x1
1373 | ; 0000 0049 PORTB = 0b11111111;
1374 | ; 0000 004A PORTA = 0b00010001;
1375 | OUT 0x1B,R30
1376 | ; 0000 004B PORTB = 0b10000111;
1377 | LDI R30,LOW(135)
1378 | RCALL SUBOPT_0x2
1379 | ; 0000 004C PORTA = 0b00000000;
1380 | ; 0000 004D PORTB = 0b11111111;
1381 | ; 0000 004E }
1382 | __SUBWRN 16,17,1
1383 | RJMP _0x1C
1384 | _0x1D:
1385 | ; 0000 004F for (i = 5000; i > 0; i--) {
1386 | __GETWRN 16,17,5000
1387 | _0x1F:
1388 | CLR R0
1389 | CP R0,R16
1390 | CPC R0,R17
1391 | BRGE _0x20
1392 | ; 0000 0050 PORTA = 0b11111110;
1393 | LDI R30,LOW(254)
1394 | OUT 0x1B,R30
1395 | ; 0000 0051 PORTB = 0b11110111;
1396 | LDI R30,LOW(247)
1397 | RCALL SUBOPT_0x1
1398 | ; 0000 0052 PORTB = 0b11111111;
1399 | ; 0000 0053 PORTA = 0b00010001;
1400 | OUT 0x1B,R30
1401 | ; 0000 0054 PORTB = 0b00001111;
1402 | LDI R30,LOW(15)
1403 | RCALL SUBOPT_0x2
1404 | ; 0000 0055 PORTA = 0b00000000;
1405 | ; 0000 0056 PORTB = 0b11111111;
1406 | ; 0000 0057 }
1407 | __SUBWRN 16,17,1
1408 | RJMP _0x1F
1409 | _0x20:
1410 | ; 0000 0058 for (i = 5000; i > 0; i--) {
1411 | __GETWRN 16,17,5000
1412 | _0x22:
1413 | CLR R0
1414 | CP R0,R16
1415 | CPC R0,R17
1416 | BRGE _0x23
1417 | ; 0000 0059 PORTA = 0b11111110;
1418 | LDI R30,LOW(254)
1419 | OUT 0x1B,R30
1420 | ; 0000 005A PORTB = 0b11101111;
1421 | LDI R30,LOW(239)
1422 | RCALL SUBOPT_0x1
1423 | ; 0000 005B PORTB = 0b11111111;
1424 | ; 0000 005C PORTA = 0b00010001;
1425 | OUT 0x1B,R30
1426 | ; 0000 005D PORTB = 0b00011111;
1427 | LDI R30,LOW(31)
1428 | RCALL SUBOPT_0x2
1429 | ; 0000 005E PORTA = 0b00000000;
1430 | ; 0000 005F PORTB = 0b11111111;
1431 | ; 0000 0060 }
1432 | __SUBWRN 16,17,1
1433 | RJMP _0x22
1434 | _0x23:
1435 | ; 0000 0061 for (i = 5000; i > 0; i--) {
1436 | __GETWRN 16,17,5000
1437 | _0x25:
1438 | CLR R0
1439 | CP R0,R16
1440 | CPC R0,R17
1441 | BRGE _0x26
1442 | ; 0000 0062 PORTA = 0b11111110;
1443 | LDI R30,LOW(254)
1444 | OUT 0x1B,R30
1445 | ; 0000 0063 PORTB = 0b11011111;
1446 | LDI R30,LOW(223)
1447 | RCALL SUBOPT_0x1
1448 | ; 0000 0064 PORTB = 0b11111111;
1449 | ; 0000 0065 PORTA = 0b00010001;
1450 | OUT 0x1B,R30
1451 | ; 0000 0066 PORTB = 0b00111111;
1452 | LDI R30,LOW(63)
1453 | RCALL SUBOPT_0x2
1454 | ; 0000 0067 PORTA = 0b00000000;
1455 | ; 0000 0068 PORTB = 0b11111111;
1456 | ; 0000 0069 }
1457 | __SUBWRN 16,17,1
1458 | RJMP _0x25
1459 | _0x26:
1460 | ; 0000 006A for (i = 5000; i > 0; i--) {
1461 | __GETWRN 16,17,5000
1462 | _0x28:
1463 | CLR R0
1464 | CP R0,R16
1465 | CPC R0,R17
1466 | BRGE _0x29
1467 | ; 0000 006B PORTA = 0b11111110;
1468 | LDI R30,LOW(254)
1469 | OUT 0x1B,R30
1470 | ; 0000 006C PORTB = 0b10111111;
1471 | LDI R30,LOW(191)
1472 | RCALL SUBOPT_0x1
1473 | ; 0000 006D PORTB = 0b11111111;
1474 | ; 0000 006E PORTA = 0b00010001;
1475 | OUT 0x1B,R30
1476 | ; 0000 006F PORTB = 0b01111111;
1477 | LDI R30,LOW(127)
1478 | RCALL SUBOPT_0x2
1479 | ; 0000 0070 PORTA = 0b00000000;
1480 | ; 0000 0071 PORTB = 0b11111111;
1481 | ; 0000 0072 }
1482 | __SUBWRN 16,17,1
1483 | RJMP _0x28
1484 | _0x29:
1485 | ; 0000 0073 for (i = 5000; i > 0; i--) {
1486 | __GETWRN 16,17,5000
1487 | _0x2B:
1488 | CLR R0
1489 | CP R0,R16
1490 | CPC R0,R17
1491 | BRGE _0x2C
1492 | ; 0000 0074 PORTA = 0b11111110;
1493 | LDI R30,LOW(254)
1494 | OUT 0x1B,R30
1495 | ; 0000 0075 PORTB = 0b01111111;
1496 | LDI R30,LOW(127)
1497 | RCALL SUBOPT_0x2
1498 | ; 0000 0076 PORTA = 0b00000000;
1499 | ; 0000 0077 PORTB = 0b11111111;
1500 | ; 0000 0078 }
1501 | __SUBWRN 16,17,1
1502 | RJMP _0x2B
1503 | _0x2C:
1504 | ; 0000 0079 for (i = 5000; i > 0; i--) {
1505 | __GETWRN 16,17,5000
1506 | _0x2E:
1507 | CLR R0
1508 | CP R0,R16
1509 | CPC R0,R17
1510 | BRGE _0x2F
1511 | ; 0000 007A PORTA = 0b00000000;
1512 | LDI R30,LOW(0)
1513 | OUT 0x1B,R30
1514 | ; 0000 007B PORTB = 0b11111111;
1515 | LDI R30,LOW(255)
1516 | OUT 0x18,R30
1517 | ; 0000 007C }
1518 | __SUBWRN 16,17,1
1519 | RJMP _0x2E
1520 | _0x2F:
1521 | ; 0000 007D }
1522 | RJMP _0x3
1523 | ; 0000 007E }
1524 | _0x30:
1525 | RJMP _0x30
1526 | ; .FEND
1527 |
1528 | .CSEG
1529 | ;OPTIMIZER ADDED SUBROUTINE, CALLED 2 TIMES, CODE SIZE REDUCTION:2 WORDS
1530 | SUBOPT_0x0:
1531 | OUT 0x1B,R30
1532 | LDI R30,LOW(254)
1533 | OUT 0x18,R30
1534 | LDI R30,LOW(0)
1535 | OUT 0x1B,R30
1536 | LDI R30,LOW(255)
1537 | OUT 0x18,R30
1538 | RET
1539 |
1540 | ;OPTIMIZER ADDED SUBROUTINE, CALLED 11 TIMES, CODE SIZE REDUCTION:17 WORDS
1541 | SUBOPT_0x1:
1542 | OUT 0x18,R30
1543 | LDI R30,LOW(255)
1544 | OUT 0x18,R30
1545 | LDI R30,LOW(17)
1546 | RET
1547 |
1548 | ;OPTIMIZER ADDED SUBROUTINE, CALLED 11 TIMES, CODE SIZE REDUCTION:27 WORDS
1549 | SUBOPT_0x2:
1550 | OUT 0x18,R30
1551 | LDI R30,LOW(0)
1552 | OUT 0x1B,R30
1553 | LDI R30,LOW(255)
1554 | OUT 0x18,R30
1555 | RET
1556 |
1557 |
1558 | .CSEG
1559 | ;END OF CODE MARKER
1560 | __END_OF_CODE:
1561 |
--------------------------------------------------------------------------------
/Code/Proteus/Project3/proj3.pdsprj.DESKTOP-B0J1FTO.Ahmad.workspace:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 2c0000000200000003000000ffffffffffffffffffffffffffffffff30000000f7ffffff4c06000053030000
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | - -22
42 | - No
43 | - 100
44 | - 120
45 | - 100
46 |
47 |
48 |
49 |
50 | - 100
51 | - No
52 | - Yes
53 | - 100
54 | - 100
55 | - Yes
56 | - Yes
57 | - Yes
58 | - Yes
59 | - 0
60 | - 100
61 | - 100
62 | - 100
63 | - 100
64 | - 0
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 | - 2
73 | - Yes
74 | - 2
75 | - Yes
76 | - Yes
77 | - 00000000
78 |
79 |
80 |
81 |
82 | - 2
83 | - Yes
84 | - 2
85 | - Yes
86 | - Yes
87 | - 00000000
88 |
89 |
90 |
91 |
92 | - 2
93 | - Yes
94 | - 2
95 | - Yes
96 | - Yes
97 | - 00000000
98 |
99 |
100 |
101 |
102 | - 2
103 | - Yes
104 | - 2
105 | - Yes
106 | - Yes
107 | - 00000000
108 |
109 |
110 |
111 |
112 | - 2
113 | - Yes
114 | - 2
115 | - Yes
116 | - Yes
117 | - 00000060
118 |
119 |
120 |
121 |
122 | - 2
123 | - Yes
124 | - 2
125 | - Yes
126 | - Yes
127 | - 00000020
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 | - 100
136 | - No
137 | - Yes
138 | - 100
139 | - 1508
140 | - Yes
141 | - Yes
142 | - Yes
143 | - Yes
144 | - No
145 | - 0
146 | - 100
147 | - 100
148 | - 100
149 | - 0
150 | - 0
151 |
152 |
153 |
154 |
155 |
156 |
--------------------------------------------------------------------------------