⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 op_locals.hc

📁 专业汽车级嵌入式操作系统OSEK的源代码
💻 HC
字号:
/** * This is included inside a switch statement. */case OP_ILOAD:case OP_FLOAD:  push_word (get_local_word(*pc++));  goto LABEL_ENGINELOOP;case OP_ALOAD:  // Arguments: 1  // Stack: +1  push_ref (get_local_ref(*pc++));  goto LABEL_ENGINELOOP;case OP_ILOAD_0:case OP_ILOAD_1:case OP_ILOAD_2:case OP_ILOAD_3:  // Arguments: 0  // Stack: +1  push_word (get_local_word(*(pc-1)-OP_ILOAD_0));  goto LABEL_ENGINELOOP;case OP_FLOAD_0:case OP_FLOAD_1:case OP_FLOAD_2:case OP_FLOAD_3:  // Arguments: 0  // Stack: +1  push_word (get_local_word(*(pc-1)-OP_FLOAD_0));  goto LABEL_ENGINELOOP;case OP_ALOAD_0:case OP_ALOAD_1:case OP_ALOAD_2:case OP_ALOAD_3:  // Arguments: 0  // Stack: +1#if DEBUG_BYTECODE printf ("### aload_x(thread=%d, frame=%d, ref=%d): %d\n", currentThread->threadId, currentThread->stackFrameArraySize-1, (int)localsBase, (int) get_local_ref(*(pc-1)-OP_ALOAD_0));#endif   push_ref (get_local_ref(*(pc-1)-OP_ALOAD_0));  goto LABEL_ENGINELOOP;case OP_LLOAD:case OP_DLOAD:  // Arguments: 1  // Stack: +2  push_word (get_local_word(*pc));  push_word (get_local_word((*pc)+1));  pc++;  goto LABEL_ENGINELOOP;case OP_LLOAD_0:case OP_LLOAD_1:case OP_LLOAD_2:case OP_LLOAD_3:  // Arguments: 0  // Stack: +2  tempByte = *(pc-1) - OP_LLOAD_0;  goto LABEL_DLOAD_COMPLETE; // below  //push_word (get_local_word(tempByte++));  //push_word (get_local_word(tempByte));  //goto LABEL_ENGINELOOP;case OP_DLOAD_0:case OP_DLOAD_1:case OP_DLOAD_2:case OP_DLOAD_3:  // Arguments: 0  // Stack: +2  tempByte = *(pc-1) - OP_DLOAD_0; LABEL_DLOAD_COMPLETE:  push_word (get_local_word(tempByte++));  push_word (get_local_word(tempByte));  goto LABEL_ENGINELOOP;case OP_ISTORE:case OP_FSTORE:  // Arguments: 1  // Stack: -1  set_local_word(*pc++, pop_word());  goto LABEL_ENGINELOOP;  case OP_ASTORE:  // Arguments: 1  // Stack: -1  set_local_ref(*pc++, pop_word());  goto LABEL_ENGINELOOP;case OP_ISTORE_0:case OP_ISTORE_1:case OP_ISTORE_2:case OP_ISTORE_3:  // Arguments: 0  // Stack: -1  set_local_word(*(pc-1)-OP_ISTORE_0, pop_word());  goto LABEL_ENGINELOOP;case OP_FSTORE_0:case OP_FSTORE_1:case OP_FSTORE_2:case OP_FSTORE_3:  // Arguments: 0  // Stack: -1  set_local_word(*(pc-1)-OP_FSTORE_0, pop_word());  goto LABEL_ENGINELOOP;case OP_ASTORE_0:case OP_ASTORE_1:case OP_ASTORE_2:case OP_ASTORE_3:  // Arguments: 0  // Stack: -1  //printf ("### astore_x: %d\n", (int) get_top_word());  set_local_ref(*(pc-1)-OP_ASTORE_0, pop_word());  goto LABEL_ENGINELOOP;case OP_LSTORE:case OP_DSTORE:  // Arguments: 1  // Stack: -1  set_local_word ((*pc)+1, pop_word());  set_local_word (*pc++, pop_word());  goto LABEL_ENGINELOOP;case OP_LSTORE_0:case OP_LSTORE_1:case OP_LSTORE_2:case OP_LSTORE_3:  tempByte = *(pc-1) - OP_LSTORE_0;  goto LABEL_DSTORE_END;  //set_local_word (tempByte+1, pop_word());  //set_local_word (tempByte, pop_word());  //goto LABEL_ENGINELOOP;case OP_DSTORE_0:case OP_DSTORE_1:case OP_DSTORE_2:case OP_DSTORE_3:  tempByte = *(pc-1) - OP_DSTORE_0; LABEL_DSTORE_END:  set_local_word (tempByte+1, pop_word());  set_local_word (tempByte, pop_word());  goto LABEL_ENGINELOOP;case OP_IINC:  // Arguments: 2  // Stack: +0  inc_local_word (pc[0], byte2jint(pc[1]));  pc += 2;  goto LABEL_ENGINELOOP;// Notes:// - OP_WIDE is unexpected in TinyVM and CompactVM./*end*/

⌨️ 快捷键说明

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