shift.c
来自「虚拟机设计与实现——C/C++」· C语言 代码 · 共 26 行
C
26 行
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ shift.c - this file implements bitwise shifting instructions +
+ SRA, SRL, SL +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* SRA $r1, $r2, $r3*/
#define HANDLE_SRA(); DBG_RUN0("Optimized HANDLE_SRA\n"); \
R[RAM[R[$IP]+1]] = ((S8)R[RAM[R[$IP]+2]]) >> ((S8)R[RAM[R[$IP]+3]]);\
R[$IP]=R[$IP]+4;
/* SRL $r1, $r2, $r3*/
#define HANDLE_SRL(); DBG_RUN0("Optimized HANDLE_SRL\n"); \
R[RAM[R[$IP]+1]] = R[RAM[R[$IP]+2]] >> R[RAM[R[$IP]+3]];\
R[$IP]=R[$IP]+4;
/* SL $r1, $r2, $r3*/
#define HANDLE_SL(); DBG_RUN0("Optimized HANDLE_SL\n"); \
R[RAM[R[$IP]+1]] = R[RAM[R[$IP]+2]] << R[RAM[R[$IP]+3]];\
R[$IP]=R[$IP]+4;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?