汇编语言测试:到底是加快还是乘快?

简介:

    在windows中测试机器语言中关于加快还是乘快的问题,这里只是用到了低精度的计时器GetTickCount,测试机器为:

内存:512MB

cpu: AMD Sempron 2400+ 单核2GHz

测试代码如下:

buf dword 256 dup(?)
AddWay	proc

TIMES = 10000000h

AddWay	proc
	mov ecx,TIMES
	xor eax,eax
	.while ecx
		.if eax == 256
			xor eax,eax
		.endif

		mov buf[eax],0aabbccddh
		add eax,4
		dec ecx
	.endw
	ret
AddWay endp

MulWay	proc
	mov ecx,TIMES
	xor eax,eax
	.while ecx
		.if eax == 256
			xor eax,eax
		.endif

		mov buf[eax * 4],0aabbccddh
		dec ecx
	.endw
	ret
MulWay	endp


测试结果为(平均):

AddWay 720

MulWay 810


相关文章
|
存储
汇编语言中“$”的作用
汇编语言中“$”的作用
722 0
汇编语言中“$”的作用
|
8月前
|
存储 安全 编译器
5.10 汇编语言:汇编过程与结构
过程的实现离不开堆栈的应用,堆栈是一种后进先出`(LIFO)`的数据结构,最后压入栈的值总是最先被弹出,而新数值在执行压栈时总是被压入到栈的最顶端,栈主要功能是暂时存放数据和地址,通常用来保护断点和现场。栈是由`CPU`管理的线性内存数组,它使用两个寄存器`(SS和ESP)`来保存栈的状态,SS寄存器存放段选择符,而ESP寄存器的值通常是指向特定位置的一个32位偏移值,我们很少需要直接操作ESP寄存器,相反的ESP寄存器总是由`CALL,RET,PUSH,POP`等这类指令间接性的修改。
41 0
|
3月前
|
程序员 存储 安全
【汇编】汇编语言的介绍
【汇编】汇编语言的介绍
【汇编】汇编语言的介绍
|
3月前
|
存储 固态存储
【汇编】计算机的组成
【汇编】计算机的组成
【汇编】计算机的组成
|
8月前
|
存储 安全 程序员
5.1 汇编语言:汇编语言概述
汇编语言是一种面向机器的低级语言,用于编写计算机程序。汇编语言与计算机机器语言非常接近,汇编语言程序可以使用符号、助记符等来代替机器语言的二进制码,但最终会被汇编器编译成计算机可执行的机器码。相较于高级语言(如C、Python等),汇编语言学习和使用难度相对较大,需要对计算机内部结构、指令集等有深入的了解,以及具有良好的编程习惯和调试能力。但对于需要对计算机底层进行操作的任务,汇编语言是极其高效的,因为其可以实现对计算机底层资源的精细控制,极大地提高了计算机运行效率。
63 0
|
10月前
|
Java 编译器 程序员
机器语言,汇编语言,高级语言,c,java语言编译到运行过程
机器语言,汇编语言,高级语言,c,java语言编译到运行过程
|
11月前
|
编译器 C语言 数据安全/隐私保护
汇编语言和本地代码及通过编译器输出汇编语言的源代码
汇编语言和本地代码及通过编译器输出汇编语言的源代码
78 0
|
11月前
【8086汇编】《汇编语言(第三版)》实验一
需要用到的指令✨✨ 查看、修改CPU中寄存器的内容:R命令 查看内存中的内容:D命令 修改内存中的内容:E命令(可以写入数据、指令,在内存中,它们实际上没有区别) 将内存中的内容解释为机器指令和对应的汇编指令:U命令 执行CS:IP指向的内存单元处的指令:T命令 以汇编指令的形式向内存中写入指令:A命令
|
存储
汇编语言与微机原理-变量的调试与分析
汇编语言与微机原理-变量的调试与分析
125 0
汇编语言与微机原理-变量的调试与分析
|
存储 自然语言处理 Java
汇编语言学习 下
汇编语言学习笔记 下
112 1
汇编语言学习 下