当前位置: 首页 > article >正文

Mono里运行C#脚本27—X86_64指令寄存器初步了解mono_arch_regname

Mono里运行C#脚本27—X86_64指令寄存器初步了解mono_arch_regname 

通过前面的分析,我们知道一个程序要运行,要么解释执行,
要么编译后执行。JIT是采用即时编译的技术,显然是把程序转换为机器码再运行的。

要实现从C#代码到机器码的转换,就需要了解X86_64的指令格式。
当然,如果你想转换C#程序到鸿蒙系统上运行,那么就需要了解ARM64的指令格式。
如果想转换到龙芯系统上运行,就需要了解龙芯架构指令。
因此,JIT是基于不同的CPU架构指令来实现的。

不过,只要理解一种CPU架构的实现,再实现其它架构的CPU就比较容易了。
目前先了解X86_64的指令,毕竟它是目前最方便调试的系统。

从mini-amd64.c文件里,就可以看到下面的代码:
const char*
mono_arch_regname (int reg)
{
    switch (reg) {
    case AMD64_RAX: return "%rax";
    case AMD64_RBX: return "%rbx";
    case AMD64_RCX: return "%rcx";
    case AMD64_


http://www.kler.cn/a/504477.html

相关文章:

  • PL/SQL语言的网络编程
  • 【面试题】技术场景 5、日志采集ELK
  • ZCC1923替代BOS1921Piezo Haptic Driver with Digital Front End
  • C#补充----反射,特性,迭代器,特殊语法,值类型运用类型。
  • LeetCode100之单词搜索(79)--Java
  • UML系列之Rational Rose笔记四:时序图(顺序图_序列图)
  • docker mysql5.7如何设置不区分大小写
  • Docker 拉取镜像速度慢,容易失败?
  • threejs中的相机与物体
  • 【开源免费】基于SpringBoot+Vue.JS公司日常考勤系统(JAVA毕业设计)
  • 【Git版本控制器--2】Git的分支管理
  • Java中对list数据进行手动分页(可直接复用版)
  • Cyberchef开发operation操作之-增加LEEF解析操作
  • 前端实时显示当前在线人数的实现
  • 淘宝 URL 采集商品详情数据的常见方法
  • 如何最小改变架构,快速实现流控的?(第34讲)
  • 第 6 课 Python函数和模块
  • 高性能现代PHP全栈框架 Spiral
  • 大学无人机低空经济专业建设技术详解
  • iOS layer.mask 的原理