NOLIST ;============================================================================== ; : ; This program is available from: : ; : ; Rho Enterprises : ; 4100 W. Colfax Ave. : ; Box 33 : ; Denver, CO 80204 : ; : ; Phone: 720-359-1467 Email: info@rhoent.com : ; : ; http://www.rhoent.com/ : ; : ;============================================================================== ; ;SXDEFS.INC by Loren Blaney and Richard Ottosen 14-FEB-2000 ; ; ;Scenix SX Definitions for Microchip MPASM. ; ;REVISIONS: ;FEB-23-98, Released. ;MAR-21-98, Added ID label. Corrected XT & HS defs by swapping them. ; Removed ASCII defs. New STATUS defs. ;MAR-27-98, Added PAGEA, BANKA, FCALL, FGOTO, SKIP. ;APR-13-98, Added CSA, CSBE (etc.) macros. Enclose all arguments in parentheses. ; Indent macros. ;APR-23-98, Changed some comments. ;OCT-4-98, Removed "RADIX DEC", added processor type based on SX FUSEX bits, ; added Trim bits to FUSEX and other cleanup. R.O. ;OCT-14-98 BOSC defaults to a "1". ;NOV-4-98, Revised Pins, Trim bits and BOSC in DEVICE equates, removed some ; inversions. R.O. ;SEP-11-99, Added warnings and messages to BANK and PAGE macros. R.O. ;9-JAN-2000, Changed ID bytes to leave unused bits as ones. R.O. ;12-JAN-2000, Made variables in macros local. R.O. ;14-FEB-2000, Cleanup. R.O. ;Define special function registers: INDF EQU 00h ;used for indirects thru fsr RTCC EQU 01h ;real time clock/counter PCL EQU 02h ;low 8 bits of PC STATUS EQU 03h ;status bits FSR EQU 04h ;file select register PORTA EQU 05h ;I/O ports PORTB EQU 06h ;supports multi-input wake-up (MIWU) PORTC EQU 07h ;Define STATUS register bits: CF EQU 0 ;carry DCF EQU 1 ;digit carry ZF EQU 2 ;zero PDF EQU 3 ;sleep power down (true low) TOF EQU 4 ;watchdog time out (true low) PA0 EQU 5 ;page select (LSB) PA1 EQU 6 ;page select PA2 EQU 7 ;page select (MSB) ;Define port control registers: TRISX EQU 0Fh ;tristate (1=input, 0=output) PLP EQU 0Eh ;pullup (1=none, 0=20k) LVL EQU 0Dh ;level (1=TTL, 0=CMOS) ST EQU 0Ch ;Schmitt trigger (1=disabled, 0=enabled) WKEN EQU 0Bh ;wake up (1=disabled, 0=enabled) WKED EQU 0Ah ;wake up edge (1=falling, 0=rising) WKPND EQU 09h ;wake up pending (1=pending, 0=none) CMP EQU 08h ;comparator bit: 0=result, 6=output, 7=enabled ;Define device symbols for configuration words (FUSE & FUSEX): OSCRC EQU b'00' ;external RC network (default, inverted) OSCHS EQU b'01' ;high speed external crystal/resonator OSCXT EQU b'10' ;normal external crystal/resonator OSCLP EQU b'11' ;low power external crystal/resonator WATCHDOG EQU 1 << 2 ;watchdog timer enabled ; default to disabled PROTECT EQU 1 << 3 ;code protect enabled (inverted) ; default is to disable code protect OSC4MHZ EQU b'1000' << 4 ;internal 4MHz OSC2MHZ EQU b'1001' << 4 ;internal 2MHz OSC1MHZ EQU b'1010' << 4 ;internal 1MHz OSC500KHZ EQU b'1011' << 4 ;internal 500KHz OSC250KHZ EQU b'1100' << 4 ;internal 250KHz OSC125KHZ EQU b'1101' << 4 ;internal 125KHz OSC62KHZ EQU b'1110' << 4 ;internal 62.5KHz OSC31KHZ EQU b'1111' << 4 ;internal 31.25KHz STACKX EQU 1 << d'8' ;stack is extended to 8 levels (inverted) ; default to 2 levels OPTIONX EQU 1 << d'9' ;extend option register to 8 bits (inverted) ; default to 6 bits SYNC EQU 1 << d'10' ;input syncing enabled (inverted) ; default to disabled TURBO EQU 1 << d'11' ;turbo mode enabled (inverted) ; default to disabled PAGES1 EQU b'00' << d'12' ;default PAGES2 EQU b'01' << d'12' PAGES4 EQU b'10' << d'12' PAGES8 EQU b'11' << d'12' BANKS1 EQU b'00' << d'14' ;default BANKS2 EQU b'01' << d'14' BANKS4 EQU b'10' << d'14' BANKS8 EQU b'11' << d'14' BOR40 EQU b'11' << d'16' ;4.0V brownout reset BOR25 EQU b'10' << d'16' ;2.5 BOR13 EQU b'01' << d'16' ;1.3 ;BOR00 EQU b'00' << d'16' ;disabled (default, inverted) CARRYX EQU 1 << d'18' ;ADDWF & SUBWF use carry input (inverted) ; default is to ignore carry in PRE7 EQU 1 << d'19' ;for changing the preset FUSEX bit 7 (inverted) ; default is no change ;for modifying factory IRC calibration TRIM0 EQU b'0000' << d'20' ;highest frequency TRIM3 EQU b'0001' << d'20' ; TRIM6 EQU b'0010' << d'20' ; TRIM9 EQU b'0011' << d'20' ; about 3% per step TRIM12 EQU b'1000' << d'20' ; TRIM15 EQU b'1001' << d'20' ; TRIM18 EQU b'1010' << d'20' ; TRIM21 EQU b'1011' << d'20' ;lowest frequency (default) PINS18 EQU b'0' << d'22' ;default to 18 pin PINS28 EQU b'1' << d'22' _INVERT EQU 0F0F8Bh ;the default looks like a PIC16C54 _DEVICE SET DEVICE ^ _INVERT _FUSE SET _DEVICE & 0FFFh _FUSEX SET _DEVICE >> d'12' ;Select a Microchip processor enough like the Scenix processor to satisfy the ; assembler _PINS SET (_FUSEX & 0400h) >> d'10' _ROM SET _FUSEX & 003h ;Define macros for new Scenix instructions: __NowBank SET 0 ;Default to bank 0 for both past and present __LastBank SET 0 ; bank (like the H/W should but doesn't) __NowPage SET 7 ;Default to top page for both __LastPage SET 7 ; past and present page (like the H/W does) ;Define macro for ID label. Example: ; ID 'S', 'X', '-', 'D', 'e', 'm', 'o', ' ' ID MACRO A,B,C,D,E,F,G,H ;set up ID label NOLIST LOCAL _A,_B,_C,_D,_E,_F,_G,_H _A SET A _B SET B _C SET C _D SET D _E SET E _F SET F _G SET G _H SET H ERRORLEVEL -220 ;don't display "address exceeds range" warning ORG 1000h ;*** DATA (_A>>4)&0Fh, A&0Fh ;Unused bits are cleared ; DATA (_B>>4)&0Fh, B&0Fh ; DATA (_C>>4)&0Fh, C&0Fh ; DATA (_D>>4)&0Fh, D&0Fh ; DATA (_E>>4)&0Fh, E&0Fh ; DATA (_F>>4)&0Fh, F&0Fh ; DATA (_G>>4)&0Fh, G&0Fh ;*** DATA (_H>>4)&0Fh, H&0Fh DATA (_A>>4)|0FF0h, A|0FF0h ;Unused bits are set DATA (_B>>4)|0FF0h, B|0FF0h DATA (_C>>4)|0FF0h, C|0FF0h DATA (_D>>4)|0FF0h, D|0FF0h DATA (_E>>4)|0FF0h, E|0FF0h DATA (_F>>4)|0FF0h, F|0FF0h DATA (_G>>4)|0FF0h, G|0FF0h DATA (_H>>4)|0FF0h, H|0FF0h ERRORLEVEL +220 ;restore warning message ORG 0 LIST ENDM ERRORLEVEL -220 ;don't display "address exceeds range" warning ORG 1010h LIST DATA _FUSE ;configuration bits (TURBO, SYNC, OPTIONX, etc.) DATA _FUSEX ; (PINS, CARRYX, BOR40, BANKS, PAGES) NOLIST ERRORLEVEL +220 ;restore warning message ORG 0 LIST
file: /Techref/scenix/lib/io/dev/video/sxdefs_inc.htm, 7KB, , updated: 2001/1/24 09:46, local time: 2024/11/25 01:01,
18.218.2.191:LOG IN
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://massmind.org/techref/scenix/lib/io/dev/video/sxdefs_inc.htm"> scenix lib io dev video sxdefs_inc</A> |
Did you find what you needed? |
Welcome to massmind.org! |
Welcome to massmind.org! |
.