[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • 嵌入式繫統原理及應用教程(第2版)
    該商品所屬分類:計算機/網絡 -> 操作繫統/繫統開發
    【市場價】
    248-358
    【優惠價】
    155-224
    【作者】 孟祥蓮、孫平、王嘉鵬、姜波、於劍光 
    【所屬類別】 圖書  教材  研究生/本科/專科教材  工學圖書  計算機/網絡  操作繫統/繫統開發  繫統開發 
    【出版社】清華大學出版社 
    【ISBN】9787302459392
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787302459392
    叢書名:21世紀高等學校嵌入式繫統專業規劃教材

    作者:孟祥蓮、孫平、王嘉鵬、姜波、於劍光
    出版社:清華大學出版社
    出版時間:2017年03月 


        
        
    "

    編輯推薦
    本書第1版銷售2萬餘冊。本次改版在第1版基礎上進一步豐富了實訓內容。
    本書重點介紹ARM9微處理器的結構、開發工具、Linux程序設計等,並包含嵌入式CDIO的豐富實訓。本書配有PPT課件和編程實訓的程序源代碼。 
    內容簡介
    本書全面、繫統地描述了ARM9微處理器核的嵌入式繫統體繫結構,以Samsung公司的S3C2440A控制器為例,著重介紹ARM9微處理器的結構、開發工具、Linux的程序設計及嵌入式CDIO工程實訓等內容。
    本書共分5部分: 第1部分(第1章)為理論部分,著重介紹嵌入式繫統的概念,包括嵌入式的特點、分類和應用; 第2部分(第2~6章)為基礎部分,著重介紹ARM9體繫結構、指令繫統、尋址方式、指令集,偽指令、彙編語言程序設計基礎及與C/C 的混合編程,S3C2440A 控制器的結構原理及外圍電路的設計方法等; 第3部分(第7章)為開發工具部分,著重介紹ADS 1.2集成開發環境及嵌入式Linux的軟件開發環境的使用; 第4部分(第8~11章)為操作繫統部分,著重介紹Linux的程序設計; 第5部分為第2版新增部分(第12章),增加了嵌入式CDIO工程實訓環節。
    本書采用理論與實踐相結合的方法,立足於應用,具有有針對性、實用性及綜合性強等特點。
    本書不僅適用於高等院校計算機、物聯網、電子、自動化等相關專業的本科教學,也適合於從事嵌入式繫統研究與開發的技術人員及普通讀者參考。
    目錄
    目錄


    第1章嵌入式繫統概述

    1.1嵌入式繫統定義

    1.1.1嵌入式繫統的概念

    1.1.2嵌入式繫統的特點

    1.2嵌入式繫統的組成

    1.2.1嵌入式繫統硬件

    目錄


     


     


    第1章嵌入式繫統概述


     


    1.1嵌入式繫統定義


     


    1.1.1嵌入式繫統的概念


     


    1.1.2嵌入式繫統的特點


     


    1.2嵌入式繫統的組成


     


    1.2.1嵌入式繫統硬件


     


    1.2.2嵌入式繫統軟件


     


    1.2.3嵌入式繫統的開發繫統和開發工具


     


    1.3嵌入式繫統的應用


     


    1.4本章小結


     


    1.5習題1


     


    第2章ARM微處理器概述與編程模型


     


    2.1ARM微處理器概述


     


    2.1.1ARM微處理器的特點


     


    2.1.2ARM微處理器繫列


     


    2.2ARM微處理器結構


     


    2.2.1RISC體繫結構


     


    2.2.2ARM微處理器的寄存器結構


     


    2.2.3ARM微處理器的指令結構


     


    2.3ARM微處理器的工作狀態


     


    2.4ARM體繫結構的存儲器格式


     


    2.4.1指令長度及數據類型


     


    2.4.2存儲


     


     


    2.5處理器模式


     


    2.6寄存器組織


     


    2.6.1ARM狀態下的寄存器組織


     


    2.6.2Thumb狀態下的寄存器組織


     


    2.6.3程序狀態寄存器


     


     


    2.7異常


     


    2.7.1ARM體繫結構所支持的異常類型


     


    2.7.2異常優先級


     


    2.7.3異常的響應及返回


     


    2.7.4應用程序中的異常處理


     


     


    2.8本章小結


     


    2.9習題2


     


    第3章ARM9指令繫統


     


    3.1ARM處理器的尋址方式


     


    3.1.1寄存器尋址


     


    3.1.2立即尋址


     


    3.1.3寄存器間接尋址


     


    3.1.4變址尋址


     


    3.1.5寄存器移位尋址


     


    3.1.6多寄存器尋址


     


    3.1.7堆棧尋址


     


    3.1.8相對尋址


     


     


    3.2ARM指令集


     


    3.2.1指令格式


     


    3.2.2條件碼


     


    3.2.3ARM 存儲器訪問指令


     


    3.2.4ARM 數據處理類指令


     


    3.2.5ARM 分支指令


     


    3.2.6ARM 協處理器指令


     


    3.2.7ARM 軟件中斷指令


     


     


    3.3Thumb指令集


     


    3.4本章小結


     


    3.5習題3


     


    第4章嵌入式程序設計基礎


     


    4.1偽指令


     


    4.1.1通用偽指令


     


    4.1.2與ARM指令相關的偽指令


     


    4.1.3與Thumb指令相關的偽指令


     


     


    4.2彙編語言的語句格式


     


    4.2.1書寫格式


     


    4.2.2彙編語言中表達式和運算符


     


     


    4.3彙編程序應用


     


    4.3.1彙編程序基本結構


     


    4.3.2子程序調用


     


     


    4.4彙編語言與C/C 的混合編程


     


    4.4.1在C/C 程序中內嵌彙編指令的語法格式


     


    4.4.2C/C 與彙編語言的混合編程應用


     


     


    4.5本章小結


     


    4.6習題4


     


    第5章嵌入式內部可編程模塊


     


    5.1存儲控制模塊


     


    5.1.1存儲器控制器


     


    5.1.2NAND Flash控制器


     


    5.1.3存儲器實例


     


     


    5.2GPIO


     


    5.2.1端口功能


     


    5.2.2端口配置寄存器


     


    5.2.3端口其他寄存器


     


    5.2.4I/O應用實例


     


     


    5.3中斷繫統


     


    5.3.1中斷優先級


     


    5.3.2中斷控制寄存器


     


    5.3.3中斷編程實例


     


    5.4定時部件


     


    5.4.1看門狗定時器原理及實例


     


    5.4.2RTC部件


     


    5.4.3Timer部件


     


    5.4.4定時部件應用實例


     


     


    5.5UART


     


    5.5.1UART的操作


     


    5.5.2UART接口寄存器


     


    5.5.3UART實例


     


     


    5.6ADC及觸摸屏接口


     


    5.6.1功能描述


     


    5.6.2ADC及觸摸屏接口特殊寄存器


     


    5.6.3A/D轉換實例


     


     


    5.7本章小結


     


    5.8習題5


     


    第6章嵌入式接口技術應用


     


    6.1LCD顯示器接口


     


    6.1.1LCD的控制器


     


    6.1.2S3C2440A芯片的LCD專用寄存器


     


    6.1.3S3C2440A芯片LCD寄存器的設置


     


     


    6.2I2C總線


     


    6.2.1S3C2440A的I2C接口


     


    6.2.2I2C總線接口特殊寄存器


     


    6.2.3I2C編程舉例


     


     


    6.3I2S總線


     


    6.3.1發送接收模式


     


    6.3.2音頻串行接口格式


     


    6.3.3I2S總線接口特殊寄存器


     


    6.3.4I2S編程實例


     


     


    6.4AC97控制器


     


    6.4.1AC97控制器操作


     


    6.4.2AC97控制器特殊寄存器


     


    6.4.3AC97應用實例


     


     


    6.5本章小結


     


    6.6習題6


     


    第7章軟件開發環境


     


    7.1ADS1.2集成開發環境


     


    7.1.1使用ADS創建工程


     


    7.1.2用AXD進行代碼調試


     


     


    7.2嵌入式Linux的交叉編譯環境安裝


     


    7.3本章小結


     


    7.4習題7


     


    第8章嵌入式繫統Boot Loader技術


     


    8.1Boot Loader的基本概念


     


    8.1.1Boot Loader的相關設備和機制


     


    8.1.2Boot Loader的啟動過程


     


    8.1.3Boot Loader的操作模式


     


    8.1.4Boot Loader的總體設計


     


     


    8.2Boot Loader(vivi)的代碼分析


     


    8.3本章小結


     


    8.4習題8


     


    第9章嵌入式Linux操作繫統移植


     


    9.1嵌入式Linux基本概念


     


    9.2嵌入式Linux內核移植


     


    9.2.1內核修改


     


    9.2.2內核配置


     


    9.2.3內核編譯


     


     


    9.3建立Linux根文件繫統


     


    9.4下載目標文件


     


    9.5本章小結


     


    9.6習題 9


     


    第10章嵌入式Linux設備驅動程序開發


     


    10.1嵌入式Linux驅動程序開發基礎


     


    10.1.1嵌入式Linux設備驅動程序分類


     


    10.1.2簡單的內核模塊


     


     


    10.2嵌入式Linux設備驅動重要技術


     


    10.2.1內存與I/O端口


     


    10.2.2同步機制


     


    10.2.3阻塞與非阻塞


     


    10.2.4時間問題


     


    10.2.5中斷處理


     


     


    10.3字符設備驅動程序


     


    10.3.1字符設備驅動結構


     


    10.3.2字符設備驅動實例——LED驅動


     


     


    10.4網絡設備驅動程序


     


    10.4.1Linux 網絡設備簡介


     


    10.4.2網絡驅動核心數據結構


     


    10.4.3網絡驅動程序分析


     


     


    10.5設備驅動實例


     


    10.5.1ADC設備驅動實例


     


    10.5.2PWM設備驅動實例


     


    10.5.3觸摸屏設備驅動實例


     


     


    10.6本章小結


     


    10.7習題10


     


    第11章嵌入式Linux應用程序設計


     


    11.1嵌入式Linux C語言應用程序開發基礎


     


    11.1.1編寫源程序


     


    11.1.2交叉編譯程序


     


    11.1.3調試程序


     


     


    11.2文件I/O編程


     


    11.2.1文件I/O操作例程


     


    11.2.2文件I/O操作API


     


     


    11.3網絡編程


     


    11.3.1網絡通信基礎及例程


     


    11.3.2網絡通信API


     


     


    11.4應用實例


     


    11.4.1ADC應用實例


     


    11.4.2PWM蜂鳴器控制應用實例


     


    11.4.3觸摸屏應用實例


     


     


    11.5本章小結


     


    11.6習題11


     


    第12章嵌入式CDIO實訓項目


     


    實訓1ARM彙編基礎訓練1


     


    實訓2ARM彙編基礎訓練2


     


    實訓3GPIO輸入輸出實訓


     


    實訓4GPIO定時器中斷應用實訓


     


    實訓5直流電機應用實訓


     


    實訓6溫度采集應用實訓


     


    實訓7紅外通信應用實訓


     


    實訓8CAN總線應用實訓


     


    參考文獻

    前言
    前言


    第1版前言前言

    “嵌入式無處不在”已成為現實。嵌入式繫統應用的領域日益廣闊,與網絡通信、數字家庭、工業控制、國防軍事、醫療繫統、安防繫統、能源繫統、交通繫統等行業的融合逐步加深,智能設備終端應用市場的快速發展對嵌入式繫統提出了持續需求,使得嵌入式繫統產業在前所未有的機遇下飛速發展。因此,繫統開設嵌入式繫列課程是非常必要的,這樣就需要合適的配套教材。鋻於這種情況,筆者參考了大量國內外教材,結合應用型本科院校的特點,在原有第1版教材的基礎上進行更新和修訂,從而有了更具實踐性和應用性的《嵌入式繫統原理及應用教程(第2版)》。本書著眼於“應用”,立足於“工程開發”,強調“工程訓練”,具有以下特點。1. 綜合性嵌入式繫統是嵌入式硬件和嵌入式軟件的綜合體,硬件的設計服務於軟件功能,軟件的開發也必須考慮硬件資源的有限性。根據嵌入式繫統的這一特點,本書采用“ARM9微處理器 Linux操作平臺 應用程序設計 CDIO工程實訓”的教學體繫。2. 基礎性本書詳細講解了ARM9體繫結構和編程方法,尤其是舉例講解了指令繫統中的指令集及彙編語言與C/C 混合編程的方法,以便讀者掌握好底層嵌入式開發的技能。3. 實用性本書以S3C2440A芯片和Linux操作繫統為例,舉例介紹了開發環境的使用與調試方法,詳細介紹了嵌入式軟件的編程技術。例如介紹了AC97音頻控制器設計實例。4. 針對性本書是筆者多年嵌入式教學的總結。主要是針對應用型本科學生實踐性的特點,在介紹ARM9微處理器原理及結構的同時,注重各功能模塊的應用介紹。5. 工程性本書在第1版教材的基礎上,結合CDIO教學模式,增加了嵌入式CDIO實訓項目,以提高學生的實踐能力,增強學生的工程意識。本書繫統介紹嵌入式繫統軟硬件的組成、工作原理和設計方法。全書分為5部分,共12章,主要內容和篇章結構安排如下。第1部分為理論部分,由第1章組成。介紹嵌入式繫統的基本概念,包括嵌入式繫統的定義、組成、特點、分類和應用領域。第2部分為基礎部分,由第2~6章組成。第2章重點講解ARM9處理器的體繫結構; 第3章詳細講解基於ARM的嵌入式處理器指令繫統; 第4章講解嵌入式繫統的程序設計基礎,包括彙編語言程序設計及與C/C 語言的混合編程技術; 第5、6章詳細講解S3C2440A芯片內部結構、外設及工作原理和應用方法,並輔以實例講解。第3部分為開發工具部分,由第7章組成,著重講解ADS1.2集成開發環境及嵌入式Linux的軟件開發環境的使用。第4部分為操作繫統部分,由第8~11章組成。第8章詳細分析嵌入式繫統的Boot Loader,第9~11章以實例的方式講解基於“S3C2440A芯片 Linux操作平臺”的設計方法。第5部分為CDIO工程實訓,由第12章組成,詳細講解了8個實訓實例,學生還可以進行擴展訓練。本書由孟祥蓮任主編,孫平、王嘉鵬、姜波、於劍光任副主編。由於嵌入式技術發展迅速,加上筆者水平有限,時間倉促,書中難免有疏漏和錯誤之處,請讀者不吝賜教,以便我們在再版的時候及時糾正補充。本書的配套課件、代碼等可以從清華大學出版社網站www.tup.com.cn下載,如在本書使用或課件下載中遇到問題,請聯繫fuhy@tup.tsinghua.edu.cn。編者2017年1月




    第1版前言
    “嵌入式無處不在”已成為現實。嵌入式繫統應用的領域日益廣闊,與網絡通信、數字家庭、工業控制、國防軍事、醫療繫統、安防繫統、能源繫統、交通繫統等行業融合正在加深,智能設備終端應用市場的快速發展對嵌入式繫統提出了持續需求,使得嵌入式繫統產業在前所未有的機遇下快速地發展。因此,繫統地開設嵌入式繫列課程是必要的,這樣就需要合適的配套教材,鋻於這種情況,作者參考了大量國內外教材,結合應用型本科院校的特點,編寫了《嵌入式繫統原理及應用教程》一書。全書著眼於“應用”、立足於“工程開發”,具有以下特點。1. 綜合性嵌入式繫統是嵌入式硬件和嵌入式軟件的綜合體,硬件的設計服務於軟件功能,軟件的開發也必須考慮硬件資源的有限性。根據嵌入式繫統的這一特點,本書采用“ARM9處理器 Linux操作平臺 應用程序設計”的介紹方法。2. 基礎性本書詳細地講解了ARM9處理器的體繫結構和編程方法,尤其是舉例講解了指令繫統中的指令集及彙編語言與C/C 混合編程的方法,以便讀者掌握好底層嵌入式開發的技能。3. 實用性本書以S3C2440A芯片和Linux操作繫統為例,舉例介紹了開發環境的使用與調試方法,詳細介紹了嵌入式軟件的編程技術。例如介紹AC97音頻控制器和觸摸屏的設計實例。4. 針對性本書是編者幾年嵌入式教學的總結。主要是針對應用型本科學生實踐性強的特點,在介紹ARM9處理器的原理及結構的同時,注重了各功能模塊的應用介紹。本書繫統地介紹了嵌入式繫統軟硬件的組成、工作原理和設計方法。全書分為4部分,共11章,主要內容和篇章結構安排如下。第1部分為理論部分,由第1章組成。介紹嵌入式繫統的基本概念,包括嵌入式繫統的定義、組成、特點、分類和應用領域。第2部分為基本部分,由第2~6章組成。第2章重點講解ARM9處理器的體繫結構; 第3章詳細講解基於ARM的嵌入式處理器指令繫統; 第4章講解其嵌入式繫統的程序設計基礎,包括彙編語言程序設計及與C/C 語言的混合編程技術; 第5~6章詳細講解S3C2440A芯片內部結構、內部外設及工作原理和應用方法,並輔以實例講解。第3部分為開發工具部分,由第7章組成。著重講解ADS1.2集成開發環境及嵌入式Linux的軟件開發環境的使用。第4部分為操作繫統部分,由第8~11章組成。第8章詳細分析嵌入式繫統的Boot Loader; 第9~11章以實例的方式講解基於“S3C2440A芯片 Linux操作平臺”的設計方法。全書由孟祥蓮主編並編寫第3~6章,高洪志編寫第1~2章,孫平編寫第7~8章,朱國晗編寫第9~11章。由於嵌入式技術發展迅速,加上作者水平有限,時間倉促,書中難免有疏漏和錯誤之處,無論如何,請讀者不吝賜教,以便我們在改版或再版的時候及時糾正補充。
    作者2010年8月
    媒體評論
    評論
    在線試讀
    第3章ARM9指令繫統本章介紹ARM處理器的尋址方式、ARM指令集和Thumb指令集。通過對本章的閱讀,希望讀者能了解ARM微處理器所支持的指令集及具體的使用方法。3.1ARM處理器的尋址方式所謂尋址方式就是處理器根據指令中給出的地址信息來尋找物理地址的方式。目前ARM指令繫統支持如下幾種常見的尋址方式。3.1.1寄存器尋址寄存器尋址就是利用寄存器中的內容作為操作數,寄存器本身就是操作數地址。這種尋址方式是各類微處理器經常采用的一種方式,也是一種執行效率較高的尋址方式。例如以下指令:
    MOV R2,R3; R2←R3R3中的內容賦給R2
    ADDR2,R3,R4; R2←R3+R4R3和R4中的內容相加,結果賦給R2
    3.1.2立即尋址立即尋址也叫立即數尋址,這是一種特殊的尋址方式,操作數沒有存儲在寄存器或存儲器中,而是包含在指令的操作碼中,隻要取出指令也就取到了操作數。這個操作數被稱為立即數,對應的尋址方式也就叫做立即尋址。例如以下指令:
    ADDR1,R1,#1234; R1←R1+1234
    ADDR1,R1,#0x7f; R1←R1+0x7f
    在以上兩條指令中,第二個源操作數即為立即數,要求以“#”為前綴,對於以十六進制表示的立即數,還要求在“#”後加上“0x”。3.1.3寄存器間接尋址寄存器間接尋址就是以寄存器中的內容作為操作數的地址,而操作數本身存放在存儲器中。例如以下指令:
    LDRR1,[R2]; R1←[R2]
    STRR1,[R2]; [R2]←R1
    條指令以R2中的內容為地址,將該地址中的數據傳送到R1中。第二條指令將R1中的內容傳送到以R2中的內容為地址的存儲器中。3.1.4變址尋址變址尋址就是將寄存器(該寄存器一般稱為基址寄存器)的內容與指令中給出的地址偏移量相加,從而得到一個操作數的有效地址。變址尋址方式常用於訪問某基地址附近的。采用變址尋址方式的指令有以下幾種常見形式,如下所示。
    LDR R0,[R1,#8]; R0←[R1+8]
    LDR R0,[R1,#8]!; R0←[R1+8],R1←R1+8
    LDR R0,[R1],#2; R0←[R1],R1←R1+2第3章ARM9指令繫統本章介紹ARM處理器的尋址方式、ARM指令集和Thumb指令集。通過對本章的閱讀,希望讀者能了解ARM微處理器所支持的指令集及具體的使用方法。3.1ARM處理器的尋址方式所謂尋址方式就是處理器根據指令中給出的地址信息來尋找物理地址的方式。目前ARM指令繫統支持如下幾種常見的尋址方式。3.1.1寄存器尋址寄存器尋址就是利用寄存器中的內容作為操作數,寄存器本身就是操作數地址。這種尋址方式是各類微處理器經常采用的一種方式,也是一種執行效率較高的尋址方式。例如以下指令: 
    MOV R2,R3; R2←R3R3中的內容賦給R2
    ADDR2,R3,R4; R2←R3+R4R3和R4中的內容相加,結果賦給R2
    3.1.2立即尋址立即尋址也叫立即數尋址,這是一種特殊的尋址方式,操作數沒有存儲在寄存器或存儲器中,而是包含在指令的操作碼中,隻要取出指令也就取到了操作數。這個操作數被稱為立即數,對應的尋址方式也就叫做立即尋址。例如以下指令: 
    ADDR1,R1,#1234; R1←R1+1234
    ADDR1,R1,#0x7f; R1←R1+0x7f
    在以上兩條指令中,第二個源操作數即為立即數,要求以“#”為前綴,對於以十六進制表示的立即數,還要求在“#”後加上“0x”。3.1.3寄存器間接尋址寄存器間接尋址就是以寄存器中的內容作為操作數的地址,而操作數本身存放在存儲器中。例如以下指令: 
    LDRR1,[R2]; R1←[R2]
    STRR1,[R2]; [R2]←R1
    條指令以R2中的內容為地址,將該地址中的數據傳送到R1中。第二條指令將R1中的內容傳送到以R2中的內容為地址的存儲器中。3.1.4變址尋址變址尋址就是將寄存器(該寄存器一般稱為基址寄存器)的內容與指令中給出的地址偏移量相加,從而得到一個操作數的有效地址。變址尋址方式常用於訪問某基地址附近的。采用變址尋址方式的指令有以下幾種常見形式,如下所示。
    LDR R0,[R1,#8]; R0←[R1+8]
    LDR R0,[R1,#8]!; R0←[R1+8],R1←R1+8
    LDR R0,[R1],#2; R0←[R1],R1←R1+2
    LDR R0,[R1,R2]; R0←[R1+R2]
    在條指令中,將寄存器R1的內容加上8形成操作數的有效地址,從而取得操作數存入寄存器R0中。在第二條指令中,將寄存器R1的內容加上8形成操作數的有效地址,從而取得操作數存入寄存器R0中,然後,R1的內容自增8個字節。在第三條指令中,以寄存器R1的內容作為操作數的有效地址,從而取得操作數存入寄存器R0中,然後,R1的內容自增8個字節。在第四條指令中,將寄存器R1的內容加上寄存器R2的內容形成操作數的有效地址,從而取得操作數存入寄存器R0中。3.1.5寄存器移位尋址寄存器移位尋址是ARM指令集獨有的尋址方式,操作數由寄存器的數值進行相應移位而得到; 移位的方式在指令中以助記符的形式給出,而移位的位數可用立即數或寄存器尋址方式表示。ARM微處理器內嵌的桶型移位器(barrel shifter),移位操作在ARM指令集中不作為單獨的指令使用,它隻能作為指令格式中的一個字段,在彙編語言中表示為指令中的選項。例如,數據處理指令的第2個操作數為寄存器時,就可以加入移位操作選項對它進行各種移位操作。移位操作包括如下6種類型,ASL和LSL是等價的,可以自由互換。1. LSL(或ASL)操作LSL(或ASL)操作的格式為: 
    通用寄存器,LSL(或ASL) 操作數      
    LSL(或ASL)可完成對通用寄存器中的內容進行邏輯(或算術)的左移操作,按操作數所指定的數量向左移位,低位用零來填充,後一個左移出的位放在狀態寄存器的C位CPSR[29]中,如圖31所示。其中,操作數可以是通用寄存器,也可以是立即數(0~31)。

    圖31邏輯(或算術)左移

    操作示例: 
    MOVR0, R1, LSL#4; 將R1中的內容左移4位後傳送到R0中
    ; 其中把後移出的位賦給程序狀態寄存器的C位CPSR[29]
    2. LSR操作LSR操作的格式為: 
    通用寄存器,LSR 操作數      
    LSR可完成對通用寄存器中的內容進行右移的操作,按操作數所指定的數量向右移位,左端用零來填充,後一個右移出的位放在狀態寄存器的C位CPSR[29]中,如圖32所示。其中,操作數可以是通用寄存器,也可以是立即數(0~31)。

    圖32邏輯(或算術)右移

    操作示例: 
    MOVR0, R1, LSR#4; 將R1中的內容右移4位後傳送到R0中
    ; 其中把後移出的位賦給程序狀態寄存器的C位CPSR[29]
    3. ROR操作ROR操作的格式為: 
    通用寄存器,ROR 操作數      
    ROR可完成對通用寄存器中的內容進行循環右移的操作,按操作數所指定的數量向右循環移位,右端移出的位填充在左側的空位處,後一個右移出的位同時也放在狀態寄存器的C位CPSR[29]中,如圖33所示。其中,操作數可以是通用寄存器,也可以是立即數(0~31)。

    圖33循環右移

    操作示例: 
    MOVR0, R1, ROR#4; 將R1中的內容循環右移4位後傳送到R0中
    ; 其中把後移出的位賦給程序狀態寄存器的C位CPSR[29]
    4. ASR操作ASR操作的格式為: 
    通用寄存器,ASR 操作數      
    ASR可完成對通用寄存器中的內容進行右移的操作,按操作數所指定的數量向右移位,左端的位保持不變,後一個右移出的位放在狀態寄存器的C位CPSR[29]中,如圖34所示。其中,操作數可以是通用寄存器,也可以是立即數(0~31)。

    圖34算術右移

    這種移位對有符號數據使用時可以保持符號位不變。操作示例: 
    MOVR0, R1, ASR#4; 將R1中的內容右移4位後傳送到R0中,符號位保持不變
    ; 後移出的位同時也送入狀態位C中
    5. RRX操作RRX操作的格式為: 
    通用寄存器,RRX       
    RRX可完成對通用寄存器中的內容進行帶擴展的循環右移的操作,按操作數所指定的數量向右循環移位,左側空位由狀態寄存器C位來填充,右側移出的位移進狀態位C中,如圖35所示。其中,操作數可以是通用寄存器,也可以是立即數(0~31)。

    圖35擴展的循環右移

    操作示例: 
    MOVR0, R1, RRX; 將R1中的內容進行帶擴展的循環右移1位後傳送到R0中
    3.1.6多寄存器尋址采用多寄存器尋址方式,一條指令可以完成多個寄存器值的傳送。這種尋址方式可以一次對多個寄存器尋址,多個寄存器由小到大排列,多可傳送16個寄存器。例如: 
    LDMIA R1,{R2R4,R5}; R2←[R1]
    ; R3←[R1+4]
    ; R4←[R1+8]
    ; R5←[R1+12]
    該指令的後綴IA表示在每次執行完加載/存儲操作後,R1按字長度增加,因此,指令可將連續的值傳送到R2~R5。3.1.7堆棧尋址堆棧是一種數據結構,按先進後出(first in last out,FILO)的方式工作,使用一個稱做堆棧指針的專用寄存器指示當前的操作位置,堆棧指針總是指向棧頂。當堆棧指針指向後壓入堆棧的數據時,稱為滿堆棧(full stack),而當堆棧指針指向下一個將要放入數據的空位置時,稱為空堆棧(empty stack)。同時,根據堆棧的生成方式,又可以分為遞增堆棧(ascending  stack)和遞減堆棧(decending stack)。當堆棧由低地址向高地址生成時,稱為遞增堆棧,當堆棧由高地址向低地址生成時,稱為遞減堆棧。這樣就有4種類型的堆棧工作方式,ARM微處理器支持這4種類型的堆棧工作方式,即:  滿遞增方式(full ascending,FA),堆棧指針指向後入棧的數據位置,且由低地址向高地址生成。 滿遞減方式(full decending,FD),堆棧指針指向後入棧的數據位置,且由高地址向低地址生成。 空遞增方式(empty ascending,EA),堆棧指針指向下一個入棧數據的空位置,且由低地址向高地址生成。 空遞減方式(empty decending,ED),堆棧指針指向下一個入棧數據的空位置,且由高地址向低地址生成。3.1.8相對尋址與基址變址尋址方式相類似,相對尋址以程序計數器PC的當前值為基地址,指令中的地址標號作為偏移量,將兩者相加之後得到操作數的有效地址。以下程序段完成子程序的調用和返回,跳轉指令BL采用了相對尋址方式。
    BLNEXT; 跳轉到子程序NEXT處執行

    NEXT

    MOVPC,LR; 從子程序返回
    3.2ARM指令集ARM微處理器的指令集是加載/存儲型的,即指令集僅能處理寄存器中的數據,處理結果仍要放回寄存器中,而對繫統存儲器的訪問則需要通過專門的加載/存儲指令來完成。3.2.1指令格式為了方便編寫程序,ARM指令在彙編程序中用助記符表示。一般ARM指令的助記符格式如下: 
    {}{s}  ,,
    其中各項介紹如下。: 操作碼,如ADD 表示算術加操作指令。{}: 決定指令執行的條件碼。{s}: 決定指令執行是否影響CPSR寄存器的值。: 目的寄存器。: 個操作數,為寄存器。: 第二個操作數。注意: opcode、cond與s之間沒有分隔符,s與Rd之間用空格隔開。3.2.2條件碼當處理器工作在ARM狀態時,幾乎所有的指令均根據CPSR中條件碼的狀態和指令的條件域有條件地執行。當指令的執行條件滿足時,指令被執行,否則指令被忽略。每一條ARM指令包含4位的條件碼,位於指令的4位[31:28]。條件碼共有16種,每種條件碼可用兩個字符表示,這兩個字符可以添加在指令助記符的後面和指令同時使用。例如,跳轉指令B可以加上後綴EQ變為BEQ表示“相等則跳轉”,即當CPSR中的Z標志置位時發生跳轉。在16種條件標志碼中,隻有15種可以使用,如表31所示,第16種(1111)為繫統保留,暫時不能使用。

    表31指令的條件碼


    條件碼助記符後綴標志含義

    0000EQZ置位相等0001NEZ清零不相等0010CSC置位無符號數大於或等於0011CCC清零無符號數小於0100MIN置位負數0101PLN清零正數或零0110VSV置位溢出0111VCV清零未溢出1000HIC置位Z清零無符號數大於1001LSC清零Z置位無符號數小於或等於1010GEN等於V帶符號數大於或等於1011LTN不等於V帶符號數小於1100GTZ清零且(N等於V)帶符號數大於1101LEZ置位或(N不等於V)帶符號數小於或等於1110AL忽略無條件執行
    3.2.3ARM 存儲器訪問指令ARM微處理器內部沒有RAM,而ARM除了寄存器(即R0~R15)外沒有別的; 在以ARM為核的嵌入式繫統中,所有的外圍模塊都和一樣,是ARM微處理器的不同的。不管這些模塊的功能如何(如輸入輸出、定時器、存儲器等),也不管這些模塊的位置如何(如片內或片外),ARM微處理器都把它們看作是外部存儲器。其操作過程和對存儲器的操作是相同的。因此,在ARM微處理器的數據傳送中,數據的源和數據的目標隻有兩種: 一種是ARM的寄存器R0~R15; 另一種就是外部存儲器(它們可能是外圍模塊的寄存器、外部數據存儲器或可訪問的程序存儲器等)。因此,把數據從存儲器到寄存器的傳送叫加載,數據從寄存器到存儲器的傳送叫存儲。具體的傳送方式如圖36所示。

    圖36ARM微處理器的數據傳送方式

    加載/存儲指令可分為: 單一數據加載/存儲指令、批量數據加載/存儲指令以及數據交換指令3類。常用的加載/存儲指令如下所示。1. 單一數據加載/存儲指令(1) LDR指令LDR指令的格式為: 
    LDR{條件} 目的寄存器,<存儲器地址>
    LDR指令是字加載指令,用於從存儲器中將一個32位的字數據傳送到目的寄存器中。該指令通常用於從存儲器中讀取32位的字數據到通用寄存器,然後對數據進行處理。當程序計數器PC作為目的寄存器時,指令從存儲器中讀取的字數據被當作目的地址,從而可以實現程序流程的跳轉。指令示例: 
    LDRR3,[R4]; 將存儲器地址為R4的字數據讀入寄存器R3
    LDRR3,[R1,R2]; 將存儲器地址為R1 R2的字數據讀入寄存器R3
    LDRR3,[R1,#8]; 將存儲器地址為R1 8的字數據讀入寄存器R3
    LDRR3,[R1,R2]!; 將存儲器地址為R1 R2的字數據讀入寄存器R3,並將新地址; R1+R2寫入R1

    LDRR3,[R1,#8] !; 將存儲器地址為R1 8的字數據讀入寄存器R3,並將新地址; R1+8寫入R1

    LDRR3,[R1],R2; 將存儲器地址為R1的字數據讀入寄存器R3,並將新地址R1+R2; 寫入R1

    LDRR3,[R1,R2,LSL#3]!; 將存儲器地址為R1+R2×8的字數據讀入寄存器R3,並將新地; 址R1+R2×8寫入R1

    LDRR3,[R1],R2,LSL#3; 將存儲器地址為R1的字數據讀入寄存器R3,並將新地址R1+; R2×8寫入R1

    注: R15不可以作為偏移寄存器使用。(2) LDRB指令LDRB指令的格式為: 
    LDR{條件}B 目的寄存器,<存儲器地址>
    LDRB指令是字節加載指令,用於從存儲器中將一個8位的字節數據傳送到目的寄存器中,同時將寄存器的高24位清零。該指令通常用於從存儲器中讀取8位的字節數據到通用寄存器,然後對數據進行處理。當程序計數器PC作為目的寄存器時,指令從存儲器中讀取的字數據被當作目的地址,從而可以實現程序流程的跳轉。指令示例: 
    LDRBR3,[R1]; 將存儲器地址為R1的字節數據讀入寄存器R3,並將R3的高24位清零

    LDRBR3,[R1,#8]; 將存儲器地址為R1+8的字節數據讀入寄存器R3,並將R3的高24位清零

    (3) LDRH指令LDRH指令的格式為: 
    LDR{條件}H 目的寄存器,<存儲器地址>
    LDRH指令是無符號半字加載指令,用於從存儲器中將一個16位的半字數據傳送到目的寄存器中,同時將寄存器的高16位清零。該指令通常用於從存儲器中讀取16位的半字數據到通用寄存器,然後對數據進行處理。當程序計數器PC作為目的寄存器時,指令從存儲器中讀取的字數據被當作目的地址,從而可以實現程序流程的跳轉。指令示例: 
    LDRHR3,[R1]; 將存儲器地址為R1的半字數據讀入寄存器R3,並將R3的高16位清零

    LDRHR3,[R1,#8]; 將存儲器地址為R1+8的半字數據讀入寄存器R3,並將R3的高16位清零

    LDRHR3,[R1,R2]; 將存儲器地址為R1+R2的半字數據讀入寄存器R3,並將R3的高16位清零

    (4) STR指令STR指令的格式為: 
    STR{條件} 源寄存器,<存儲器地址>
    STR指令是字存儲指令,用於從源寄存器中將一個32位的字數據傳送到存儲器中。該指令在程序設計中比較常用,且尋址方式靈活多樣,使用方式可參考指令LDR。指令示例: 
    STRR3,[R1],#8; 將R3中的字數據寫入以R1為地址的存儲器中,並將新地址R1+8寫入R1

    STRR3,[R1,#8]; 將R3中的字數據寫入以R1+8為地址的存儲器中
    (5) STRB指令STRB指令的格式為: 
    STR{條件}B 源寄存器,<存儲器地址>
    STRB指令是無符號字節存儲指令,用於從源寄存器中將一個8位的字節數據傳送到存儲器中。該字節數據為源寄存器中的低8位。指令示例: 
    STRBR3,[R1]; 將寄存器R3中的字節數據寫入以R1為地址的存儲器中
    STRBR3,[R1,#8]; 將寄存器R3中的字節數據寫入以R1+8為地址的存儲器中
    (6) STRH指令STRH指令的格式為: 
    STR{條件}H 源寄存器,<存儲器地址>
    STRH指令是無符號半字存儲指令,用於從源寄存器中將一個16位的半字數據傳送到存儲器中。該半字數據為源寄存器中的低16位。指令示例: 
    STRHR3,[R1]; 將寄存器R3中的半字數據寫入以R1為地址的存儲器中
    STRHR3,[R1,#8]; 將寄存器R3中的半字數據寫入以R1+8為地址的存儲器中
    2. 批量數據加載/存儲指令ARM微處理器所支持的批量數據加載/存儲指令可以一次在一片連續的存和多個寄存器之間傳送數據,批量加載指令用於將一片連續的存儲器中的數據傳送到多個寄存器,批量數據存儲指令則完成相反的操作。常用的加載存儲指令如下。
    LDM(或STM)指令
    LDM(或STM)指令的格式為: 
    LDM(或STM){條件}{類型} 基址寄存器{!},寄存器列表{∧}
    LDM(或STM)指令用於在由基址寄存器所指示的一片連續存儲器和寄存器列表所指示的多個寄存器之間傳送數據,該指令的常見用途是將多個寄存器的內容入棧或出棧。其中,{類型}為以下幾種情況。IA每次傳送後地址加1,遞增方式。 IB每次傳送前地址加1,遞增方式。 DA每次傳送後地址減1,遞減方式。 DB每次傳送前地址減1,遞減方式。 FD滿遞減堆棧。 ED空遞減堆棧。 FA滿遞增堆棧。 EA空遞增堆棧。 {!}為可選後綴,若選用該後綴,則當數據傳送完畢之後,將後的地址寫入基址寄存器,否則基址寄存器的內容不改變。基址寄存器不允許為R15。寄存器列表可以為R0~R15的任意組合,若使用連續的寄存器時,可以使用“”表示省略。{∧}為可選後綴,這是一個隻是在數據塊傳送中使用的後綴,當指令為LDM且寄存器列表中包含R15,選用該後綴時表示: 除了正常的數據傳送之外,還將SPSR復制到CPSR。同時,該後綴還表示傳入或傳出的是用戶模式下的寄存器,而不是當前模式下的寄存器。指令示例: 
    STMFDR13!,{R0,R4R12,LR}; 將寄存器列表中的寄存器(R0,R4~R12,LR)存入堆棧
    LDMFDR13!,{R0,R4R12,PC}; 將堆棧內容恢復到寄存器(R0,R4~R12,LR)
    在通用存儲區,數據存儲的方式和堆棧區相近。R1、R2和R3三個寄存器的4種後綴指令執行前後的存儲情況如圖37所示。

    圖37數據存儲示意圖

    3. 交換指令(1) SWP指令SWP指令的格式為: 
    SWP{條件} 目的寄存器,源寄存器1,[源寄存器2]
    SWP指令是數據字交換指令,用於將源寄存器2所指向的存儲器中的字數據傳送到目的寄存器中,同時將源寄存器1中的字數據傳送到源寄存器2所指向的存儲器中。顯然,當源寄存器1和目的寄存器為同一個寄存器時,指令交換該寄存器和存儲器的內容。指令示例: 
    SWPR1,R2,[R3]; 將R3所指向的存儲器中的字數據傳送到R1,同時將R2中的字數據傳; 送到R3所指向的
    SWPEQR1,R1,[R2]; Z=1時,完成將R2所指向的存儲器中的字數據與R1中的字數據交換
    (2) SWPB指令SWPB指令的格式為: 
    SWP{條件}B 目的寄存器,源寄存器1,[源寄存器2]
    SWPB指令是字節交換指令,用於將源寄存器2所指向的存儲器中的字節數據傳送到目的寄存器中,目的寄存器的高24位清零,同時將源寄存器1中的字節數據傳送到源寄存器2所指向的存儲器中。顯然,當源寄存器1和目的寄存器為同一個寄存器時,指令交換該寄存器和存儲器的內容。指令示例: 
    SWPBR1,R2,[R3]; 將R3所指向的存儲器中的字節數據傳送到R1,R1的高24位; 清零,同時將R2中的低8位數據傳送到R3所指向的
    SWPBR1,R1,[R2]; 將R2所指向的存儲器中的字節數據與R1中的低8位數據交換
    3.2.4ARM 數據處理類指令數據處理指令隻能對寄存器的內容進行操作,不允許對存儲器中的數據進行操作,也不允許指令直接使用存儲器的數據或在寄存器與存儲器之間傳送數據。數據處理指令可分為三大類: 數據傳送指令、算術邏輯運算指令和比較指令。數據傳送指令用於在寄存器和存儲器之間進行數據的雙向傳輸。算術邏輯運算指令完成常用的算術與邏輯的運算,該類指令不但將運算結果保存在目的寄存器中,同時更新CPSR中的相應條件標志位。比較指令是對指定的兩個寄存器(或一個寄存器,一個立即數)進行比較,不保存運算結果,隻影響CPSR中相應的條件標志位。1. 數據傳送指令MOV和MVN(1) MOV指令MOV指令的格式為: 
    MOV{條件}{S} 目的寄存器,源操作數
    MOV指令可完成在寄存器之間或寄存器與第2操作數之間進行的數據傳送。其中,S選項決定指令的操作是否影響CPSR中條件標志位的值,當沒有S時指令不更新CPSR中條件標志位的值。指令示例: 
    MOVR4,R5; 將寄存器R5的內容傳送到寄存器R4
    MOVPC,R14; 將寄存器R14的內容傳送到PC,常用於子程序返回
    MOVNE R4,R5,LSL#2; 當Z=0時,將寄存器R5的內容邏輯左移2位後傳送到R4
    (2) MVN指令MVN指令的格式為: 
    MVN{條件}{S} 目的寄存器,源操作數
    MVN指令可完成在寄存器之間或寄存器與第2操作數之間進行的數據非傳送。與MOV指令不同之處是在傳送之前按位被取反了,即把一個被取反的值傳送到目的寄存器中。其中,S決定指令的操作是否影響CPSR中條件標志位的值,當沒有S時指令不更新CPSR中條件標志位的值。指令示例: 
    MVNR0,#0; 將立即數0取反傳送到寄存器R0中,完成後R0=-1
    2. 算術邏輯運算指令(1) ADD指令ADD指令的格式為: 
    ADD{條件}{S} 目的寄存器,操作數1,操作數2
    ADD指令是加法指令,用於把兩個操作數相加,並將結果存放到目的寄存器中。操作數1應是一個寄存器。操作數2可以是一個寄存器,被移位的寄存器或一個立即數。指令示例: 
    ADDSR0,R3,R4;  R0 = R3 R4,設置標志位
    ADDCR0,R3,#10;  R0 = R3 10
    ADDR0,R2,R3,LSL#2;  R0 = R2 R3×4
    (2) ADC指令ADC指令的格式為: 
    ADC{條件}{S} 目的寄存器,操作數1,操作數2
    ADC指令是帶進位加法指令,用於把兩個操作數相加,再加上CPSR中的C條件標志位的值,並將結果存放到目的寄存器中。它使用一個進位標志位,這樣就可以做比32位大的數的加法,注意不要忘記設置S後綴來更改進位標志。操作數1應是一個寄存器。操作數2可以是一個寄存器,被移位的寄存器,或一個立即數。以下指令序列實現64位二進制數的加法: R2、R1=R2、R1 R4、R3
    ADDSR1,R1,R3; R1= R1 R3
    ADCR2,R2,R4; R2= R2 R4 C
    (3) SUB指令SUB指令的格式為: 
    SUB{條件}{S} 目的寄存器,操作數1,操作數2
    SUB指令是減法指令,用於把操作數1減去操作數2,並將結果存放到目的寄存器中。該指令可用於有符號數或無符號數的減法運算。操作數1應是一個寄存器。操作數2可以是一個寄存器,被移位的寄存器,或一個立即數。指令示例: 
    SUBS R0,R3,R4;  R0 = R3-R4,設置標志位
    SUBR0,R1,#0x10;  R0 = R1-0x10
    SUBR0,R2,R3,LSL#1;  R0 = R2-(R3 << 1)
    書摘插畫
    插圖
    插圖

    插圖

    插圖

    插圖

    插圖


     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部