当前位置:首页 > 芯闻号 > 充电吧
[导读]     本来没什么好写的,因为这实在是太简单了。只有一条指令。但即使是一条指令,在易里面也不是容易的。       在C里面 可以用     __asm {         RDTSC     };

     本来没什么好写的,因为这实在是太简单了。只有一条指令。但即使是一条指令,在易里面也不是容易的。

 

    在C里面 可以用

    __asm {

        RDTSC

    };

    它的内容全部保存在 EAX,EDX中(EDX)是高位。 也就是说是一个长整数了。

 

   在易里面 可以用置入代码。先写了一个易语言的返回值为长整数的函数,然后编译。看看它的机器码。

            00403232   mov         edx,0
            00403237   mov         eax,64h
            00403242   mov         esp,ebp
            00403244   pop         ebp
    很好,它也是通过 EDX:EAX 返回的。这下不用我返回值了。不要奇怪。易语言生成的机器码效率就是这么的不行,我没有定义局部变量 但 "mov         esp,ebp"这条指令还是出现了。

剩下的好办,写个汇编,编译好。取机器码。然后填进去就是。代码如下:

            00401357 0F31                     rdtsc
            00401359 89EC                     mov     esp,ebp
            0040135B 5D                       pop     ebp
            0040135C C3                       ret

因为 易的返回长整数和 rdstc都是用 EDX:EAX的。所以无须操心了。ret返回就可以了。

生成的机器码是 15, 49, 137, 236, 93, 195 。置入代码写进去,

 

    会编译不过。不过不用担心。在后面加入一个 返回(0) 这里是执行不到的。欺骗一下易编译器而已。这样一个取CPU时间戳的函数就写出来了。

 

.子程序 取CPU时间戳, 长整数型, 公开, 取得CPU经过的时钟周期数

    置入代码 ({ 15, 49, 137, 236, 93, 195 })
    返回 (0)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

MIKROE增加了图形功能,CLANG支持ARM和RISC-V以及许多其他功能

关键字: 编译器 RISC-V架构 工业自动化

IAR Embedded Workbench for Arm已全面支持恩智浦最新的S32系列,可加速软件定义汽车的车身和舒适性应用的开发

关键字: 电机控制 电动汽车 编译器

这款新编译器专为dsPIC®数字信号控制器 (DSC)优化设计,可为实时应用定制许可选项

关键字: 编译器 数字信号控制器 自动驾驶

C语言编译器是一种用于将C语言源代码转换为可执行程序的软件工具。它的主要功能是将C语言代码翻译成机器语言,以便计算机能够理解和执行。C语言编译器通常包括预处理器、编译器、汇编器和链接器等多个组件,它们协同工作以完成编译过...

关键字: C语言 编译器 Microsoft Visual C++

IAR Embedded Workbench 9.40版本引入了与指针验证和分支目标识别(PACBTI)扩展的无缝兼容性,保护嵌入式应用程序免受各种安全攻击。

关键字: 代码 嵌入式应用程序 编译器

在过去数十年,摩尔定律一直支配着半导体的发展。随着MCU的性能越来越强,嵌入式产品也越来越智能,嵌入式软件也变得越来越复杂。编译器作为嵌入式软件开发的基础工具,将程序员编写的源代码转换为底层硬件可以执行的机器指令。一款优...

关键字: 摩尔定律 嵌入式 软件开发 编译器

Python的创始人是一位荷兰籍的程序员——吉多·范罗苏姆(Guido van Rossum),江湖外号“龟叔”。据说这个外号是由于Guido的开头与龟的拼音gui相同得来的,所以Guido也被程序员们戏称为“龟叔”。在...

关键字: Python 编译器 人工智能

从汇编角度来说,如果“test %al, %al”能改成“test %0x1, %al”就没有匪夷所思的问题了,如此一来应该会降低CPU的效率,毕竟执行指令还需要一个立即数,我没搞过编译器也没设计过CPU,纯属瞎猜,能搞...

关键字: 汇编 CPU 编译器

ZigBee 无线网络节点开发平台软件开发平台 IAR Embedded Workbench(简称 EW)的 C/C++交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW 对不同的微处理器提供一...

关键字: IAR 无线网络 编译器

PathWave RFPro 与新思科技定制化编译器相辅相成,可提供无线晶片设计工作流程所需的整合式电磁模拟工具

关键字: 是德科技 集成电路 编译器
关闭
关闭