【汇编程序】实现一维数组求和(间接寻址) |
您所在的位置:网站首页 › c语言数组求和代码 › 【汇编程序】实现一维数组求和(间接寻址) |
我们在开始写汇编代码的时候,一般是先写出C语言的实现,然后再翻译成汇编的实现。 在这个过程中,我们还可以利用IDE的反汇编功能查看编译器是如何帮我们生成汇编代码的,以及思考编译器为什么这样做,搞懂了这些,不论是对我们的C语言还是汇编语言都有很大的提升。 C语言代码实现如下: #include int array[] = { 0,1,2,3,4,5,6,7,8,9 }; int main() { int sum = 0; int* p = array; for (int i = 0; i < 10; i++) { sum = sum + *p; p++; } printf("the sum is : %d\n", sum); return 0; }汇编中寄存器对应C中变量关系如下: eax==sum esi==p ecx==数组元素个数==循环次数 汇编语言代码实现如下: INCLUDELIB kernel32.lib INCLUDELIB ucrt.lib INCLUDELIB legacy_stdio_definitions.lib .386 .model flat,stdcall ExitProces |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |