📄 bp.c
字号:
/* Base pointer tests, specifically for the z80. */#include <testfwk.h>#include <string.h>intverifyBlock(char *p, char val, int len){ while (len--) { if (*p++ != val) { return 0; } } return 1;}intspoil(int a){ return a;}#if defined(SDCC_mcs51) || defined(SDCC_pic16)// test devices with much less memory#define ABOVE_MEM_SIZE 30#define ABOVE_MEM_TEST_SIZE 17#define BELOW_MEM_SIZE 20#define BELOW_MEM_TEST_SIZE 7#else#define ABOVE_MEM_SIZE 400#define ABOVE_MEM_TEST_SIZE 17#define BELOW_MEM_SIZE 200#define BELOW_MEM_TEST_SIZE 74#endifvoidtestBP(void){ char above[ABOVE_MEM_SIZE]; int f; char below[BELOW_MEM_SIZE]; memset(above, ABOVE_MEM_TEST_SIZE, sizeof(above)); memset(below, BELOW_MEM_TEST_SIZE, sizeof(below)); ASSERT(verifyBlock(above, ABOVE_MEM_TEST_SIZE, sizeof(above))); ASSERT(verifyBlock(below, BELOW_MEM_TEST_SIZE, sizeof(below))); f = spoil(-5); spoil(f); ASSERT(verifyBlock(above, ABOVE_MEM_TEST_SIZE, sizeof(above))); ASSERT(verifyBlock(below, BELOW_MEM_TEST_SIZE, sizeof(below)));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -