陆续一些常用函数汇编实现

原创 2006年06月07日 16:37:00

//字符串拷贝
void strcpy(const char *src, char *dest)

{

       char ch;

       __asm

       {

         loop:
              ldrb       ch, [src], #1
              strb       ch, [dest], #1
              cmp        ch, #0
              bne         loop

       }
}

//int转字符串
void I2S(int isource, char* desstr)
{
 char ch, i=sizeof(isource)*2, temp = 0, is =0;
 if(isource==0)
 {
  *desstr = '0';
  *(desstr+1)=0;
  return;
 }
 if(isource<0)
 {
  *desstr='-';
  desstr++;
  isource=-isource;
 }
 desstr--;
 __asm
 {
 loop:
  mov ch, #'0'
  add ch, ch, isource, lsr#28
  mov isource, isource, lsl#4
  sub temp,ch, #'0'
  orr is, temp, is
  cmp is, #0
  beq loop1
  mov is, #0xFF
  strb ch, [desstr,#1]!
 loop1:
  sub i, i, #1
  cmp i, #0
  bne loop
 }
 
 *(++desstr) = 0;
}

分段函数(汇编)

第一次写汇编,两天从一脸蒙蔽到硬着头皮写程序,我做到了,写出来的时候激动得说不出话 函数:当|x|3,y=6 DATA    SEGMENT PROMRT    DB   "Input X ...
  • yinghui_yht
  • yinghui_yht
  • 2016年11月09日 21:00
  • 886

汇编语言学习系列 函数实现

以下代码示范交换a和b两个整数的函数,编译环境Ubuntu14.04(32位) 假如要实现以下C代码 #include void swap(int *xp, int *yp) { ...
  • csujiangyu
  • csujiangyu
  • 2015年03月01日 14:00
  • 661

通过汇编程序看函数调用过程中的原理

一、C++ 源代码部分 int Add(int x,int y) { int sum; sum = x+y; return sum; } int main(int argc, char *...
  • yinjingyu_bisheng
  • yinjingyu_bisheng
  • 2014年03月13日 21:38
  • 4963

32位汇编语言学习笔记(13)--函数的调用

cdecl是c语言的函数默认调用约定,这种调用约定要求函数参数的压栈顺序是从右向左。 假设函数是 int func(int arg1, int arg2, int arg3),那么参数3先压入栈,参...
  • swordmanwk
  • swordmanwk
  • 2014年11月30日 20:24
  • 1495

8051汇编语言-延迟函数

目的用代码说明延迟执行原理 实现功能:累加器每隔一小段时间,自增加一,增加有限次 ORG 0000H ;始地址 A...
  • a2824256
  • a2824256
  • 2016年12月10日 19:58
  • 916

汇编语言---函数调用栈

转自:http://bdxnote.blog.163.com/blog/static/8444235201063083331797/ 当发生函数调用的时候,栈空间中存放的数据是这样的: 1、调用者函...
  • KangRoger
  • KangRoger
  • 2014年06月06日 09:23
  • 1402

汇编语言子函数——延时函数

在汇编语言中,延时子函数用的也较多,在这里同样要编写一个子函数 CPU在执行语句的时候也是需要耗时的,只是CPU运行速度太快,我们没办法看清楚,所以如果CPU执行语句越多,所需要的时间就越多,根据这...
  • qq_23880193
  • qq_23880193
  • 2015年01月29日 17:56
  • 1968

c++下类成员函数的调用发生了啥(从汇编看)

昨天使用了下这样一段代码 class A { public: virtual void vitualFun() { cout
  • danolphoenix
  • danolphoenix
  • 2014年06月29日 17:03
  • 834

汇编语言子函数——128位的加法运算

之前的那篇博文,讲到了大数据的加法运算,这里像之前那样编写一个子函数,以后调用方便 根据上一次的公式有下面的解决办法,(功能写在代码中),如下: ;实现的是:将data中的0~15的数和16~31...
  • qq_23880193
  • qq_23880193
  • 2015年01月09日 20:48
  • 934

linux平台学x86汇编(十四):函数的使用

【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】         和高级语言一样,汇编语言在多个项目之间可能会编写相同的过程和...
  • gentleliu
  • gentleliu
  • 2015年05月10日 20:58
  • 2191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:陆续一些常用函数汇编实现
举报原因:
原因补充:

(最多只允许输入30个字)