久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4130|回復: 0
收起左側

ARM程序編寫筆記

[復制鏈接]
ID:262 發表于 2014-6-16 23:54 | 顯示全部樓層 |閱讀模式
#include"stdio.h"
#include"limits.h"
#include"time.h"
#include<stdlib.h>
#include"math.h"
#include<ctype.h>
#include"rt_misc.h"
#include<setjmp.h>
#include<cstddef>

在C語言中嵌入匯編程序,用__asm,asm前是兩個下滑杠,匯編語言在其后的大括號實體中寫出,例如:在C語言中定義一個整型f函數,自變量為整型x,則可按下列規格編寫

                      int f(int x)
                          {
                               int r0;
                                __asm
                                    {
                                         ADD r0,x,1
                                 EOR x,r0,x
                                     }
                                 return x;
                             }
函數名后加 __pure:為了通知編譯器這是一個純函數,在申明時需要將該函數定義為 __pure 。
                       int f(int x)__pure
                          {
                               int r0;
                                __asm
                                    {
                                         ADD r0,x,1
                                 EOR x,r0,x
                                     }
                                 return x;
                             }
////////////////////////////////////////////////////////////////////////////
Thumb狀態編譯C或C++時,內聯匯編程序不編譯,且自動切換到ARM狀態,如果要在Thumb狀態內編譯匯編指令到代碼中,需要將含有匯編指令的函數包含在
#pragma arm  和#pragma thumb之間。   
#pragma arm
   int add(int i,int j)
   {
     int res;
__asm
{
   ADD res,i,j
}
return res;
   }
#pragma thumb
需要注意的是,內連匯編不支持以下匯編指令
svc,
LDR Rn  ,  =expression偽指令,可用MOV Rn, expression代替
LDRT,LDRBT, STRT  ,STRBT
MUL,MLA,UMULL,SMULL,SMLAL
MOV 或MVN標志設定指令(當第二操作數為常數)
用戶模式LDM指令
ADR和ADRL偽指令
====================================
嵌入C程序中的匯編函數如果想訪問C中的常量表達式,可用__cpp關鍵字。例如
   mov   r0,#__cpp(expr)
例如  mov   r0,#__cpp(res)
         LDR  r1,=__cpp(res)
         BL  __cpp(res)

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美福利三区 | 亚洲精品综合 | 亚洲成人精品一区 | 精品欧美一区二区三区免费观看 | 精品一区二区三区在线视频 | 午夜免费福利片 | 欧美一级一区 | 亚洲精品成人av久久 | 欧美成年视频 | 在线播放一区 | 最新国产精品 | 亚洲综合在线视频 | 成人午夜免费视频 | 久久蜜桃av一区二区天堂 | 午夜精品 | 成人在线小视频 | 国产999精品久久久久久 | 亚洲啊v在线 | 欧美最猛性xxxxx亚洲精品 | 伊人婷婷| 精品一二区 | 亚洲欧美中文字幕在线观看 | 欧美视频在线一区 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 久久精品中文 | 一区二区三区中文字幕 | 成人在线小视频 | 亚洲国产精品区 | 91色视频在线观看 | 国产在线精品一区二区 | 亚洲a视频| 亚洲视频在线观看 | 精品成人佐山爱一区二区 | 欧美福利视频 | 精品一区国产 | 欧美中文字幕一区 | 国产精品女人久久久 | 午夜精品福利视频 | 在线免费观看黄网 | 91看片网 | 中文字幕av在线一二三区 |