汇编程序求两个数的最大公约数子程序
发布时间
阅读量:
阅读量
程序需求:编写一个名为Gcd的子程序,用于计算两个数值的最大公约数,主程序与子程序之间通过堆栈实现参数传递。调用Gcd子程序,计算三个双变量dvar1、dvar2以及dvar3的最大公约数,并将结果输出。
编程思路:首先采用C语言进行实现,随后将其转换为汇编语言实现。为简化实现过程,在子程序中不单独分配栈空间用于存储变量,而是直接利用EBP寄存器对传入的参数进行访问。
开发环境
Windows 10操作系统配合Visual Studio 2017开发环境
C语言代码实现如下:
#include <stdio.h>
int dvar1 = 12;
int dvar2 = 6;
int dvar3 = 18;
int gcd(int a, int b)
{
int tmp = b;
while (a%b != 0)
{
tmp = a % b;
a = b;
b = tmp;
}
return tmp;
}
int main()
{
int res = gcd(dvar1, gcd(dvar2, dvar3
全部评论 (0)
还没有任何评论哟~
