📄 check_addoq.c
字号:
#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include "sys.h"#include "crisutils.h"/* this would be better to do in asm, it's an orgy in GCC inline asm now. *//* ACR will be clobbered. */#define cris_addoq(o, v) \ asm volatile ("addoq\t%1, %0, $acr\n" : : "r" (v), "i" (o) : "acr");int main(void){ int x[3] = {0x55aa77ff, 0xccff2244, 0x88ccee19}; int *p, *t = x + 1; cris_tst_cc_init(); asm volatile ("setf\tzvnc\n"); cris_addoq(0, t); cris_tst_cc(1, 1, 1, 1); asm volatile ("move.d\t$acr, %0\n" : "=r" (p)); if (*p != 0xccff2244) err(); cris_tst_cc_init(); asm volatile ("setf\tzvnc\n"); cris_addoq(4, t); cris_tst_cc(1, 1, 1, 1); asm volatile ("move.d\t$acr, %0\n" : "=r" (p)); if (*p != 0x88ccee19) err(); cris_tst_cc_init(); asm volatile ("clearf\tzvnc\n"); cris_addoq(-8, t + 1); cris_tst_cc(0, 0, 0, 0); asm volatile ("move.d\t$acr, %0\n" : "=r" (p)); if (*p != 0x55aa77ff) err(); pass(); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -