freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ch4-arm7tdmi匯編語言程序設(shè)計-文庫吧資料

2024-10-24 20:16本頁面
  

【正文】 0,綜合舉例:,在以BUF為首址的字存儲區(qū)中存放有10個無符號數(shù) 0x0FF,0x00, 0x40, 0x10, 0x90, 0x20, 0x80, 0x30, 0x50, 0x70, 0x60,現(xiàn)需將它們按從小到大的順序排列在BUF存儲區(qū)中,試編寫其程序。 ⑷參數(shù)設(shè)置:每次通過外循環(huán)再次進入內(nèi)循環(huán)時,初始條件 必須重新設(shè)置。 ⑶注意:防止出現(xiàn)“死循環(huán)”。 ⑵跳轉(zhuǎn):內(nèi)循環(huán)既可以嵌套在外循環(huán)中,也可以幾個內(nèi)循環(huán)并 列存在。有些問題比較復(fù)雜,單重循環(huán)難以解決,必須使用多重循環(huán)。內(nèi)層循環(huán)設(shè)計完之后,用其替換外層循環(huán)體中被視為一個處理粗框的對應(yīng)部分,以構(gòu)成一個多重循環(huán)。 設(shè)計多重循環(huán)程序時,可以從外層循環(huán)到內(nèi)層循環(huán)一層一層地進行。循環(huán)次數(shù)比較 BLE REPEAT 。將部分乘積累加至R0 ADD R1, R1, 1 。R2用作第二個乘數(shù),N+1 MUL R3, R2, R1 。R0用作累加,置初值1,S MOV R1, 2 。 定義自然數(shù)的累加和 END,計算機學(xué)院,61,2024/10/20,例:編制程序使S=1+23+34+45+…+N(N+1), 直到N等于10為止。 到R0所指向的單元中,stop MOV r0, 0x18 LDR r1, =0x20026 SWI 0x123456 AREA Data, DATA, READWRITE n DCD 0 。 如果大于1000,那么將累加和存儲到R1所指向的單元中 STRCS R4, [R0] 。 比較累加和是否超過了1000 BCC continue 。 取下一個自然數(shù) ADD R3, R3, R4 。 R4用于循環(huán)個數(shù)的統(tǒng)計/每次取得的自然數(shù) LDR R5, =1000 。 將數(shù)據(jù)段中自然數(shù)的累加和sum的地址加載到R1寄存器 LDR R3, =0 。 程序的入口 CODE32 start LDR R0, =n 。,AREA SUM, CODE, READONLY 。但題目中給定一個條件,即累加和大于1000則 停止累加,因此,可以根據(jù)這一條件控制循環(huán)。 并且將R3中的數(shù)加載到R1指向的單元(即y)中,stop MOV r0, 0x18 LDR r1, =0x20026 SWI 0x123456 AREA Data, DATA, READWRITE x DCD 73,59,61,34,81,107,225,231,54,43 DCD 100,35,1,42,222,254,34,71,100,31 DCD 33,119,13,44,18,147,55,244,97,3 y DCD 0 END,計算機學(xué)院,60,2024/10/20,② 適用于無法確定循環(huán)次數(shù),但知道循環(huán)結(jié)束的條件的循環(huán)程序設(shè)計,例 4?5 從自然數(shù)1開始累加,直到累加和大于1000為 止,統(tǒng)計被累加的自然數(shù)的個數(shù),并把統(tǒng)計的個數(shù)送 入n單元,把累加和送入sum單元。 如果不為0,那么繼續(xù)跳到compare執(zhí)行 STREQ R3, [R1] 。 如果R3小于R4,則將較大的數(shù)送入R3中 SUBS R2, R2, 1 。 依次將源數(shù)據(jù)塊x中下一個數(shù)加載到R4中 CMP R3, R4 。 將源數(shù)據(jù)塊x中第一個數(shù)加載到R3中 compare ADD R0, R0, 4 。 R1指向單元y LDR R2, =num 。 比較的次數(shù) start LDR R0, =x 。 代碼段的名字 max ENTRY 。在比較過程 中, Rx中始終保持較大的數(shù),共計比較29次,則最終Rx 中保留了最大數(shù),最后把Rx中的數(shù)(最大者)送入y單元。,計算機學(xué)院,59,2024/10/20,用計數(shù)控制循環(huán) 適用于已知循環(huán)次數(shù)的循環(huán)程序設(shè)計,例 4?4 從x單元開始的30個連續(xù)字單元中存放 有30個無符號數(shù),從中找出最大者送入y單元中。,為執(zhí)行下一個循環(huán) 而修改某些參數(shù), 尤其是循環(huán)控制變量的修改等。 如設(shè)置地址指針、 計數(shù)器、其他循環(huán) 參數(shù)的起始值等。,條件控制循環(huán):通過 判斷循環(huán)終止條件是 否已成立,控制循環(huán)。 循環(huán)程序的結(jié)構(gòu),初始化,循環(huán)體,修改,判斷,判斷,結(jié)束,循環(huán)程序的主要部 分,視具體情況而 定:可以是一個順 序程序、分支程序 或另一個循環(huán)程序。在實際應(yīng)用中重復(fù)地做某些事的情況是很多的,這也是計算機最擅長的工作方式。 R2大于0,將1存入R3中,。 否則,R2小于0,將1存入R3中 B stop ZERO MOV R3, 0 。 如果R2等于0,那么轉(zhuǎn)向標號ZERO處 BGT PLUS 。 加載變量x的值,存入R2 compare CMP R2, 0 。 加載數(shù)據(jù)段中的變量x地址,存入R0 LDR R1, =y 。 代碼段的名字 symbol ENTRY 。,計算機學(xué)院,57,2024/10/20,例 4?3 給定以下符號函數(shù):,任意給定值,假定為25,存放 在x單元,函數(shù)值存放在y單元;要求根據(jù)x中的值來確定y的值。 這樣的程序結(jié)構(gòu)中,計算機不再完全按指令存儲的順序執(zhí)行,稱之為分支。 結(jié)束,計算機學(xué)院,56,2024/10/20,4.4.4 分支程序設(shè)計,許多實際問題需要根據(jù)不同的情況作出不同的處理。 這三條指令是ADS調(diào)試環(huán)境特約 LDR R1, =0x20026 。 將立即數(shù)3存入寄存器R1 ADD R0, R0, R1 。 程序的入口 CODE 32 start MOV R0, 10 。,AREA ARMex, CODE, READONLY 。 這種結(jié)構(gòu)的流程圖,除了有一個起始框,一個終止框外,就是若干執(zhí)行框。,用文檔形式記錄說明程序的功能、使用方法、 程序結(jié)構(gòu)、算法流程等每一個階段的工作。,① 語法調(diào)試:排除程序中的語法錯誤。 ② CPU寄存器數(shù)量有限,在程序中,大多 數(shù)操作都要使用寄存器;并且有的操作使 用特定的寄存器(如堆棧操作使用SP/R13 等),程序中要合理分配各寄存器的用途。 流程圖不僅便于程序的編制,且對程序 邏輯正確性也比較容易查找和修改。,計算機學(xué)院,53,2024/10/20,4.3.3 匯編語言程序設(shè)計的流程,使用計算機通過編程序解決某一問題時,通常按以下步驟進行: 分析問題,建立數(shù)學(xué)模型; 確定算法 ; 設(shè)計程序流程圖 ; 合理分配寄存器、存儲空間和外設(shè)資源 ; 編制程序 ; 調(diào)試程序 ; 形成文檔 ;,研討目標系統(tǒng)的本質(zhì)特性,用數(shù)學(xué)方法 對其本質(zhì)特性進行抽象描述,建立目標 系統(tǒng)的數(shù)學(xué)表示模型,在已建立的目標系統(tǒng)數(shù)學(xué)表示模型上, 進一步研討目標系統(tǒng)的內(nèi)在規(guī)則,設(shè)計 相應(yīng)處理法則方案(算法分析與描述),把解題的方法、步驟用框圖形式表示。 “單入口單出口”的控制結(jié)構(gòu)。,計算機學(xué)院,50,2024/10/20,3. 畫出程序的流程圖矩形框: 菱形框:分支判斷 橢圓框:程序的開始或結(jié)束 圓框:流程圖之間的連接 箭頭:處理流程 圓圈:連接流程圖某個處理,計算機學(xué)院,51,2024/10/20,4. 根據(jù)流程圖編制語句: ● 簡潔明了,必要的注釋 ● 不要出現(xiàn)絕對地址 ● 注意中英文字符,半/全角,各數(shù)制對齊等 5. 匯編調(diào)試程序: ● ADS進行匯編、連接; ● AXD進行調(diào)試。,計算機學(xué)院,43,2024/10/20,計算機學(xué)院,44,2024/10/20,3 調(diào)試匯編程序,計算機學(xué)院,45,2024/10/20,計算機學(xué)院,46,2024/10/20,第4章 匯編語言程序設(shè)計,1. 匯編語言的基本概念 2. ARM匯編程序的組成與結(jié)構(gòu) 3. 匯編語言程序設(shè)計的基本方法 4. 匯編語言和C語言交叉編程,計算機學(xué)院,47,2024/10/20,4.3.1 ARM 匯編語言程序設(shè)計,程序設(shè)計步驟 簡單程序設(shè)計 分支程序設(shè)計 循環(huán)程序設(shè)計 子程序設(shè)計,計算機學(xué)院,48,2024/10/20,程序設(shè)計步驟:,分析題目確定算法。 編譯時可以通過Project compile對源文件進行編譯,然后再連接。 = 0x00000101 00008008 [0xe0813002] add r3, r1, r2 0000800c [0xea000001] b branch 00008010 [0x00abcdef] dcd 0x00abcdef 00008014 [0x00000101] dcd 0x00000101 branch [0xe1a01001] mov r1, r1 0000801c [0xeafffff7] b start other [0x00000000] dcd 0x00000000 00008024 [0x00000000] dcd 0x00000000 00008028 [0x00000000] dcd 0x00000000 ,其它常用的偽操作,AREA ALIGN CODE1CODE32 ENTRY END EQU EXPORT(或GLOBAL),IMPORT EXTERN GET(或INCLUDE) INCBIN RN ROUT,計算機學(xué)院,37,2024/10/20,計算機學(xué)院,38,2024/10/20,4.2.4 匯編語言程序的上機過程,匯編語言上機環(huán)境,計算機學(xué)院,39,2024/10/20,1 編輯匯編語言源程序,建立工程文件,計算機學(xué)院,40,2024/10/20,編輯源文件,計算機學(xué)院,41,2024/10/20,添加源文件,計算機學(xué)院,42,2024/10/20,2 編譯連接源程序,在編譯連接之前還需要通過Debug Settings 對話框?qū)椖康倪\行環(huán)境進行一些設(shè)置。,計算機學(xué)院,35,2024/10/20,AREA default, CODE, READONLY ENTRY CODE32 start LDR R1, =0xABCDEF LDR R2, =0x101 ADD R3, R1, R2 B branch … ;其它匯編代碼 branch … ;其它匯編代碼 other SPACE 4096 END,計算機學(xué)院,36,2024/10/20,AREA default, CODE, READONLY ENTRY CODE32 start LDR R1, =0xABCDEF LDR R2, =0x101 ADD R3, R1, R2 B branch LTORG … ;其它匯編代碼 branch … ;其它匯編代碼 other SPACE 4
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1