陸續一些常用函數彙編實現

//字符串拷貝
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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章