Click here to load reader

Keil C51使用详解

Embed Size (px)

Citation preview

Keil C51 V1.0

1

Keil C51 ... 6 ... 6 Keil C51 ... 6 Keil C51 ... 7 1. C51 for Dos 7 2. C51 for Windows ... 7 Keil C51 ... 7 1. C51 A51. 7 2. L51 BL51. 8 3. DScope51Tscope51 Monitor51. 8 4. Ishell uVision. 9

Keil C51 ... 10 Keil C51 ... 10 1. ... 10 2. (Object)... 10 3. (listing)... 10 dScope51 ... 11 1. dScope51 for Dos 11 2. dScope for Windows 12 Monitor51 ... 13 1. Monitor51 ... 13 2. Mon51 ... 13 3. MON51 ... 13 4. ... 13 5. MON51 ... 14 (IDE)... 142

1. Ishell for Dos ... 14 2. uVision for windows ... 15

Keil C51 vs C.. 15 Keil C51 ... 15 (Memory Areas)... 16 1. Pragram Area... 16 2. Internal Data Memory: 16 3. External Data Memory. 16 4. Speciac Function Register Memory. 16 ... 16 1. Small ... 16 2. Compact ... 17 3. large ... 17 ... 17 ... 17 ... 17 1. bit ... 17 2. 20H2FH.. 18 Keil C51 ... 18 1. ... 18 2. ... 18 3. ... 18 Keil C51 ... 19 1. ... 19 2. ... 19 3. using x ... 193

4. ... 19 5. #pragma disable. 19 6. ... 19 7. PL/M51 ... 20

Keil C51 ... 20 ... 20 1. ... 20 2. _at_... 21 3. ... 21 Keil C51 ... 21 1. ... 21 2. ... 21 Keil C51 ... 22 1. ... 22 2. C51 STARTUP.A51. 22 3. ... 25 4. ... 25 ... 25 1. (Segment Naming Conventions) 25 2. ... 25

Keil C51 ... 26 (intrinsic routines)... 26 ... 26 1. include ... 26 2. include absacc.h. 26 3. stdlib.h ... 274

4. string.h... 27 5. stdio.h... 27 Keil C51 ... 27 1. CTYPE.H.. 27 2. INTRINS.H.. 27 3. STDIO.H.. 28 4. STDLIB.H.. 28 5. STRING.H.. 28

Keil C51 Hello.c.. 29 uVision for Windows ... 29 Ishell for Dos ... 30

Keil C51 ... 30 ... 30 ... 31

dScope for Windows ... 32 ... 32 1. Mainframe Window... 32 2. DEBUG Window... 32 3. Command Window... 32 4. Watch Window... 32 5. Registe Window... 32 6. Serical Windows... 32 7. ... 32 8. Memory Window... 32 9. Symbol Browser Window... 33 10. CallStack Window... 335

11. ... 33 12. (peripherals) 33 dScope for Windows ... 33 1. ... 33 2. ... 33 3. RAM ... 34 4. ... 34 5. ... 34 6. Performance AnalyzerPA... 34 dScope for Windows ... 34 1. ... 34 2. ... 35 3. ... 36 4. ... 38 5. ... 38 6. ... 38 7. ... 38 8. ... 38 9. dScope ... 38 10. ... 43

6

Keil C51 Keil C51 Keil Software 51 C C C Keil C51 Windows Keil C51 Keil C51 Keil C51 C51 (1) uVision Ishell C51 for Windows for Dos (IDE) IDE C C51 A51 (.OBJ) LIB51 ABS OH51 L51 (.ABS) Hex dScope51 tScope51 EPROM

7

(1) C51 Keil C51 1. C51 for Dos Windows DOS\C51DOS.exe ( C:\C51 ) Autoexec.bat path=C:\C51\Bin Set C51LIB=C:\C51\LIB Set C51INC=C:\C51\INC Autoexec.bat 2. C51 for Windows Windows WIN\Setup.exe C51 for Dos ( C:\C51 ) crack C:\C51\Bin Keil C51 1. C51 A51 (1) C51 C51 C C51 sourcefile[] C51 @ commandfile

sourcefile C (.C) C51 C51 C.LST.OBJ.I .SRC (.C) Commandfile .C 8

(2) A51 A51 A51 sourcefile[] A51 @ commandfile

sourcefile (.asm .a51) ASM Commandfile C51 Commandfile A51 2. L51 BL51 (1) L51 L51 Keil C51 / OBJ (.ABS) L51 [] [to outputfile] [] L51 @Commandfile C51 A51 OBJ (.LiB) outputfile .ABS Commandfile 1 2 (2) Bl51 BL51 C51 / L51 3 a. 64kBytes b. (CodeBanking & Bank Switching) c. RTX51 9

RTX51 main( ) RTOS 186 386 68K CPU 8051 CPU RTX51 PK51 RTX51Full RTX51TINY RTOS RTX51 TINY RAM Bank switching 3. DScope51Tscope51 Monitor51 (1) dScope51 dScope51 C51 A51 PL/M-51 ASM51 for windows mon51 CPU I/O DS51[debugfile][INIT(initfile)] debugfile Hex 8051 dScope51 load Initfile dScope51 debugfile dScope dScope.ini (for dos) Load ..\..\ds51\8051.iof Map 0,0xffff dScope51 for Windows load (2) tScope51 dScope51 Scope51 (1) EMul51 tScope51 10

EMUL51.IOT (2) Monitov51 tScope51 Monitor51 MON51.IOT TS51[INIT(file_name.ini)] file_name.ini TS51 IOT MON51.IOT EMUL51.IOT MON51.IOT Load.C:\C51\TS51\MON51.IOT CPUTYPE(80517) tScope51 for Dos (3) Monitor 51 Monitor51 PC Monitor MON51 dScope51 for Windows, Monitor51 4. Ishell uVision (1) Ishell for Dos for Dos IDE Ishell DOS Project projectBAT dScope51 tScope51 for dos (2) uVision for Windows uVision for Windows Windows C51 project make

Keil C51 Keil C51 11

C51 1. NOEXTENDC51 ANSI C DEFINE(DF)( C51 ) 2. (Object) COMPACT LARGE SMALL DEBUG(DB) dSCope51 NOAMAKE(NOAM) AutoMake NOREGPARMS OBJECTEXTEND(OE) Object OPTIMIZE(OT) REGFILE(RF) REGISTERBANK(RB) SRC 3. (listing) CODE(CD) LISTINCLUDE(LC) indude SYMBOLS(SB) WARNINGLEVEL(WL) dScope51 1. dScope51 for Dos dScope51 GO12

Watch dScope51 for Dos dScope51 serial exe register language exe language serial register (1) View Highlevel Mixed Assembly (2) Peripheral i/o Port I/O 8031 SFR P1 P2 P3 P0 Interrupt 5 Timer/ int Message (>> ) interrupt Timer 0 occured A/D converter A/D Serial Other 8031 (3) Go F8F5 Trace CPU Go 13

(4) MAP (set)(reset)(Display) Code ASM D (XDIBC) E EBECEIELEFEP Object C51 DB OBJECTEXTEND U (5) Watch View Watch Watch Point(Define) Watch Point(remove,kill all) WSWK dScope51 16 WtchPoint Watch Window >WS *ptime >WS ptimehour >WS some_record[o]analog (6) .IOF DS51 .IOF CPU Peripheral 8051 CPU 8051 CPU 8031CPU load DS51 8051.IOF 2. dScope for Windows dScope for windows dScope for dos (1) Windows 14

(2) Dos (3) dScope for Windows Monitor51 1. Monitor51 (1) 51 CPU (2) 5K ( O ) Monitor51 (3) 256Bytes 5K XDATA Code (4) (5) 6 Bytes 2. Mon51 Mon51 (1) Dos install MON51 MON51 Monitor Monitor51 (2) tScope51 tScope51 TS51 MON51.IOT (3) dScope51 for Windows CPU MON51.dll MON51 3. MON51 (1) MON51 for Dos install ( MON51 ) INSTALL Serialtype [xdstastart[codestart[bank][PROMCHECK]]] MON5115

(2) MON51 for Windows MON51.dll Configuration PC apply 4. RTSCTS DSRDTR 5. MON51 MON51 (IDE) 1. Ishell for Dos Ishell Dos Files Ishell (1) Ishell.CFG project Ishell.CFG Option Setup Bell enabled Monochrome enabled Editor Selected CRT Lines target enviroment name of user edit Automatic load for configuration enabled file window enabled specification for file window file translate command line controls project name project setupsave (2) IShell.col IDE (3) CDF BIN 8051.CDFUSER.CDF CDF CDF 16

8051.CDF .CDF Ishell CDF IDE IDE C51 Automake C51 Automake project 8051 OBJECT project AutoMake project project Automake OBJECT AutoMake Automake C51 A51 L51/BL51 C166 A166 L166 Automake Ishell for Dos uVision for windows 2. uVision for windows uVision windows project ( A51C51PL/M41BL51 dScope ) Ishell for Dos uVision BL51 BL51 L51 Dos project uVision uVision dScope for windows MON51 for DOS (1) Option A51 C51 PL/M51 BL51 dScope dScope Make make (2) RUN dScope (3) project poject

Keil C51 vs C17

C51 ANSIC C51 8051 CPU 8 8051 (SFR) C51 (8031 CPU) Keil C51 C51 V4.0 ( 19 ) _at_ bdata using idata large sfr16 _task_ alien Code interrupt bit small pdata data sfr

reentrant xdata

compact sbit

(Memory Areas) 1. Pragram Area Code 64kBytes 2. Internal Data Memory: data RAM 128 idata RAM bdata 3. External Data Memory RAM 18

00H7FH 00HFFH 20H2FH

xdata 64KB 0000H0FFFFH pdata 1 (25bBytes) RAM(Compact Model) 4. Speciac Function Register Memory 8051 128Bytes SFR I/O sfr sfr16 sfr16 T2=0xcc; Timer2 T2L=0xcc T2H=0xCD sbit sbit EA=0xAF; 0xAF EA sbit 0V=PSW^2( 0V PSW 2 ) sbit 0V0XDO^2() bit 0V-0xD2() 1. Small RAM 2. Compact RAM (256Bytes) P2 STARTUP.A51 pdata Small Small large 3. large 64KB RAM 19

sfr P0=0x80; PO 80H HFFH

C51 code,data,idata,xdata,pdata data uar1 char code array[ ]hello!; unsigned char xdata arr[10][4][4] C51 bit 0 1 sbit sfr sfr sfr16 sfr 0255 065535 01

char,enum,short,int,long,float ANSI C 1. bit bit RAM20H2FH (1) pragma disable usign bit (2) bit bit *ptr (3) bit bit arr[5] 2. 20H2FH int bdata i char bdata arr[3] 20

sbit bitoin0sbit bit15=I^15 sbit arr07=arr[0]^7sbit arr15=arr[i]^7 Keil C51 C51 (Generic Pointer)(Memory_Specific Pointer). 1. C long * state; long state char * xdata ptrptr char ptr RAM long,char 3 2. char data * str;str data char int xdata * pow; pow RAM int 2 3. include Keil C51 C51 ANSI C 1. 21

void serial_ISR () interrupt 4 [using 1] { /* ISR */ } iret /* define not used interrupt, so generate "IRET" in their entrance */ void extern0_ISR() interrupt 0{} void timer0_ISR () interrupt 1{} void extern1_ISR() interrupt 2{} void timer1_ISR () interrupt 3{} void serial_ISR () interrupt 4{} 2. 3. using x 4. small compact large void fun1(void) small { } small RAM 5. #pragma disable 6. 51 PC PC 51 RAM 22

/* not used */ /* not used */ /* not used */ /* not used */ /* not used */

a#pragma disable b void func(param...) reentrant; KeilC51 R #pragma noaregs 7. PL/M51 alien

Keil C51 C C51 C51 1. include CBYTEXBYTEPWORDDBYTECWORDXWORDPBYTEDWORD absacc.h rval=CBYTE[0x0002]; 0002h 23

rval=XWORD [0x0002]; RAM 0004h 2. _at_ _at_ const (1) (2)bit _at_ idata struct link list _at_ 0x40; list 40h xdata char text[25b] _at_0xE000 text 0E000H I/O volatile absacc.h 3. code xdata pdata \data bdata Keil C51 1. pragma #pragma asm #pragma endasm asm ndasm C51 SRC 2. C C51 A51 L51 obj C C51 (1) 24

3 Char Int long,float 1 R7 R6 & R7 R4R7 2 R5 R4 & R5 R4R7 3 R3 R2 & R3 (2) (fixed memory) bit function_name?BIT

R1R3 R1R3 R1R3

function_name?BYTE, (3) Return type Registev Bit char/unsigned char R7 R7 1_byte int/unsigned int 2_byte long&unsigned long Float (4) SRC C (.SRC) . ASM A51 Keil C51 C51\LiB C C 1. init_mem.C 25

R6 & R7

R6 R7 ,MSB R6

R4R7 R4R7 R1R3

MSB R4, LSB R7 32Bit IEEE R3 R2 R1

init_mem( ) malloc calloc,realloc calloc.c malloc.c malloc realloc.c realloc.c 2. C51 STARTUP.A51 STARTUP.A51 project RAM RAM 8051 main( ) IDATALEN RAM

XDATA START RAM XDATALEN IBPSTACK RAM 1 0

IBPSTACKTOP XBPSTACK 0

XBPSTACKTOP PBPSTACK Compact 0

PBPSTACKTOP Compact PPAGEENABLE P2 26

PPAGE

P2 RAM RAM

PDATASTART PDATALEN

P2 PPAGEENAGLE 1PPAGE P2 1000H10FFH PPAGE10H L51 PDATA(1080H) 1080H 1000H10FFH STARTUP.A51 ;-----------------------------------------------------------------------------; This file is part of the C51 Compiler package ; Copyright KEIL ELEKTRONIK GmbH 1990 ;-----------------------------------------------------------------------------; STARTUP.A51: This code is executed after processor reset. ; ; To translate this file use A51 with the following invocation: ; ; ; ; To link the modified STARTUP.OBJ file to your application use the following ; L51 invocation: ; ; ; ;-----------------------------------------------------------------------------; ; User-defined Power-On Initialization of Memory27

A51 STARTUP.A51

L51 , STARTUP.OBJ

; ; With the following EQU statements the initialization of memory ; at processor reset can be defined: ; ; ; the absolute start-address of IDATA memory is always 0 80H ; the length of IDATA memory in bytes.

IDATALEN EQU ; XDATASTART XDATALEN EQU ; PDATASTART PDATALEN EQU ;

EQU 0H

0H ; the absolute start-address of XDATA memory ; the length of XDATA memory in bytes.

EQU 0H

0H ; the absolute start-address of PDATA memory ; the length of PDATA memory in bytes.

; Notes: The IDATA space overlaps physically the DATA and BIT areas of the ; ; 8051 CPU. At minimum the memory space occupied from the C51 run-time routines must be set to zero.

;-----------------------------------------------------------------------------; ; Reentrant Stack Initilization ; ; The following EQU statements define the stack pointer for reentrant ; functions and initialized it: ; ; Stack Space for reentrant functions in the SMALL model. IBPSTACK EQU IBPSTACKTOP 0 ; set to 1 if small reentrant is used. EQU 0FFH+1 ; set top of stack to highest location+1.28

; ; Stack Space for reentrant functions in the LARGE model. XBPSTACK EQU XBPSTACKTOP ; ; Stack Space for reentrant functions in the COMPACT model. PBPSTACK EQU PBPSTACKTOP ; ;-----------------------------------------------------------------------------; ; Page Definition for Using the Compact Model with 64 KByte xdata RAM ; ; The following EQU statements define the xdata page used for pdata ; variables. The EQU PPAGE must conform with the PPAGE control used ; in the linker invocation. ; PPAGEENABLE PPAGE ; ;-----------------------------------------------------------------------------3. putchar.c putchar.c CLD LEN putchar.c XON|XOFF \*n29

0 ; set to 1 if large reentrant is used. EQU 0FFFFH+1; set top of stack to highest location+1.

0 ; set to 1 if compact reentrant is used. EQU 0FFFFH+1; set top of stack to highest location+1.

EQU EQU 0

0

; set to 1 if pdata object are used.

; define PPAGE number.

/\r\n getkey.c getkey 4. Watch-Dog INIT.A51 8C751 1. (Segment Naming Conventions) C51 C51 COmain1 main1 PRfunction1module module function1 2. C51 () C51 OPTIMIZE(SJXE) NOAREGS NOREGPARMS C51 OPTIMIZE(SIZE)AK OPTIMIZE(speed) 6 OPTIMIZE(6,SPEED)30

Keil C51 C51 C51 (intrinsic routines) C51 ACALL LCALL ACALL LCALL C51 9 _crol_,_cror_ char () _iror_,_irol_ int () _lrol_,_lror_ long () _nop_ _testbit_ NOP JBC bitvar

_chkfloat_ #inclucle 1. include 80318051 REG51.h 8051 SFR 2. include absacc.h 3. stdlib.h 4. string.h 31

memccpy memchr memcmp memcpy memmove memset 5. stdio.h 8051 I/O 8051 LCD lib getkey.c putchar.c Keil C51 1. CTYPE.H bit isalnum(char c) bit isalpha(char c) bit iscntrl(char c) bit isdigit(char c) bit isgraph(char c) bit islower(char c) bit isprint(char c) bit ispunct(char c) bit isspace(char c) bit isupper(char c) bit isxdigit(char c) bit toascii(char c) bit toint(char c) char tolower(char c) char __tolower(char c) char toupper(char c) char __toupper(char c) 2. INTRINS.H32

unsigned char _crol_(unsigned char c,unsigned char b) unsigned char _cror_(unsigned char c,unsigned char b) unsigned char _chkfloat_(float ual) unsigned int _irol_(unsigned int i,unsigned char b) unsigned int _iror_(unsigned int i,unsigned char b) unsigned long _irol_(unsigned long l,unsigned char b) unsigned long _iror_(unsigned long L,unsigned char b) void _nop_(void) bit _testbit_(bit b) 3. STDIO.H char getchar(void) char _getkey(void) char *gets(char * string,int len) int printf(const char * fmtstr[,argument]); char putchar(char c); int puts (const char * string); int scanf(const char * fmtstr.[,argument]) int sprintf(char * buffer,const char *fmtstr[;argument]) int sscanf(char *buffer,const char * fmtstr[,argument]); char ungetchar(char c); void vprintf (const char *fmtstr,char * argptr); void vsprintf(char *buffer,const char * fmtstr,char * argptr) 4. STDLIB.H float atof(void * string); int atoi(void * string); long atol(void * string);33

void * calloc(unsigned int num,unsigned int len); void free(void xdata *p) void init_mempool(void *data *p,unsigned int size); void *malloc (unsigned int size); int rand(void); void *realloc (void xdata *p,unsigned int size); void srand (int seed) 5. STRING.H void *memccpy (void *dest,void *src,char c,int len); void *memchr (void *buf,char c,int len); char memcmp(void *buf1,void *buf2,int len); void *memcopy (void *dest,void *SRC,int len); void *memmove (void *dest,void *src,int len); void *memset (void *buf,char c,int len); char *strcat (char *dest,char *src); char *strchr (const char *string,char c); char strcmp (char *string1,char *string2); char *strcpy (char *dest,char *src); int strcspn(char *src,char * set); int strlen (char *src); char *strncat (char 8dest,char *src,int len); char strncmp(char *string1,char *string2,int len); char strncpy (char *dest,char *src,int len); char *strpbrk (char *string,char *set); int strpos (const char *string,char c); char *strrchr (const char *string,char c);34

char *strrpbrk (char *string,char *set); int strrpos (const char *string,char c); int strspn(char *string,char *set)

Keil C51 Hello.cHello \C51\excmples\Hello\ Hello,world pragma DB OE CD #indule #include void main(void) { SCOn=0x50; TMOD=0x20 TH1=0xf3; Tri=1; TI=1; printf(Hello,world \n); while(1) { } } uVision for Windows (1) file_new hello.c (2) file_save (3) project_new project project hello hello.c project open project project (4) option_C51 compiler DB OE (5) option_dscope Debugger hello\DS51.INI35

DS51.INI load\\BIN\8051.DLL map 0, 0xffff (6) option_make make (7) project Build project HEX (8) run_dScope debugger dScope51 hello go serial serial Hello,world Ishell for Dos (1) Ishell Setup editer Edit Edit hello.c files hello.c (2) cd project hello (3) setup_target 8051 (4) setup_C51 DB OE (5) setup_project project hello (6) setup_save Ishell.CFG (7) Link hello.lin hell.obj (8) files Hello.c translate link Hex (9) Simulate 8051.CDF Simulate dScope dScope Go serial Hello.world (10) translate link Amake project DOS Ishell Translate 36

bat link Translate

Keil C51 C51 Keil C51 19H i 18H ++i INC 0x19 MOV A,0x19 JNZ 0x272D INC 0x18 0x272D 0000H0001H ++i MOV DPTR0001 MOVX A@ DPTR INC A MOVX @ DPTR,A JNz #5 MOV OPTR,#0000 MOVX A,@DPTR INC A MOVX @ DPTR,A 37

1 small-Compact-large large 2 large switch -case Keil C51 Switchcase Switch-Case ?C?ICASE if( ),while( ) switch-case switch-case NOAREGS

DEBUG BJECTEXTEND

dScope for Windows

1. Mainframe Window 38

2. DEBUG Window 3. Command Window 4. Watch Window 5. Registe Window 6. Serical Windows 7. CPU 8. Memory Window 9. Symbol Browser Window 10. CallStack Window 11. 12. (peripherals) I/O

dScope for Windows 1. uVision Option dScope Debugger dScope uVision39

RUN dScope Ds51.ini load 8051.dll load test slog>>test.log xtal=11.0592 define button "go to main","g,main" ws RevCounter ws rm.r g,main PA RESET PA serial PA timer0 2. 1 WS expression [, numberbase ] [ LINE ] numberbase 10 10 16 16 16 LINE 2setup->Watchpoints 3. RAM d i(x,d):, d 4. View->Call-stack->Show invocation 5. 8051.dll dScope Peripherial 4 40

I/0 portPi Interrupt Timer Serial 6. Performance AnalyzerPA PA CPU

PA func_name

dScope for Windows dScope dScope C/PL/M C 1. (1) dScope 16M 0X00 D 0X00:0X0000~0X00:0XFFFF( MSC51 0X00:0X00FF) 0X01 X 0X010X00000X010XFFFF 0XFF C 0XFF0X00000XFF0XFFFF (2) C D I 41

X B PI/O EBMCS251 EDMCS251 COMCS251 HCMCS251 2. dScope Q(O) T H Y dScope (1) int uint,00rd long WlongWord (2) ANSI C (3) ANSI C (4) CharUchar (5) (6) Bit 01 (7) 42

C C0X0012 0XFF0X0012 D D0X0068 0X000X0068 I I0X0010 0X000X0010 X X0X0028 0X010X0028 B B0X20 B0X24.0 EBMCS251 EDMCS251 COMCS251 HCMCS251 (8) (9) 3. dScope 31 A Zaz CPU dScope define Dscope (1) intuint/wordLong Ulong/dword (2) (float) ANSI C (3) L charUchar (4) Bit43

(5) dScope / a. Cycles (Read Only) 32 Ulongcycle b. Ramsize(R/W) 16 Uint c. Radix(R/N) 8 Uchar Radix=0X0A (10 )Radix=0X10 (16 ) d. IIPR/W 8 Uchar e. R/W 32 Ulong PC f. Itrace (R/W) 8 Uchar Itrace=1 Itrace=0 g. __Break__(R/W) 8 Uchar h. __Break__=1

__Mode____Frame size__ MCS 251

(6) CPU A C B DPTR R0R7 (7) 4. 44

dScope ANSI C 5. dScope dScope 6. dScope C 7. dScope COBJ 8. 9. dScope dScope dScope C C (1) ASM ASM C0Xnnnn ASM ASM debug Assemble->Assemble (2) Assign Assign channeloutreg45

MCS51 Assign Win Soot dScope (3) Define Define Define

(4) Display D (5) Enter E [ 2][] EEP (6) Map/Reset map Map Reset map (7) Object Obj [n][Line] Line n Line (8) U 46

U [] (9) WK WK n1[n2 ][] n WK * (10) WS WS [,n][LINE] LINE LINE n (11) G G [][] (12) T/P T/P n n P

(13) PA PA PA Kill * 47

PA Kill n1 [,n2][] PA PA Reset PA Windows (14) BD BD DB n1 [,n2][,] disable * disable

(15) BE BE M [,n2][,] BE * (16) BK BK BK M[,n2][,] *

(17) BL (18) BS dScope 40 a.BS [,count] [,cmd] count [] cmd dScope 48

&.&&,=,= =,!= BS READ [,count] [,cmd] BS WRITE [,count] [cmd] BS READWRITE [,count] [,cmd] Access R/W (19) Define button Toolbox (20) ! DOS Open EXIT DOS (21) Include Include [] dScope (22) Load Load [] Load Intel Hex/Hex 386 Intel Object (OMF_51) Intel Object (OMF-251) dScope CPU .DLL (23) LOG Command Window Command Windows 49

LOG > [] LOG >> []

Command Windows

LOG OFF LOG LOG> LOG>> LOG OFF (24) Reset Reset dScope

Reset Map Reset Var SET (25) Save 19EX386/HEX Save 1 2

1 2 (26) SET dScope SRC F1F12 12 SET SET SET 10. dScope dScope (1) dScope dScope 8 dScope 50

Void Printf(String) ANSI C Printf ( ) Void exec(Command__String) Command__String dScope int getint(Prompt__String) int getlong (Prompt__String) float getfloat (Prompt__String) dScope dialog box Prompt__String int rand (int seed) -32768~32768 Void memeset (ulorg start , ulong end ,uchar val) Start__endVal Void twatch (Long cycles) Long cycles (2) Func { } ANSI C 51

dScope define dScope dScope execCommand__String dScope twatch ( ) ANSI C (3) Signal {

} twatch ( ) dScope (4) dScope ANSI Inclule

52