1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 2.9.0 #5416 (Mar 22 2009) (MINGW32) 4 ; This file was generated Wed Sep 30 17:07:09 2015 5 ;-------------------------------------------------------- 6 .module lab2 7 .optsdcc -mmcs51 --model-small 8 9 ;-------------------------------------------------------- 10 ; Public variables in this module 11 ;-------------------------------------------------------- 12 .globl _main 13 .globl _SPR0 14 .globl _SPR1 15 .globl _CPHA 16 .globl _CPOL 17 .globl _SPIM 18 .globl _SPE 19 .globl _WCOL 20 .globl _ISPI 21 .globl _I2CI 22 .globl _I2CTX 23 .globl _I2CRS 24 .globl _I2CM 25 .globl _MDI 26 .globl _MCO 27 .globl _MDE 28 .globl _MDO 29 .globl _CS0 30 .globl _CS1 31 .globl _CS2 32 .globl _CS3 33 .globl _SCONV 34 .globl _CCONV 35 .globl _DMA 36 .globl _ADCI 37 .globl _P 38 .globl _F1 39 .globl _OV 40 .globl _RS0 41 .globl _RS1 42 .globl _F0 43 .globl _AC 44 .globl _CY 45 .globl _CAP2 46 .globl _CNT2 47 .globl _TR2 48 .globl _XEN 49 .globl _TCLK 50 .globl _RCLK 51 .globl _EXF2 52 .globl _TF2 53 .globl _WDE 54 .globl _WDS 55 .globl _WDR2 56 .globl _WDR1 57 .globl _PRE0 58 .globl _PRE1 59 .globl _PRE2 60 .globl _PX0 61 .globl _PT0 62 .globl _PX1 63 .globl _PT1 64 .globl _PS 65 .globl _PT2 66 .globl _PADC 67 .globl _PSI 68 .globl _RXD 69 .globl _TXD 70 .globl _INT0 71 .globl _INT1 72 .globl _T0 73 .globl _T1 74 .globl _WR 75 .globl _RD 76 .globl _EX0 77 .globl _ET0 78 .globl _EX1 79 .globl _ET1 80 .globl _ES 81 .globl _ET2 82 .globl _EADC 83 .globl _EA 84 .globl _RI 85 .globl _TI 86 .globl _RB8 87 .globl _TB8 88 .globl _REN 89 .globl _SM2 90 .globl _SM1 91 .globl _SM0 92 .globl _T2 93 .globl _T2EX 94 .globl _IT0 95 .globl _IE0 96 .globl _IT1 97 .globl _IE1 98 .globl _TR0 99 .globl _TF0 100 .globl _TR1 101 .globl _TF1 102 .globl _DACCON 103 .globl _DAC1H 104 .globl _DAC1L 105 .globl _DAC0H 106 .globl _DAC0L 107 .globl _SPICON 108 .globl _SPIDAT 109 .globl _ADCCON3 110 .globl _ADCGAINH 111 .globl _ADCGAINL 112 .globl _ADCOFSH 113 .globl _ADCOFSL 114 .globl _B 115 .globl _ADCCON1 116 .globl _I2CCON 117 .globl _ACC 118 .globl _PSMCON 119 .globl _ADCDATAH 120 .globl _ADCDATAL 121 .globl _ADCCON2 122 .globl _DMAP 123 .globl _DMAH 124 .globl _DMAL 125 .globl _PSW 126 .globl _TH2 127 .globl _TL2 128 .globl _RCAP2H 129 .globl _RCAP2L 130 .globl _T2CON 131 .globl _EADRL 132 .globl _WDCON 133 .globl _EDATA4 134 .globl _EDATA3 135 .globl _EDATA2 136 .globl _EDATA1 137 .globl _ETIM3 138 .globl _ETIM2 139 .globl _ETIM1 140 .globl _ECON 141 .globl _IP 142 .globl _P3 143 .globl _IE2 144 .globl _IE 145 .globl _P2 146 .globl _I2CADD 147 .globl _I2CDAT 148 .globl _SBUF 149 .globl _SCON 150 .globl _P1 151 .globl _TH1 152 .globl _TH0 153 .globl _TL1 154 .globl _TL0 155 .globl _TMOD 156 .globl _TCON 157 .globl _PCON 158 .globl _DPP 159 .globl _DPH 160 .globl _DPL 161 .globl _SP 162 .globl _P0 163 ;-------------------------------------------------------- 164 ; special function registers 165 ;-------------------------------------------------------- 166 .area RSEG (DATA) 0080 167 _P0 = 0x0080 0081 168 _SP = 0x0081 0082 169 _DPL = 0x0082 0083 170 _DPH = 0x0083 0084 171 _DPP = 0x0084 0087 172 _PCON = 0x0087 0088 173 _TCON = 0x0088 0089 174 _TMOD = 0x0089 008A 175 _TL0 = 0x008a 008B 176 _TL1 = 0x008b 008C 177 _TH0 = 0x008c 008D 178 _TH1 = 0x008d 0090 179 _P1 = 0x0090 0098 180 _SCON = 0x0098 0099 181 _SBUF = 0x0099 009A 182 _I2CDAT = 0x009a 009B 183 _I2CADD = 0x009b 00A0 184 _P2 = 0x00a0 00A8 185 _IE = 0x00a8 00A9 186 _IE2 = 0x00a9 00B0 187 _P3 = 0x00b0 00B8 188 _IP = 0x00b8 00B9 189 _ECON = 0x00b9 00BA 190 _ETIM1 = 0x00ba 00BB 191 _ETIM2 = 0x00bb 00C4 192 _ETIM3 = 0x00c4 00BC 193 _EDATA1 = 0x00bc 00BD 194 _EDATA2 = 0x00bd 00BE 195 _EDATA3 = 0x00be 00BF 196 _EDATA4 = 0x00bf 00C0 197 _WDCON = 0x00c0 00C6 198 _EADRL = 0x00c6 00C8 199 _T2CON = 0x00c8 00CA 200 _RCAP2L = 0x00ca 00CB 201 _RCAP2H = 0x00cb 00CC 202 _TL2 = 0x00cc 00CD 203 _TH2 = 0x00cd 00D0 204 _PSW = 0x00d0 00D2 205 _DMAL = 0x00d2 00D3 206 _DMAH = 0x00d3 00D4 207 _DMAP = 0x00d4 00D8 208 _ADCCON2 = 0x00d8 00D9 209 _ADCDATAL = 0x00d9 00DA 210 _ADCDATAH = 0x00da 00DF 211 _PSMCON = 0x00df 00E0 212 _ACC = 0x00e0 00E8 213 _I2CCON = 0x00e8 00EF 214 _ADCCON1 = 0x00ef 00F0 215 _B = 0x00f0 00F1 216 _ADCOFSL = 0x00f1 00F2 217 _ADCOFSH = 0x00f2 00F3 218 _ADCGAINL = 0x00f3 00F4 219 _ADCGAINH = 0x00f4 00F5 220 _ADCCON3 = 0x00f5 00F7 221 _SPIDAT = 0x00f7 00F8 222 _SPICON = 0x00f8 00F9 223 _DAC0L = 0x00f9 00FA 224 _DAC0H = 0x00fa 00FB 225 _DAC1L = 0x00fb 00FC 226 _DAC1H = 0x00fc 00FD 227 _DACCON = 0x00fd 228 ;-------------------------------------------------------- 229 ; special function bits 230 ;-------------------------------------------------------- 231 .area RSEG (DATA) 008F 232 _TF1 = 0x008f 008E 233 _TR1 = 0x008e 008D 234 _TF0 = 0x008d 008C 235 _TR0 = 0x008c 008B 236 _IE1 = 0x008b 008A 237 _IT1 = 0x008a 0089 238 _IE0 = 0x0089 0088 239 _IT0 = 0x0088 0091 240 _T2EX = 0x0091 0090 241 _T2 = 0x0090 009F 242 _SM0 = 0x009f 009E 243 _SM1 = 0x009e 009D 244 _SM2 = 0x009d 009C 245 _REN = 0x009c 009B 246 _TB8 = 0x009b 009A 247 _RB8 = 0x009a 0099 248 _TI = 0x0099 0098 249 _RI = 0x0098 00AF 250 _EA = 0x00af 00AE 251 _EADC = 0x00ae 00AD 252 _ET2 = 0x00ad 00AC 253 _ES = 0x00ac 00AB 254 _ET1 = 0x00ab 00AA 255 _EX1 = 0x00aa 00A9 256 _ET0 = 0x00a9 00A8 257 _EX0 = 0x00a8 00B7 258 _RD = 0x00b7 00B6 259 _WR = 0x00b6 00B5 260 _T1 = 0x00b5 00B4 261 _T0 = 0x00b4 00B3 262 _INT1 = 0x00b3 00B2 263 _INT0 = 0x00b2 00B1 264 _TXD = 0x00b1 00B0 265 _RXD = 0x00b0 00BF 266 _PSI = 0x00bf 00BE 267 _PADC = 0x00be 00BD 268 _PT2 = 0x00bd 00BC 269 _PS = 0x00bc 00BB 270 _PT1 = 0x00bb 00BA 271 _PX1 = 0x00ba 00B9 272 _PT0 = 0x00b9 00B8 273 _PX0 = 0x00b8 00C7 274 _PRE2 = 0x00c7 00C6 275 _PRE1 = 0x00c6 00C5 276 _PRE0 = 0x00c5 00C3 277 _WDR1 = 0x00c3 00C2 278 _WDR2 = 0x00c2 00C1 279 _WDS = 0x00c1 00C0 280 _WDE = 0x00c0 00CF 281 _TF2 = 0x00cf 00CE 282 _EXF2 = 0x00ce 00CD 283 _RCLK = 0x00cd 00CC 284 _TCLK = 0x00cc 00CB 285 _XEN = 0x00cb 00CA 286 _TR2 = 0x00ca 00C9 287 _CNT2 = 0x00c9 00C8 288 _CAP2 = 0x00c8 00D7 289 _CY = 0x00d7 00D6 290 _AC = 0x00d6 00D5 291 _F0 = 0x00d5 00D4 292 _RS1 = 0x00d4 00D3 293 _RS0 = 0x00d3 00D2 294 _OV = 0x00d2 00D1 295 _F1 = 0x00d1 00D0 296 _P = 0x00d0 00DF 297 _ADCI = 0x00df 00DE 298 _DMA = 0x00de 00DD 299 _CCONV = 0x00dd 00DC 300 _SCONV = 0x00dc 00DB 301 _CS3 = 0x00db 00DA 302 _CS2 = 0x00da 00D9 303 _CS1 = 0x00d9 00D8 304 _CS0 = 0x00d8 00EF 305 _MDO = 0x00ef 00EE 306 _MDE = 0x00ee 00ED 307 _MCO = 0x00ed 00EC 308 _MDI = 0x00ec 00EB 309 _I2CM = 0x00eb 00EA 310 _I2CRS = 0x00ea 00E9 311 _I2CTX = 0x00e9 00E8 312 _I2CI = 0x00e8 00FF 313 _ISPI = 0x00ff 00FE 314 _WCOL = 0x00fe 00FD 315 _SPE = 0x00fd 00FC 316 _SPIM = 0x00fc 00FB 317 _CPOL = 0x00fb 00FA 318 _CPHA = 0x00fa 00F9 319 _SPR1 = 0x00f9 00F8 320 _SPR0 = 0x00f8 321 ;-------------------------------------------------------- 322 ; overlayable register banks 323 ;-------------------------------------------------------- 324 .area REG_BANK_0 (REL,OVR,DATA) 0000 325 .ds 8 326 ;-------------------------------------------------------- 327 ; internal ram data 328 ;-------------------------------------------------------- 329 .area DSEG (DATA) 330 ;-------------------------------------------------------- 331 ; overlayable items in internal ram 332 ;-------------------------------------------------------- 333 .area OSEG (OVR,DATA) 334 ;-------------------------------------------------------- 335 ; Stack segment in internal ram 336 ;-------------------------------------------------------- 337 .area SSEG (DATA) 0000 338 __start__stack: 0000 339 .ds 1 340 341 ;-------------------------------------------------------- 342 ; indirectly addressable internal ram data 343 ;-------------------------------------------------------- 344 .area ISEG (DATA) 345 ;-------------------------------------------------------- 346 ; absolute internal ram data 347 ;-------------------------------------------------------- 348 .area IABS (ABS,DATA) 349 .area IABS (ABS,DATA) 350 ;-------------------------------------------------------- 351 ; bit data 352 ;-------------------------------------------------------- 353 .area BSEG (BIT) 354 ;-------------------------------------------------------- 355 ; paged external ram data 356 ;-------------------------------------------------------- 357 .area PSEG (PAG,XDATA) 358 ;-------------------------------------------------------- 359 ; external ram data 360 ;-------------------------------------------------------- 361 .area XSEG (XDATA) 362 ;-------------------------------------------------------- 363 ; absolute external ram data 364 ;-------------------------------------------------------- 365 .area XABS (ABS,XDATA) 366 ;-------------------------------------------------------- 367 ; external initialized ram data 368 ;-------------------------------------------------------- 369 .area XISEG (XDATA) 370 .area HOME (CODE) 371 .area GSINIT0 (CODE) 372 .area GSINIT1 (CODE) 373 .area GSINIT2 (CODE) 374 .area GSINIT3 (CODE) 375 .area GSINIT4 (CODE) 376 .area GSINIT5 (CODE) 377 .area GSINIT (CODE) 378 .area GSFINAL (CODE) 379 .area CSEG (CODE) 380 ;-------------------------------------------------------- 381 ; interrupt vector 382 ;-------------------------------------------------------- 383 .area HOME (CODE) 0000 384 __interrupt_vect: 0000 02s00r00 385 ljmp __sdcc_gsinit_startup 386 ;-------------------------------------------------------- 387 ; global & static initialisations 388 ;-------------------------------------------------------- 389 .area HOME (CODE) 390 .area GSINIT (CODE) 391 .area GSFINAL (CODE) 392 .area GSINIT (CODE) 393 .globl __sdcc_gsinit_startup 394 .globl __sdcc_program_startup 395 .globl __start__stack 396 .globl __mcs51_genXINIT 397 .globl __mcs51_genXRAMCLEAR 398 .globl __mcs51_genRAMCLEAR 399 .area GSFINAL (CODE) 0000 02s00r03 400 ljmp __sdcc_program_startup 401 ;-------------------------------------------------------- 402 ; Home 403 ;-------------------------------------------------------- 404 .area HOME (CODE) 405 .area HOME (CODE) 0003 406 __sdcc_program_startup: 0003 12s00r00 407 lcall _main 408 ; return from main will lock up 0006 80 FE 409 sjmp . 410 ;-------------------------------------------------------- 411 ; code 412 ;-------------------------------------------------------- 413 .area CSEG (CODE) 414 ;------------------------------------------------------------ 415 ;Allocation info for local variables in function 'main' 416 ;------------------------------------------------------------ 417 ;------------------------------------------------------------ 418 ; source/lab2.c:5: void main() 419 ; ----------------------------------------- 420 ; function main 421 ; ----------------------------------------- 0000 422 _main: 0002 423 ar2 = 0x02 0003 424 ar3 = 0x03 0004 425 ar4 = 0x04 0005 426 ar5 = 0x05 0006 427 ar6 = 0x06 0007 428 ar7 = 0x07 0000 429 ar0 = 0x00 0001 430 ar1 = 0x01 431 ; source/lab2.c:7: InitTimer(); 0000 12s00r00 432 lcall _InitTimer 433 ; source/lab2.c:9: while(1); 0003 434 00102$: 0003 80 FE 435 sjmp 00102$ 436 .area CSEG (CODE) 437 .area CONST (CODE) 438 .area XINIT (CODE) 439 .area CABS (ABS,CODE)