├── 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 | --------------------------------------------------------------------------------