📄 malloc.h
字号:
#ifndef MALLOC_H#define MALLOC_Htypedef unsigned long simm_id;#pragma CALLEE-SAVES addr5,addr6,addr7,simm_id_from_pointer#pragma CALLEE-SAVES addr6p,addr7p#pragma CALLEE-SAVES push_addr,pop_addrsimm_id simm_malloc(unsigned int num_bytes);void simm_free(simm_id addr32);void init_malloc(void);xdata void * addr5(simm_id addr32);xdata void * addr6(simm_id addr32);xdata void * addr7(simm_id addr32);xdata void * addr6p(xdata simm_id * xaddr16);xdata void * addr7p(xdata simm_id * xaddr16);simm_id simm_id_from_pointer(xdata void *ptr);void push_addr(unsigned char num);void pop_addr(unsigned char num);#define Addr6(ptr) (addr6p(&(ptr)))#define Addr7(ptr) (addr7p(&(ptr)))// #define Addr6(ptr) (addr6(ptr))// #define Addr7(ptr) (addr7(ptr))/* These addrX_val variables can be used to backup the * current address mapping (they may be needed by a * higher-level calling function). For examples: * * void some_subroutine(simm_id filelist) * { * unsigned int addr7_backup; * filelist struct *f_ptr; * * addr7_backup = addr7_val; //save addr7_val used by calling code * f_ptr = addr7(filelist); * // code that uses f_ptr * addr7_val = addr7_backup; //restore addr7_val before returning * } * */extern volatile xdata at 0xFF0A unsigned int addr5_val;extern volatile xdata at 0xFF0C unsigned int addr6_val;extern volatile xdata at 0xFF0E unsigned int addr7_val;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -