8051单片机所有Keil C51汇编伪指令和C语言关键字大全
8051单片机所有Keil C51汇编伪指令和C语言关键字大全
作者 | 将狼才鲸 |
---|---|
创建日期 | 2025-04-21 |
- CSDN阅读地址:8051单片机所有Keil汇编伪指令和C语言关键字的详细解释
-
8051单片机所有Keil汇编伪指令和C语言关键字的详细解释,在Keil已安装文件夹D:\Keil_v5\C51\Hlp\里有英文文档进行查阅,直接在文档里进行搜索,然后用翻译软件翻译即可,很多伪指令在网上搜不到解释,还是得自己去翻阅原始文档;
- 具体相关的文档是《uv4.chm(This User’s Guide describes the µVision® IDE & Debugger)》《c51.chm(The Keil Cx51 Compiler User’s Guide )》《a51.chm(This Keil Assembler User’s Guide )》《lx51.chm(The Keil LX51 Linker/Locator )》
- 在线网址是 https://www.keil.com/support/man_c51.htm ,在线文档里面也能进行搜索;
-
uv4.chm文档里有Keil C51软件的各种快捷键介绍、Keil自带仿真器包含哪些功能
-
lx51.chm包含一些汇编伪指令的解释,如:
- BIT, CODE, CONST, DATA, EBIT, ECONST, EDATA, IDATA, HCODE, HCONST, HDATA, XDATA, AT, BITADDRESSABLE, INBLOCK, INPAGE, INSEG, OFFS, OVERLAYABLE, BIT, BYTE, WORD, DWORD, PAGE, BLOCK, SEG, SEGMENTS, NOOVERLAY, OVERLAY, ASSIGN, NAME, NOAJMP, NOAMAKE, NOINDIRECTCALL, NOJMPTAB, NOTYPE, OBJECTCONTROLS, DISABLEWARNING, IXREF, NOCOMMENTS, NOLINES, NOMAP, NOPRINT, NOPUBLICS, NOSYMBOLS, PAGELENGTH, PAGEWIDTH, PRINT, PRINTCONTROLS, PURGE, WARNINGLEVEL
- PATH, TMP, C51INC, C51LIB,
- ASSIGN, BANKAREA, CLASSES, CODE, DISABLEWARNING, IBANKING, IXREF, MERGEPUBLICS, NAME, NOAJMP, NOAMAKE, NOCOMMENTS, NODEFAULTLIBRARY, NOINDIRECTCALL, NOJMPTAB, NOLINES, NOMAP, NOOVERLAY, NOPRINT, NOPUBLICS, NOSORTSIZE, NOSYMBOLS, NOTYPE, OBJECTCONTROLS, OVERLAY, PAGELENGTH, PAGEWIDTH, PRINT, PRINTCONTROLS, PUBLICSONLY, PURGE, RECURSIONS, REGFILE, REMOVEUNUSED, RESERVE, RTX51, RTX51TINY, SEGMENTS, SEGSIZE, SPLIT_XDATAGROUP, WARNINGLEVEL
- ?BA? ?BI? ?CO? ?DT? ?FC? ?FD? ?ID? ?PD? ?PR? ?PR? ?XD?
- ?B_PORT ?B_FIRSTBIT ?B_XDATAPORT ?B_FIRSTBIT SWITCHx
- map文件介绍
-
a51.chm包含一些汇编伪指令,如:
- PATH TMP C51INC $IF $ELSE $ELSEIF $ENDIF $SET $RESET IF ELSE ELSEIF ENDIF
- CASE COND DATE DEBUG DEFINE ECRM EJECT1 ELSE ELSEIF ENDIF ERRORPRINT GEN IF INCDIR INCLUDE2 LIST MACRO MOD_CONT MOD_MX51 MOD51 MPL NOAMAKE NOCASE NOCOND NODEBUG NOERRORPRINT NOGEN NOLINES NOLIST NOMACRO NOMOD51 NOMPL NOOBJECT NOPRINT NOREGISTERBANK NOSYMBOLS NOSYMLIST NOXREF OBJECT PAGELENGTH PAGEWIDTH PRINT REGISTERBANK REGUSE RESET RESTORE1 SAVE1 SET SYMBOLS SYMLIST TITLE XREF
- A DPTR PC C AB R0–R7 AR0–AR7 PR0 PR1 EPTR
- DATA BIT IDATA EDATA XDATA CODE
- ALIGN EVEN ORG USING IF ELSEIF ELSE ENDIF DB DD DW DBIT DS DSB DSD DSW ENDP LABEL PROC EXTERN EXTRN NAME PUBLIC BSEG CSEG DSEG ISEG RSEG SEGMENT XSEG BIT CODE DATA EQU IDATA LIT1 SBIT SET SFR SFR16 XDATA
__ERROR__ __WARNING__
END - MPL MACRO NOMPL NOMACRO
- MACRO EXITM ENDM LOCAL REPT IRP IRPC
- NUL & <> % ;; !
- EVAL IF REPEAT SUBSTR WHILE
__A51__ __AX51__ __DATE__ __DATE2__ __FILE__ __KEIL__ __LINE__ __MOD_CONT__ __TIME__
- H结尾十六进制,O结尾八进制,B结尾二进制
- 操作符优先级
- 其它51单片机指令集中的操作符有:
- A AB ACALL ADD ADDC AJMP AND ANL AR0 AR1 AR2 AR3 AR4 AR5 AR6 AR7 BIT BITADDRESSABLE BLOCK BSEG C CALL CJNE CLR CMP CODE CPL CSEG DA DATA DB DBIT DEC DIV DJNZ | DPTR DS DSEG DW ELSE ELSEIF END ENDIF ENDM ENDP EQ EQU EXITM EXTRN GE GT HIGH IDATA IF INBLOCK INC INPAGE INSEG IRP IRPC ISEG JB JBC JC JE JG JLE JMP JNB JNC | JNE JNZ JSG JSGE JSL JSLE JZ LCALL LE LJMP LOCAL LOW LT MACRO MOD MOV MOVC MOVX MUL NAME NE NOP NOT NUL NUMBER OR ORG ORL OVERLAYABLE PAGE PC POP PUBLIC PUSH R0 | R1 R2 R3 R4 R5 R6 R7 REPT RET RETIv RL RLC RR RRC RSEG SEG SEGMENT SET SETB SHL SHR SJMP SUB SUBB SWAP UNIT USING XCH XCHD XDATA XOR XRL XSEG
- AC ACCv B CY DPH DPL EA ES ET0 ET1 EX0 EX1 F0 IE IE0 IE1 | INT0 INT1 IT0 IT1 OV P P0 P1 P2 P3 PS PSW PT0 PT1 PX0 PX1 | RB8 RD REN RI RS0 RS1 RXD SBUF SCON SM0 SM1 SM2 SP T1 TB8 TCON | TF0 TF1 TH0 TH1 TI TL0 TL1 TMOD TO TR0 TR1 TXD WR
- AT BYTE BYTE0 BYTE1 BYTE2 BYTE3 CONST DD DSB | DSD DSW DWORD ECALL ECODE EDATA EJMP EMOV EPTR | ERET EVEN EXTERN FAR HCONST HDATA LABEL LIT MBYTE | NEAR OFFS PR0 PR1 PROC WORD WORD0 WORD2
-
c51.chm包含一些C语言关键字:
- PATH TMP C51INC C51LIB
- far sbit alien idata sfr bdata interrupt sfr16 bit large small code pdata compact using data reentrant xdata
_at_ _task_ _priority_
- program code bit bdata data far (const far) idata pdata xdata (const xdata)
- Enum, signed short, unsigned short, signed int, unsigned int, signed long, unsigned long, Float,
data *, idata *, pdata *, code*, xdata *
, generic pointer, _task_ _priority_
__C51__ __CX51__ __DATE__ __DATE2__ __FILE__ __LINE__ __MODEL__ __TIME__ __STDC__
- ?C_IBP ?C_PBP ?C_XBP
- 汇编与C语言函数间参数与返回值使用的是R0~R7里面哪些寄存器组成的形参
- 一些C语言本来有的关键字:void char int enum float double signed unsigned short long const volatile auto register static extern #include #define Stringize(#) TokenPasting (##) defined(identifier)
- #define #elif #else #endif #error #if #ifdef #ifndef #include #line #message #pragma #undef #warning
- Keil提供的一些C语言标准库函数和全局变量:calloc free
_getkey
init_mempool malloc putchar realloc jmp_buf size_t va_list wchar_t CBYTE CWORD DBYTE DWORD FARRAY FCARRAY FCVAR FVAR PBYTE PWORD XBYTE XWORD - memccpy memchr memcmp memcpy memmove memset isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit toascii toint tolower
_tolower toupper _toupper
abs atof atof517 atoi atol cabs labs strtod strtod517 strtol strtoul_chkfloat_ _crol_ _cror_ _irol_ _iror_ _nop_ _pop_ _push_ _testbit_
acos acos517 asin asin517 atan atan517 atan2 ceil cos cos517 cosh exp exp517 fabs floor fmod log log517 log10 log10517 modf pow rand sin sin517 sinh srand sqrt sqrt517 tan tan517 tanh_chkfloat_ _crol_ _cror_ _irol_ _iror_ _lrol_ _lror_
calloc free init_mempool malloc realloc getchar_getkey
gets printf printf517 putchar puts scanf scanf517 sprintf sprintf517 sscanf sscanf517 ungetchar vprintf vsprintf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strpos strrchr strrpbrk strrpos strspn strstr va_arg va_end va_start setjmp longjmp_nop_ _testbit_
- 一些头文件SFR_Definitions 80c517.h absacc.h assert.h ctype.h float.h intrins.h limits.h math.h rtx51tny.h setjmp.h stdarg.h stddef.h stdio.h stdlib.h string.h