1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 4.2.0 #13081 (Linux) 4 ;-------------------------------------------------------- 5 .module init_gpif 6 .optsdcc -mmcs51 --model-small 7 8 ;-------------------------------------------------------- 9 ; Public variables in this module 10 ;-------------------------------------------------------- 11 .globl _bitALTERA_DCLK 12 .globl _bitALTERA_DATA0 13 .globl _bitS_IN 14 .globl _bitS_OUT 15 .globl _bitS_CLK 16 .globl _EIPX6 17 .globl _EIPX5 18 .globl _EIPX4 19 .globl _PI2C 20 .globl _PUSB 21 .globl _EIEX6 22 .globl _EIEX5 23 .globl _EIEX4 24 .globl _EI2C 25 .globl _EIUSB 26 .globl _SMOD1 27 .globl _ERESI 28 .globl _RESI 29 .globl _INT6 30 .globl _CY 31 .globl _AC 32 .globl _F0 33 .globl _RS1 34 .globl _RS0 35 .globl _OV 36 .globl _FL 37 .globl _P 38 .globl _TF2 39 .globl _EXF2 40 .globl _RCLK 41 .globl _TCLK 42 .globl _EXEN2 43 .globl _TR2 44 .globl _C_T2 45 .globl _CP_RL2 46 .globl _SM01 47 .globl _SM11 48 .globl _SM21 49 .globl _REN1 50 .globl _TB81 51 .globl _RB81 52 .globl _TI1 53 .globl _RI1 54 .globl _PS1 55 .globl _PT2 56 .globl _PS0 57 .globl _PT1 58 .globl _PX1 59 .globl _PT0 60 .globl _PX0 61 .globl _EA 62 .globl _ES1 63 .globl _ET2 64 .globl _ES0 65 .globl _ET1 66 .globl _EX1 67 .globl _ET0 68 .globl _EX0 69 .globl _SM0 70 .globl _SM1 71 .globl _SM2 72 .globl _REN 73 .globl _TB8 74 .globl _RB8 75 .globl _TI 76 .globl _RI 77 .globl _TF1 78 .globl _TR1 79 .globl _TF0 80 .globl _TR0 81 .globl _IE1 82 .globl _IT1 83 .globl _IE0 84 .globl _IT0 85 .globl _SEL 86 .globl _EIP 87 .globl _B 88 .globl _EIE 89 .globl _ACC 90 .globl _EICON 91 .globl _PSW 92 .globl _TH2 93 .globl _TL2 94 .globl _RCAP2H 95 .globl _RCAP2L 96 .globl _T2CON 97 .globl _SBUF1 98 .globl _SCON1 99 .globl _GPIFSGLDATLNOX 100 .globl _GPIFSGLDATLX 101 .globl _GPIFSGLDATH 102 .globl _GPIFTRIG 103 .globl _EP01STAT 104 .globl _IP 105 .globl _OEE 106 .globl _OED 107 .globl _OEC 108 .globl _OEB 109 .globl _OEA 110 .globl _IOE 111 .globl _IOD 112 .globl _AUTOPTRSETUP 113 .globl _EP68FIFOFLGS 114 .globl _EP24FIFOFLGS 115 .globl _EP2468STAT 116 .globl _IE 117 .globl _INT4CLR 118 .globl _INT2CLR 119 .globl _IOC 120 .globl _AUTODAT2 121 .globl _AUTOPTRL2 122 .globl _AUTOPTRH2 123 .globl _AUTODAT1 124 .globl _APTR1L 125 .globl _APTR1H 126 .globl _SBUF0 127 .globl _SCON0 128 .globl _MPAGE 129 .globl _EXIF 130 .globl _IOB 131 .globl _CKCON 132 .globl _TH1 133 .globl _TH0 134 .globl _TL1 135 .globl _TL0 136 .globl _TMOD 137 .globl _TCON 138 .globl _PCON 139 .globl _DPS 140 .globl _DPH1 141 .globl _DPL1 142 .globl _DPH 143 .globl _DPL 144 .globl _SP 145 .globl _IOA 146 .globl _EP8FIFOBUF 147 .globl _EP6FIFOBUF 148 .globl _EP4FIFOBUF 149 .globl _EP2FIFOBUF 150 .globl _EP1INBUF 151 .globl _EP1OUTBUF 152 .globl _EP0BUF 153 .globl _CT4 154 .globl _CT3 155 .globl _CT2 156 .globl _CT1 157 .globl _USBTEST 158 .globl _TESTCFG 159 .globl _DBUG 160 .globl _UDMACRCQUAL 161 .globl _UDMACRCL 162 .globl _UDMACRCH 163 .globl _GPIFHOLDAMOUNT 164 .globl _FLOWSTBHPERIOD 165 .globl _FLOWSTBEDGE 166 .globl _FLOWSTB 167 .globl _FLOWHOLDOFF 168 .globl _FLOWEQ1CTL 169 .globl _FLOWEQ0CTL 170 .globl _FLOWLOGIC 171 .globl _FLOWSTATE 172 .globl _GPIFABORT 173 .globl _GPIFREADYSTAT 174 .globl _GPIFREADYCFG 175 .globl _XGPIFSGLDATLNOX 176 .globl _XGPIFSGLDATLX 177 .globl _XGPIFSGLDATH 178 .globl _EP8GPIFTRIG 179 .globl _EP8GPIFPFSTOP 180 .globl _EP8GPIFFLGSEL 181 .globl _EP6GPIFTRIG 182 .globl _EP6GPIFPFSTOP 183 .globl _EP6GPIFFLGSEL 184 .globl _EP4GPIFTRIG 185 .globl _EP4GPIFPFSTOP 186 .globl _EP4GPIFFLGSEL 187 .globl _EP2GPIFTRIG 188 .globl _EP2GPIFPFSTOP 189 .globl _EP2GPIFFLGSEL 190 .globl _GPIFTCB0 191 .globl _GPIFTCB1 192 .globl _GPIFTCB2 193 .globl _GPIFTCB3 194 .globl _GPIFADRL 195 .globl _GPIFADRH 196 .globl _GPIFCTLCFG 197 .globl _GPIFIDLECTL 198 .globl _GPIFIDLECS 199 .globl _GPIFWFSELECT 200 .globl _SETUPDAT 201 .globl _SUDPTRCTL 202 .globl _SUDPTRL 203 .globl _SUDPTRH 204 .globl _EP8FIFOBCL 205 .globl _EP8FIFOBCH 206 .globl _EP6FIFOBCL 207 .globl _EP6FIFOBCH 208 .globl _EP4FIFOBCL 209 .globl _EP4FIFOBCH 210 .globl _EP2FIFOBCL 211 .globl _EP2FIFOBCH 212 .globl _EP8FIFOFLGS 213 .globl _EP6FIFOFLGS 214 .globl _EP4FIFOFLGS 215 .globl _EP2FIFOFLGS 216 .globl _EP8CS 217 .globl _EP6CS 218 .globl _EP4CS 219 .globl _EP2CS 220 .globl _EP1INCS 221 .globl _EP1OUTCS 222 .globl _EP0CS 223 .globl _EP8BCL 224 .globl _EP8BCH 225 .globl _EP6BCL 226 .globl _EP6BCH 227 .globl _EP4BCL 228 .globl _EP4BCH 229 .globl _EP2BCL 230 .globl _EP2BCH 231 .globl _EP1INBC 232 .globl _EP1OUTBC 233 .globl _EP0BCL 234 .globl _EP0BCH 235 .globl _FNADDR 236 .globl _MICROFRAME 237 .globl _USBFRAMEL 238 .globl _USBFRAMEH 239 .globl _TOGCTL 240 .globl _WAKEUPCS 241 .globl _SUSPEND 242 .globl _USBCS 243 .globl _XAUTODAT2 244 .globl _XAUTODAT1 245 .globl _I2CTL 246 .globl _I2DAT 247 .globl _I2CS 248 .globl _PORTECFG 249 .globl _PORTCCFG 250 .globl _PORTACFG 251 .globl _INTSETUP 252 .globl _INT4IVEC 253 .globl _INT2IVEC 254 .globl _CLRERRCNT 255 .globl _ERRCNTLIM 256 .globl _USBERRIRQ 257 .globl _USBERRIE 258 .globl _GPIFIRQ 259 .globl _GPIFIE 260 .globl _EPIRQ 261 .globl _EPIE 262 .globl _USBIRQ 263 .globl _USBIE 264 .globl _NAKIRQ 265 .globl _NAKIE 266 .globl _IBNIRQ 267 .globl _IBNIE 268 .globl _EP8FIFOIRQ 269 .globl _EP8FIFOIE 270 .globl _EP6FIFOIRQ 271 .globl _EP6FIFOIE 272 .globl _EP4FIFOIRQ 273 .globl _EP4FIFOIE 274 .globl _EP2FIFOIRQ 275 .globl _EP2FIFOIE 276 .globl _OUTPKTEND 277 .globl _INPKTEND 278 .globl _EP8ISOINPKTS 279 .globl _EP6ISOINPKTS 280 .globl _EP4ISOINPKTS 281 .globl _EP2ISOINPKTS 282 .globl _EP8FIFOPFL 283 .globl _EP8FIFOPFH 284 .globl _EP6FIFOPFL 285 .globl _EP6FIFOPFH 286 .globl _EP4FIFOPFL 287 .globl _EP4FIFOPFH 288 .globl _EP2FIFOPFL 289 .globl _EP2FIFOPFH 290 .globl _EP8AUTOINLENL 291 .globl _EP8AUTOINLENH 292 .globl _EP6AUTOINLENL 293 .globl _EP6AUTOINLENH 294 .globl _EP4AUTOINLENL 295 .globl _EP4AUTOINLENH 296 .globl _EP2AUTOINLENL 297 .globl _EP2AUTOINLENH 298 .globl _EP8FIFOCFG 299 .globl _EP6FIFOCFG 300 .globl _EP4FIFOCFG 301 .globl _EP2FIFOCFG 302 .globl _EP8CFG 303 .globl _EP6CFG 304 .globl _EP4CFG 305 .globl _EP2CFG 306 .globl _EP1INCFG 307 .globl _EP1OUTCFG 308 .globl _REVCTL 309 .globl _REVID 310 .globl _FIFOPINPOLAR 311 .globl _UART230 312 .globl _BPADDRL 313 .globl _BPADDRH 314 .globl _BREAKPT 315 .globl _FIFORESET 316 .globl _PINFLAGSCD 317 .globl _PINFLAGSAB 318 .globl _IFCONFIG 319 .globl _CPUCS 320 .globl _RES_WAVEDATA_END 321 .globl _GPIF_WAVE_DATA 322 .globl _init_gpif 323 ;-------------------------------------------------------- 324 ; special function registers 325 ;-------------------------------------------------------- 326 .area RSEG (ABS,DATA) 000000 327 .org 0x0000 000080 328 _IOA = 0x0080 000081 329 _SP = 0x0081 000082 330 _DPL = 0x0082 000083 331 _DPH = 0x0083 000084 332 _DPL1 = 0x0084 000085 333 _DPH1 = 0x0085 000086 334 _DPS = 0x0086 000087 335 _PCON = 0x0087 000088 336 _TCON = 0x0088 000089 337 _TMOD = 0x0089 00008A 338 _TL0 = 0x008a 00008B 339 _TL1 = 0x008b 00008C 340 _TH0 = 0x008c 00008D 341 _TH1 = 0x008d 00008E 342 _CKCON = 0x008e 000090 343 _IOB = 0x0090 000091 344 _EXIF = 0x0091 000092 345 _MPAGE = 0x0092 000098 346 _SCON0 = 0x0098 000099 347 _SBUF0 = 0x0099 00009A 348 _APTR1H = 0x009a 00009B 349 _APTR1L = 0x009b 00009C 350 _AUTODAT1 = 0x009c 00009D 351 _AUTOPTRH2 = 0x009d 00009E 352 _AUTOPTRL2 = 0x009e 00009F 353 _AUTODAT2 = 0x009f 0000A0 354 _IOC = 0x00a0 0000A1 355 _INT2CLR = 0x00a1 0000A2 356 _INT4CLR = 0x00a2 0000A8 357 _IE = 0x00a8 0000AA 358 _EP2468STAT = 0x00aa 0000AB 359 _EP24FIFOFLGS = 0x00ab 0000AC 360 _EP68FIFOFLGS = 0x00ac 0000AF 361 _AUTOPTRSETUP = 0x00af 0000B0 362 _IOD = 0x00b0 0000B1 363 _IOE = 0x00b1 0000B2 364 _OEA = 0x00b2 0000B3 365 _OEB = 0x00b3 0000B4 366 _OEC = 0x00b4 0000B5 367 _OED = 0x00b5 0000B6 368 _OEE = 0x00b6 0000B8 369 _IP = 0x00b8 0000BA 370 _EP01STAT = 0x00ba 0000BB 371 _GPIFTRIG = 0x00bb 0000BD 372 _GPIFSGLDATH = 0x00bd 0000BE 373 _GPIFSGLDATLX = 0x00be 0000BF 374 _GPIFSGLDATLNOX = 0x00bf 0000C0 375 _SCON1 = 0x00c0 0000C1 376 _SBUF1 = 0x00c1 0000C8 377 _T2CON = 0x00c8 0000CA 378 _RCAP2L = 0x00ca 0000CB 379 _RCAP2H = 0x00cb 0000CC 380 _TL2 = 0x00cc 0000CD 381 _TH2 = 0x00cd 0000D0 382 _PSW = 0x00d0 0000D8 383 _EICON = 0x00d8 0000E0 384 _ACC = 0x00e0 0000E8 385 _EIE = 0x00e8 0000F0 386 _B = 0x00f0 0000F8 387 _EIP = 0x00f8 388 ;-------------------------------------------------------- 389 ; special function bits 390 ;-------------------------------------------------------- 391 .area RSEG (ABS,DATA) 000000 392 .org 0x0000 000086 393 _SEL = 0x0086 000088 394 _IT0 = 0x0088 000089 395 _IE0 = 0x0089 00008A 396 _IT1 = 0x008a 00008B 397 _IE1 = 0x008b 00008C 398 _TR0 = 0x008c 00008D 399 _TF0 = 0x008d 00008E 400 _TR1 = 0x008e 00008F 401 _TF1 = 0x008f 000098 402 _RI = 0x0098 000099 403 _TI = 0x0099 00009A 404 _RB8 = 0x009a 00009B 405 _TB8 = 0x009b 00009C 406 _REN = 0x009c 00009D 407 _SM2 = 0x009d 00009E 408 _SM1 = 0x009e 00009F 409 _SM0 = 0x009f 0000A8 410 _EX0 = 0x00a8 0000A9 411 _ET0 = 0x00a9 0000AA 412 _EX1 = 0x00aa 0000AB 413 _ET1 = 0x00ab 0000AC 414 _ES0 = 0x00ac 0000AD 415 _ET2 = 0x00ad 0000AE 416 _ES1 = 0x00ae 0000AF 417 _EA = 0x00af 0000B8 418 _PX0 = 0x00b8 0000B9 419 _PT0 = 0x00b9 0000BA 420 _PX1 = 0x00ba 0000BB 421 _PT1 = 0x00bb 0000BC 422 _PS0 = 0x00bc 0000BD 423 _PT2 = 0x00bd 0000BE 424 _PS1 = 0x00be 0000C0 425 _RI1 = 0x00c0 0000C1 426 _TI1 = 0x00c1 0000C2 427 _RB81 = 0x00c2 0000C3 428 _TB81 = 0x00c3 0000C4 429 _REN1 = 0x00c4 0000C5 430 _SM21 = 0x00c5 0000C6 431 _SM11 = 0x00c6 0000C7 432 _SM01 = 0x00c7 0000C8 433 _CP_RL2 = 0x00c8 0000C9 434 _C_T2 = 0x00c9 0000CA 435 _TR2 = 0x00ca 0000CB 436 _EXEN2 = 0x00cb 0000CC 437 _TCLK = 0x00cc 0000CD 438 _RCLK = 0x00cd 0000CE 439 _EXF2 = 0x00ce 0000CF 440 _TF2 = 0x00cf 0000D0 441 _P = 0x00d0 0000D1 442 _FL = 0x00d1 0000D2 443 _OV = 0x00d2 0000D3 444 _RS0 = 0x00d3 0000D4 445 _RS1 = 0x00d4 0000D5 446 _F0 = 0x00d5 0000D6 447 _AC = 0x00d6 0000D7 448 _CY = 0x00d7 0000DB 449 _INT6 = 0x00db 0000DC 450 _RESI = 0x00dc 0000DD 451 _ERESI = 0x00dd 0000DF 452 _SMOD1 = 0x00df 0000E8 453 _EIUSB = 0x00e8 0000E9 454 _EI2C = 0x00e9 0000EA 455 _EIEX4 = 0x00ea 0000EB 456 _EIEX5 = 0x00eb 0000EC 457 _EIEX6 = 0x00ec 0000F8 458 _PUSB = 0x00f8 0000F9 459 _PI2C = 0x00f9 0000FA 460 _EIPX4 = 0x00fa 0000FB 461 _EIPX5 = 0x00fb 0000FC 462 _EIPX6 = 0x00fc 000080 463 _bitS_CLK = 0x0080 000081 464 _bitS_OUT = 0x0081 000082 465 _bitS_IN = 0x0082 0000A1 466 _bitALTERA_DATA0 = 0x00a1 0000A3 467 _bitALTERA_DCLK = 0x00a3 468 ;-------------------------------------------------------- 469 ; overlayable register banks 470 ;-------------------------------------------------------- 471 .area REG_BANK_0 (REL,OVR,DATA) 000000 472 .ds 8 473 ;-------------------------------------------------------- 474 ; internal ram data 475 ;-------------------------------------------------------- 476 .area DSEG (DATA) 477 ;-------------------------------------------------------- 478 ; overlayable items in internal ram 479 ;-------------------------------------------------------- 480 .area OSEG (OVR,DATA) 481 ;-------------------------------------------------------- 482 ; indirectly addressable internal ram data 483 ;-------------------------------------------------------- 484 .area ISEG (DATA) 485 ;-------------------------------------------------------- 486 ; absolute internal ram data 487 ;-------------------------------------------------------- 488 .area IABS (ABS,DATA) 489 .area IABS (ABS,DATA) 490 ;-------------------------------------------------------- 491 ; bit data 492 ;-------------------------------------------------------- 493 .area BSEG (BIT) 494 ;-------------------------------------------------------- 495 ; paged external ram data 496 ;-------------------------------------------------------- 497 .area PSEG (PAG,XDATA) 498 ;-------------------------------------------------------- 499 ; external ram data 500 ;-------------------------------------------------------- 501 .area XSEG (XDATA) 00E400 502 _GPIF_WAVE_DATA = 0xe400 00E480 503 _RES_WAVEDATA_END = 0xe480 00E600 504 _CPUCS = 0xe600 00E601 505 _IFCONFIG = 0xe601 00E602 506 _PINFLAGSAB = 0xe602 00E603 507 _PINFLAGSCD = 0xe603 00E604 508 _FIFORESET = 0xe604 00E605 509 _BREAKPT = 0xe605 00E606 510 _BPADDRH = 0xe606 00E607 511 _BPADDRL = 0xe607 00E608 512 _UART230 = 0xe608 00E609 513 _FIFOPINPOLAR = 0xe609 00E60A 514 _REVID = 0xe60a 00E60B 515 _REVCTL = 0xe60b 00E610 516 _EP1OUTCFG = 0xe610 00E611 517 _EP1INCFG = 0xe611 00E612 518 _EP2CFG = 0xe612 00E613 519 _EP4CFG = 0xe613 00E614 520 _EP6CFG = 0xe614 00E615 521 _EP8CFG = 0xe615 00E618 522 _EP2FIFOCFG = 0xe618 00E619 523 _EP4FIFOCFG = 0xe619 00E61A 524 _EP6FIFOCFG = 0xe61a 00E61B 525 _EP8FIFOCFG = 0xe61b 00E620 526 _EP2AUTOINLENH = 0xe620 00E621 527 _EP2AUTOINLENL = 0xe621 00E622 528 _EP4AUTOINLENH = 0xe622 00E623 529 _EP4AUTOINLENL = 0xe623 00E624 530 _EP6AUTOINLENH = 0xe624 00E625 531 _EP6AUTOINLENL = 0xe625 00E626 532 _EP8AUTOINLENH = 0xe626 00E627 533 _EP8AUTOINLENL = 0xe627 00E630 534 _EP2FIFOPFH = 0xe630 00E631 535 _EP2FIFOPFL = 0xe631 00E632 536 _EP4FIFOPFH = 0xe632 00E633 537 _EP4FIFOPFL = 0xe633 00E634 538 _EP6FIFOPFH = 0xe634 00E635 539 _EP6FIFOPFL = 0xe635 00E636 540 _EP8FIFOPFH = 0xe636 00E637 541 _EP8FIFOPFL = 0xe637 00E640 542 _EP2ISOINPKTS = 0xe640 00E641 543 _EP4ISOINPKTS = 0xe641 00E642 544 _EP6ISOINPKTS = 0xe642 00E643 545 _EP8ISOINPKTS = 0xe643 00E648 546 _INPKTEND = 0xe648 00E649 547 _OUTPKTEND = 0xe649 00E650 548 _EP2FIFOIE = 0xe650 00E651 549 _EP2FIFOIRQ = 0xe651 00E652 550 _EP4FIFOIE = 0xe652 00E653 551 _EP4FIFOIRQ = 0xe653 00E654 552 _EP6FIFOIE = 0xe654 00E655 553 _EP6FIFOIRQ = 0xe655 00E656 554 _EP8FIFOIE = 0xe656 00E657 555 _EP8FIFOIRQ = 0xe657 00E658 556 _IBNIE = 0xe658 00E659 557 _IBNIRQ = 0xe659 00E65A 558 _NAKIE = 0xe65a 00E65B 559 _NAKIRQ = 0xe65b 00E65C 560 _USBIE = 0xe65c 00E65D 561 _USBIRQ = 0xe65d 00E65E 562 _EPIE = 0xe65e 00E65F 563 _EPIRQ = 0xe65f 00E660 564 _GPIFIE = 0xe660 00E661 565 _GPIFIRQ = 0xe661 00E662 566 _USBERRIE = 0xe662 00E663 567 _USBERRIRQ = 0xe663 00E664 568 _ERRCNTLIM = 0xe664 00E665 569 _CLRERRCNT = 0xe665 00E666 570 _INT2IVEC = 0xe666 00E667 571 _INT4IVEC = 0xe667 00E668 572 _INTSETUP = 0xe668 00E670 573 _PORTACFG = 0xe670 00E671 574 _PORTCCFG = 0xe671 00E672 575 _PORTECFG = 0xe672 00E678 576 _I2CS = 0xe678 00E679 577 _I2DAT = 0xe679 00E67A 578 _I2CTL = 0xe67a 00E67B 579 _XAUTODAT1 = 0xe67b 00E67C 580 _XAUTODAT2 = 0xe67c 00E680 581 _USBCS = 0xe680 00E681 582 _SUSPEND = 0xe681 00E682 583 _WAKEUPCS = 0xe682 00E683 584 _TOGCTL = 0xe683 00E684 585 _USBFRAMEH = 0xe684 00E685 586 _USBFRAMEL = 0xe685 00E686 587 _MICROFRAME = 0xe686 00E687 588 _FNADDR = 0xe687 00E68A 589 _EP0BCH = 0xe68a 00E68B 590 _EP0BCL = 0xe68b 00E68D 591 _EP1OUTBC = 0xe68d 00E68F 592 _EP1INBC = 0xe68f 00E690 593 _EP2BCH = 0xe690 00E691 594 _EP2BCL = 0xe691 00E694 595 _EP4BCH = 0xe694 00E695 596 _EP4BCL = 0xe695 00E698 597 _EP6BCH = 0xe698 00E699 598 _EP6BCL = 0xe699 00E69C 599 _EP8BCH = 0xe69c 00E69D 600 _EP8BCL = 0xe69d 00E6A0 601 _EP0CS = 0xe6a0 00E6A1 602 _EP1OUTCS = 0xe6a1 00E6A2 603 _EP1INCS = 0xe6a2 00E6A3 604 _EP2CS = 0xe6a3 00E6A4 605 _EP4CS = 0xe6a4 00E6A5 606 _EP6CS = 0xe6a5 00E6A6 607 _EP8CS = 0xe6a6 00E6A7 608 _EP2FIFOFLGS = 0xe6a7 00E6A8 609 _EP4FIFOFLGS = 0xe6a8 00E6A9 610 _EP6FIFOFLGS = 0xe6a9 00E6AA 611 _EP8FIFOFLGS = 0xe6aa 00E6AB 612 _EP2FIFOBCH = 0xe6ab 00E6AC 613 _EP2FIFOBCL = 0xe6ac 00E6AD 614 _EP4FIFOBCH = 0xe6ad 00E6AE 615 _EP4FIFOBCL = 0xe6ae 00E6AF 616 _EP6FIFOBCH = 0xe6af 00E6B0 617 _EP6FIFOBCL = 0xe6b0 00E6B1 618 _EP8FIFOBCH = 0xe6b1 00E6B2 619 _EP8FIFOBCL = 0xe6b2 00E6B3 620 _SUDPTRH = 0xe6b3 00E6B4 621 _SUDPTRL = 0xe6b4 00E6B5 622 _SUDPTRCTL = 0xe6b5 00E6B8 623 _SETUPDAT = 0xe6b8 00E6C0 624 _GPIFWFSELECT = 0xe6c0 00E6C1 625 _GPIFIDLECS = 0xe6c1 00E6C2 626 _GPIFIDLECTL = 0xe6c2 00E6C3 627 _GPIFCTLCFG = 0xe6c3 00E6C4 628 _GPIFADRH = 0xe6c4 00E6C5 629 _GPIFADRL = 0xe6c5 00E6CE 630 _GPIFTCB3 = 0xe6ce 00E6CF 631 _GPIFTCB2 = 0xe6cf 00E6D0 632 _GPIFTCB1 = 0xe6d0 00E6D1 633 _GPIFTCB0 = 0xe6d1 00E6D2 634 _EP2GPIFFLGSEL = 0xe6d2 00E6D3 635 _EP2GPIFPFSTOP = 0xe6d3 00E6D4 636 _EP2GPIFTRIG = 0xe6d4 00E6DA 637 _EP4GPIFFLGSEL = 0xe6da 00E6DB 638 _EP4GPIFPFSTOP = 0xe6db 00E6DC 639 _EP4GPIFTRIG = 0xe6dc 00E6E2 640 _EP6GPIFFLGSEL = 0xe6e2 00E6E3 641 _EP6GPIFPFSTOP = 0xe6e3 00E6E4 642 _EP6GPIFTRIG = 0xe6e4 00E6EA 643 _EP8GPIFFLGSEL = 0xe6ea 00E6EB 644 _EP8GPIFPFSTOP = 0xe6eb 00E6EC 645 _EP8GPIFTRIG = 0xe6ec 00E6F0 646 _XGPIFSGLDATH = 0xe6f0 00E6F1 647 _XGPIFSGLDATLX = 0xe6f1 00E6F2 648 _XGPIFSGLDATLNOX = 0xe6f2 00E6F3 649 _GPIFREADYCFG = 0xe6f3 00E6F4 650 _GPIFREADYSTAT = 0xe6f4 00E6F5 651 _GPIFABORT = 0xe6f5 00E6C6 652 _FLOWSTATE = 0xe6c6 00E6C7 653 _FLOWLOGIC = 0xe6c7 00E6C8 654 _FLOWEQ0CTL = 0xe6c8 00E6C9 655 _FLOWEQ1CTL = 0xe6c9 00E6CA 656 _FLOWHOLDOFF = 0xe6ca 00E6CB 657 _FLOWSTB = 0xe6cb 00E6CC 658 _FLOWSTBEDGE = 0xe6cc 00E6CD 659 _FLOWSTBHPERIOD = 0xe6cd 00E60C 660 _GPIFHOLDAMOUNT = 0xe60c 00E67D 661 _UDMACRCH = 0xe67d 00E67E 662 _UDMACRCL = 0xe67e 00E67F 663 _UDMACRCQUAL = 0xe67f 00E6F8 664 _DBUG = 0xe6f8 00E6F9 665 _TESTCFG = 0xe6f9 00E6FA 666 _USBTEST = 0xe6fa 00E6FB 667 _CT1 = 0xe6fb 00E6FC 668 _CT2 = 0xe6fc 00E6FD 669 _CT3 = 0xe6fd 00E6FE 670 _CT4 = 0xe6fe 00E740 671 _EP0BUF = 0xe740 00E780 672 _EP1OUTBUF = 0xe780 00E7C0 673 _EP1INBUF = 0xe7c0 00F000 674 _EP2FIFOBUF = 0xf000 00F400 675 _EP4FIFOBUF = 0xf400 00F800 676 _EP6FIFOBUF = 0xf800 00FC00 677 _EP8FIFOBUF = 0xfc00 678 ;-------------------------------------------------------- 679 ; absolute external ram data 680 ;-------------------------------------------------------- 681 .area XABS (ABS,XDATA) 682 ;-------------------------------------------------------- 683 ; external initialized ram data 684 ;-------------------------------------------------------- 685 .area HOME (CODE) 686 .area GSINIT0 (CODE) 687 .area GSINIT1 (CODE) 688 .area GSINIT2 (CODE) 689 .area GSINIT3 (CODE) 690 .area GSINIT4 (CODE) 691 .area GSINIT5 (CODE) 692 .area GSINIT (CODE) 693 .area GSFINAL (CODE) 694 .area CSEG (CODE) 695 ;-------------------------------------------------------- 696 ; global & static initialisations 697 ;-------------------------------------------------------- 698 .area HOME (CODE) 699 .area GSINIT (CODE) 700 .area GSFINAL (CODE) 701 .area GSINIT (CODE) 702 ;-------------------------------------------------------- 703 ; Home 704 ;-------------------------------------------------------- 705 .area HOME (CODE) 706 .area HOME (CODE) 707 ;-------------------------------------------------------- 708 ; code 709 ;-------------------------------------------------------- 710 .area CSEG (CODE) 711 ;------------------------------------------------------------ 712 ;Allocation info for local variables in function 'init_gpif' 713 ;------------------------------------------------------------ 714 ;i Allocated to registers r7 715 ;------------------------------------------------------------ 716 ; ../common/init_gpif.c:35: init_gpif (void) 717 ; ----------------------------------------- 718 ; function init_gpif 719 ; ----------------------------------------- 000000 720 _init_gpif: 000007 721 ar7 = 0x07 000006 722 ar6 = 0x06 000005 723 ar5 = 0x05 000004 724 ar4 = 0x04 000003 725 ar3 = 0x03 000002 726 ar2 = 0x02 000001 727 ar1 = 0x01 000000 728 ar0 = 0x00 729 ; ../common/init_gpif.c:39: GPIFABORT = 0xFF; // abort any waveforms pending 000000 90 E6 F5 [24] 730 mov dptr,#_GPIFABORT 000003 74 FF [12] 731 mov a,#0xff 000005 F0 [24] 732 movx @dptr,a 733 ; ../common/init_gpif.c:40: SYNCDELAY; 000006 00 [12] 734 nop; nop; nop; 735 ; ../common/init_gpif.c:42: GPIFREADYCFG = InitData[ 0 ]; 000007 90r00r00 [24] 736 mov dptr,#_InitData 00000A E4 [12] 737 clr a 00000B 93 [24] 738 movc a,@a+dptr 00000C 90 E6 F3 [24] 739 mov dptr,#_GPIFREADYCFG 00000F F0 [24] 740 movx @dptr,a 741 ; ../common/init_gpif.c:43: GPIFCTLCFG = InitData[ 1 ]; 000010 90r00r01 [24] 742 mov dptr,#(_InitData + 0x0001) 000013 E4 [12] 743 clr a 000014 93 [24] 744 movc a,@a+dptr 000015 90 E6 C3 [24] 745 mov dptr,#_GPIFCTLCFG 000018 F0 [24] 746 movx @dptr,a 747 ; ../common/init_gpif.c:44: GPIFIDLECS = InitData[ 2 ]; 000019 90r00r02 [24] 748 mov dptr,#(_InitData + 0x0002) 00001C E4 [12] 749 clr a 00001D 93 [24] 750 movc a,@a+dptr 00001E 90 E6 C1 [24] 751 mov dptr,#_GPIFIDLECS 000021 F0 [24] 752 movx @dptr,a 753 ; ../common/init_gpif.c:45: GPIFIDLECTL = InitData[ 3 ]; 000022 90r00r03 [24] 754 mov dptr,#(_InitData + 0x0003) 000025 E4 [12] 755 clr a 000026 93 [24] 756 movc a,@a+dptr 000027 90 E6 C2 [24] 757 mov dptr,#_GPIFIDLECTL 00002A F0 [24] 758 movx @dptr,a 759 ; ../common/init_gpif.c:47: GPIFWFSELECT = InitData[ 5 ]; 00002B 90r00r05 [24] 760 mov dptr,#(_InitData + 0x0005) 00002E E4 [12] 761 clr a 00002F 93 [24] 762 movc a,@a+dptr 000030 90 E6 C0 [24] 763 mov dptr,#_GPIFWFSELECT 000033 F0 [24] 764 movx @dptr,a 765 ; ../common/init_gpif.c:53: for (i = 0; i < 128; i++){ 000034 7F 00 [12] 766 mov r7,#0x00 000036 767 00102$: 768 ; ../common/init_gpif.c:54: GPIF_WAVE_DATA[i] = WaveData[i]; 000036 8F 05 [24] 769 mov ar5,r7 000038 7E E4 [12] 770 mov r6,#(_GPIF_WAVE_DATA >> 8) 00003A EF [12] 771 mov a,r7 00003B 90r00r00 [24] 772 mov dptr,#_WaveData 00003E 93 [24] 773 movc a,@a+dptr 00003F 8D 82 [24] 774 mov dpl,r5 000041 8E 83 [24] 775 mov dph,r6 000043 F0 [24] 776 movx @dptr,a 777 ; ../common/init_gpif.c:53: for (i = 0; i < 128; i++){ 000044 0F [12] 778 inc r7 000045 BF 80 00 [24] 779 cjne r7,#0x80,00115$ 000048 780 00115$: 000048 40 EC [24] 781 jc 00102$ 782 ; ../common/init_gpif.c:58: FLOWSTATE = 0; /* ensure it's off */ 00004A 90 E6 C6 [24] 783 mov dptr,#_FLOWSTATE 00004D E4 [12] 784 clr a 00004E F0 [24] 785 movx @dptr,a 786 ; ../common/init_gpif.c:59: } 00004F 22 [24] 787 ret 788 .area CSEG (CODE) 789 .area CONST (CODE) 790 .area CABS (ABS,CODE)