dblmath.c

来自「《虚拟机的设计与实现c/cpp》(win32平台)源码 好东西大家熟知不多说」· C语言 代码 · 共 32 行

C
32
字号
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                                                                   +
+  dblmath.c - this file implements double-precision IEEE math      +
+                                                                   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/* DADD $d1, $d2, $d3 */
#define HANDLE_DADD()	DBG_RUN0("Optimized HANDLE_DADD\n"); \
						Rd[RAM[R[$IP]+1]] = Rd[RAM[R[$IP]+2]]+Rd[RAM[R[$IP]+3]];\
						R[$IP]=R[$IP]+4;

/* DSUB $d1, $d2, $d3 */
#define HANDLE_DSUB()	DBG_RUN0("Optimized HANDLE_DSUB\n"); \
						Rd[RAM[R[$IP]+1]] = Rd[RAM[R[$IP]+2]]-Rd[RAM[R[$IP]+3]];\
						R[$IP]=R[$IP]+4;

/* DMULT $d1, $d2, $d3 */
#define HANDLE_DMULT()	DBG_RUN0("Optimized HANDLE_DMULT\n"); \
						Rd[RAM[R[$IP]+1]] = Rd[RAM[R[$IP]+2]]*Rd[RAM[R[$IP]+3]];\
						R[$IP]=R[$IP]+4;

/* DDIV $d1, $d2, $d3 */
#define HANDLE_DDIV()	DBG_RUN0("Optimized HANDLE_DDIV\n"); \
						Rd[RAM[R[$IP]+1]] = Rd[RAM[R[$IP]+2]]/Rd[RAM[R[$IP]+3]];\
						R[$IP]=R[$IP]+4;

/* DSLT $d1, $d2, $d3 */
#define HANDLE_DSLT()	DBG_RUN0("Optimized HANDLE_DSLT\n");\
		if(Rd[RAM[R[$IP]+2]] < Rd[RAM[R[$IP]+3]]){ Rd[RAM[R[$IP]+1]] = 1.0; }\
		else{ Rd[RAM[R[$IP]+1]] = 0.0; }\
		R[$IP]=R[$IP]+4;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?