軟體工具與學習與組合語言撰寫.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
軟體工具與學習與組合語言撰寫

軟體工具學習與組合語言撰寫 2011/9/29 微處理機 Microprocessor (100上) ARM 內核嵌入式SOC原理 條件式 在組語的世界,無法像高階語言有 if (a=b) 的直覺判斷式,組合語言提供旗標flag來協助判斷 N 當設定為負的時候,N=1 Z 當設定為零或相等時候,Z=1 C 當設定有進位的時候,C=1 V 當設定有溢位(改變bit 32)的時候,V=1 怎樣改變條件 指令直接改變 NZCV Ex: CMP Rn, operation(參考指令集 Compare) 實際上執行Rn - operation 於操作碼後面加S op{cond}{S} Ex: SUBS Rd, Rn, operation 其他請參考 ARM 指令集 範例 R1 – R2 = R1 + (R2的2補數) 0x0000000A  +)0xFFFFFFF6   10000000000 判斷式 當前述的旗標設定完之後,對於後續的操做指令(operation)的執行與否來做判斷 op{cond}{S} Ex: ADDNE 當 flag Z=0, 執行ADD指令 範例 分歧指令 當此行指令想跳至任一行指令時使用 應用 : 迴圈 B{cond} expression EX: LOOP: ADD ……. … … … B LOOP 分歧指令(cont) 陣列 如何建立陣列 指定陣列於memory起始位址(address) ORG 50H 建立連續資料列(array) label operation data TABLE1 DC32 79H,500H,200H,30H,40H Hint : 需注意陣列位置不可跟程式於記憶體 位址一樣,否則陣列data會被取代 陣列(cont.) 使用陣列 利用指令將陣列address傳入register ADR R0, TABLE1 利用資料傳送指令將address所對應的資料傳入Rd LDR R11, [R0] Hint 陣列每筆資料差4個byte 範例 資料傳送指令 LDR r0, [r1] ;r0 = mem32[r1] STR r0, [r1] ;mem32[r1] = r0 LDR r0,[r1,#4] ;r0 = men32[r1+ 4] LDR r0,[r1,#4]! ;r0 = mem32[r1+ 4] ;r1 = r1+ 4 LDR r0, [r1], #4 ;r0 = mem32 [r1] ;r1 = r1 + 4 實習三:寫一程式比較一陣列值 TABLE1 DC32 79h, 500h, 200h, 30h, 40h 的大小,並將最大的結果存入R11暫存器中 作完請找助教檢查 實習一:用組合語言寫出 if( (R1==R2) (R3==R4) ), then R4++ ; R1, R2 ,R3, R4數字自訂 加分題:寫一段程式判斷 兩段陣列的值有幾個數相同 並把數目寫入R11 Ex : TABLE1 DC32 02H, 05H, 04H TABLE2 DC32 04H, 02H, 08H ? R11=2 實習二:使用迴圈計算20+21+22+23+24+25 = ? 將運算結果指定存放在 R11 暫存器中 實習問題 範例一 ASEG CODE32 ORG 00H ;check N MOV R1,#9 MOV R2,#10 CMP R1,R2 ;check Z MOV R1,#1

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档