当前位置: 代码迷 >> 汇编语言 >> 汇编语言,该怎么解决
  详细解决方案

汇编语言,该怎么解决

热度:561   发布时间:2016-05-02 04:31:24.0
汇编语言
大家来谈谈现在汇编语言在哪些方面还有用武之地。。。。。。
------解决思路----------------------
#include <stdio.h>
float data[500];
int i;
void main() {
    for (i=0;i<500;i++) {data[i]=1.0f;printf("%g\n",data[i]);}
    __asm {
        push ecx
        push edi
        mov ecx,500
        mov eax,0xBF800000 //-1.0f
        lea edi,data
        rep stosd
        pop edi
        pop ecx
    }
    for (i=0;i<500;i++) printf("%g\n",data[i]);
}

------解决思路----------------------
#include <stdio.h>
int ROR(int v,unsigned char b) {
    __asm {
        push ecx
        mov eax,v
        mov cl,b
        ror eax,cl
        pop ecx
    }
}
void main() {
    printf("0x%08x\n",ROR(0x12345678,4));
}
//0x81234567

------解决思路----------------------
有些低资源的单片机还是很需要汇编的。毕竟用汇编写出来的程序更小,如果程序编写的比较高效的话,更能发挥出这种单片机的性能。
------解决思路----------------------
说明这些功能用C写很费劲或根本写不出来。
------解决思路----------------------
汇编的用武之地
1. 虽然C编译器的优化已经做得很好了,但C代码还是没有汇编程序的效率高。
2. 有些平台相关的指令必须手写,在C语言中没有等价的语法。

------解决思路----------------------
反汇编,能破解!
------解决思路----------------------
如果你汇编程序做的好,你就是软件界的大哥。

能开发好的汇编程序不只是一门语言那么简单,这个人必须对计算机有深刻的了解,能做到别人做不到的事,而且学习其它高级语言就是分分钟的事。
  相关解决方案