《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 匯編基礎:順序、分支與循環程序設計

匯編基礎:順序、分支與循環程序設計

2017-06-10
關鍵詞: 匯編

一個算法用程序設計語言的語句有序地組合在一起加以描述,其組合方式稱為程序的控制結構或簡稱為程序結構。程序的基本結構形式有順序結構、分支結構和循環結構。

一、順序結構

順序結構是最簡單的,也是最基本的程序結構形式,這種結構形式的程序的最大特點就是程序運行時從開始到結尾一直是按照編寫指令的順序執行,且每條指令僅執行一次,具有順序結構的程序或者程序段,成為順序程序。

我們拿一個簡單的程序來說明匯編的順序程序設計。

例:設兩個字存儲變量X和Y, 編程實現這兩個變量的交換。

分析:由于存儲單元之間不能夠直接進行數據交換,所以利用通用寄存器AX來作為交換的中介。我在這里給出一個代碼范例:

DATA    SEGMENT    
   X   DW  1032H    
   Y   DW  2043H    
DATA    ENDS    
STACK1  SEGMENT PARA STACK    
   DW   20H   DUP (0)    
STACK1  ENDS    
CODE    SEGMENT    
ASSUME CS:CODE, DS:DATA, SS:STACK1    
BEGIN:  MOV     AX, DATA    
   MOV     DS, AX    
   MOV AX, X    
   XCHG    AX, Y    
   MOV X, AX    
   MOV AH, 4CH    
   INT 21H    
CODE    ENDS    
   END

代碼分析:前面一部分是對數據以及堆棧的定義,這里我就不再多說了,我們從BEGIN開始,因為對于MOV來說,不能夠直接將DATA作為源操作數,DS作為目的操作數,所以要通過一個通用寄存器來實現兩者之間的賦值,MOV   AX, X意為將X的值先保存在AX中,而后執行XCHG AX, Y將AX與Y的值進行交換,此時Y里面存儲的便是X的值,AX中存儲的Y的值。緊接著MOV X, AX再將AX中存儲的Y的值賦予X,即實現X與Y值得交換。

二、分支程序設計

實現分支程序需要有相應的轉移指令的支持,而轉移指令又分為無條件轉移指令與有條件轉移指令兩類,在有條件轉移指令中,不同的條件往往是通過標志寄存器中條件標志的不同狀態反映的。因而,分支程序設計中一個至關重要的問題是如何根據標志寄存器中標志位的不同狀態,配合使用合適的轉移指令實現程序的轉移。關于轉移指令請看我的另一篇文(http://yiluohuanghun.blog.51cto.com/3407300/940123)。

還是拿例子來說吧:X為存儲單元中的有符號字數據,編寫程序實現計算其絕對值,并保存到原處。

分析:當X>=0時,X的絕對值就是它本身,否則利用求負指令將X變號,并放回要原處,下面我給出了一個程序,大家可以參考下:

DATA    SEGMENT    
   X   DW  0F874H    
DATA    ENDS    
STACK1  SEGMENT PARA    STACK    
   DW  20H DUP  (0)    
STACK1  ENDS    
CODE    SEGMENT    
ASSUME  CS:CODE, DS:DATA, SS:STACK1    
BEGIN:  MOV AX, DATA    
   MOV DS, AX    
   MOV AX, X    
   TEST    AX, AX      
   JNS DONE    
   NEG X   ;負指令NEG對X取反    
DONE:   MOV AH, 4CH    
   INT 21H    
CODE    ENDS    
   END BEGIN

程序分析:TESTAX, AX;此處目的是為了重置標志寄存器各位的值,以便于下一條指令JNS使用標志寄存器

三、循環程序設計

在進行循環程序設計之前同分支程序設計一樣,都要先知道一個基本控制指令,對于循環控制指令有如下4大類:

1、LOOPTARGET

執行的操作:先將CX<-(CX)-1,如果(CX)不等于0,則將IP指向TARGET的偏移量

2、LOOPZ/LOOPETARGET

執行操作:先將CX<-(CX)-1,如果(CX)不等于0并且ZF=1,則將IP指向TARGET的偏移量

3、LOOPNZ/LOOPNE   TARGET

執行操作:先將CX<-(CX)-1,如果(CX)不等于0并且ZF不等于1,則將IP指向TARGET的偏移

4、JCXZTARGET

執行操作:測試(CX)是否0,但不對CX寄存器進行修改,如果(CX)=0,那么IP指向TARGET的偏移量

下面還是以實例來說明問題:數據段的ARY數組中存放有10個無符號數,試找出其中最大者送入MAX單元。

分析:首先將數組中的第一個數取出放入AL,然后依次與數組中的其他元素進行比較,將較大者放入AL中,遍歷數組后,AL中存放的就是最大的數。具體實現過成功如下:

DATA    SEGMENT    
   ARY DB  17, 5, 40, 0, 67, 12, 34, 78, 32, 10    
   MAX DB  ?    
DATA    ENDS    
STACK1  SEGMENT PARA    STACK    
   DW  20H DUP  (0)    
STACK1  ENDS    
CODE    SEGMENT    
ASSUME  CS:CODE, SS:STACK1, DS:DATA    
BEGIN:  MOV AX, DATA    
   MOV DS, AX    
   MOV SI, OFFSET  ARY ;SI指向ARY的第一個元素    
   MOV CX, 9       ;CX作循環次數計數    
   MOV AL, [SI]        ;取第一個元素到AL    
LOP:    INC SI      ;SI指向后一個元素    
   CMP AL, [SI]        ;比較兩個數    
   JAE BIGER       ;前一個元素大于后一個元素時轉移    
   MOV AL, [SI]        ;取較大數到AL    
BIGER:  LOOP    LOP     ;(CX)不等于0 則轉移    
   MOV MAX, AL    
   MOV AH, 4CH    
   INT 21H    
CODE    ENDS    
   END BEGIN

以上就介紹著三種程序設計方式。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          蜜桃久久精品一区二区| 午夜精品视频在线观看一区二区| 欧美视频一区二区在线观看| 久久一区二区精品| 亚洲美女性视频| 欧美主播一区二区三区| 欧美日韩蜜桃| 国产精品亚洲欧美| 午夜日本精品| 国产精品一区二区在线观看不卡| 正在播放欧美视频| 国产深夜精品| 亚洲国产国产亚洲一二三| 午夜欧美大片免费观看| 国产女人18毛片水18精品| 欧美噜噜久久久xxx| 欧美护士18xxxxhd| 国产精品亚洲不卡a| 国产精品日韩在线播放| 亚洲电影av| 麻豆精品在线视频| 欧美不卡三区| 99国产精品久久久久久久成人热| 久热国产精品视频| 欧美日韩国产页| 国产欧美精品日韩区二区麻豆天美| 欧美在线免费一级片| 韩国三级电影一区二区| 日韩视频在线免费| 午夜精品美女自拍福到在线| 极品日韩久久| 国产精品丝袜xxxxxxx| 欧美系列一区| 国产伦精品一区二区三区视频孕妇| 国产精品视频yy9099| 久久精品免费播放| 99伊人成综合| 久久视频免费观看| 香蕉精品999视频一区二区| 欧美视频在线免费看| 99视频精品| 葵司免费一区二区三区四区五区| 欧美日本国产精品| 艳妇臀荡乳欲伦亚洲一区| 国内精品久久久久伊人av| 午夜视频一区| 欧美激情二区三区| 亚洲高清在线播放| 国产精品美女黄网| 亚洲国产精品综合| 午夜在线一区二区| 国产视频亚洲| 欧美成人免费视频| 一本一道久久综合狠狠老精东影业| 亚洲欧美成人精品| 午夜国产精品影院在线观看| 一区二区亚洲精品| 国产精品免费区二区三区观看| 欧美日韩国产大片| 欧美精品亚洲二区| 亚洲精品日韩一| 女同性一区二区三区人了人一| 国产精品久久久久久久久婷婷| 日韩亚洲欧美一区二区三区| 国产日韩欧美在线播放不卡| 亚洲美女在线看| 久久福利精品| 久久gogo国模裸体人体| 久久综合一区| 亚洲午夜日本在线观看| 国产精品超碰97尤物18| 久久精品久久99精品久久| 欧美精品免费视频| 蜜臀久久99精品久久久久久9| 亚洲性线免费观看视频成熟| 久久综合网络一区二区| 欧美大片在线影院| 亚洲午夜国产一区99re久久| 欧美中文字幕不卡| 黄色一区二区在线观看| 在线视频精品| 欧美日韩精品免费在线观看视频| 亚洲国产精品99久久久久久久久| 欧美性jizz18性欧美| 久久综合99re88久久爱| 久久久久久久999| 亚洲精品一区在线观看香蕉| 女生裸体视频一区二区三区| 91久久精品一区二区三区| 亚洲专区一区二区三区| 精品成人国产| 欧美成年人视频网站| 亚洲人成网站777色婷婷| 国产欧美一区二区精品秋霞影院| 免费成人高清在线视频| 国产欧美1区2区3区| 亚洲国产人成综合网站| 性色一区二区三区| 午夜精品国产| 国内精品久久久久久久影视麻豆| 国产偷国产偷亚洲高清97cao| 国产精品久久久久久久久免费| 精品电影在线观看| 国产亚洲精品福利| 欧美韩日视频| 美女久久网站| 久久精品系列| 日韩一级欧洲| 在线日韩中文字幕| 午夜一区不卡| 久久久久久久久久码影片| 亚洲免费一级电影| 久久午夜精品| 99国产精品久久久久老师| 欧美视频手机在线| 在线精品国产成人综合| 老司机aⅴ在线精品导航| 欧美日韩精品一区二区天天拍小说| 欧美一区二区三区免费大片| 欧美大片一区二区三区| 在线亚洲欧美专区二区| 在线日韩av片| 卡一卡二国产精品| 国产私拍一区| 一区二区91| 国产精品福利影院| 日韩午夜av在线| 99riav久久精品riav| 欧美人与性禽动交情品| 国产精品99久久久久久宅男| 亚洲第一久久影院| 久久亚洲电影| 亚洲精品国产精品国自产观看| 欧美激情一区二区三区成人| 亚洲天堂av高清| 久久av一区二区三区| 尤物yw午夜国产精品视频| 亚洲少妇一区| 欧美色另类天堂2015| 国产主播在线一区| 国产九九精品视频| 国产精品丝袜91| 亚洲欧美激情在线视频| 国产日韩三区| 免费h精品视频在线播放| 国产一区二区三区在线观看免费| 午夜日韩激情| 久热re这里精品视频在线6| 国产欧美日本在线| 国产精品无码专区在线观看| 国产精品日韩专区| 亚洲一级黄色| 亚洲人体大胆视频| 国产精品实拍| 六月婷婷久久| 免费高清在线一区| 美女亚洲精品| 欧美日韩一区在线观看| 欧美69视频| 91久久午夜| 国产精品久久久久久户外露出| 国产精品九九久久久久久久| 日韩午夜剧场| 亚洲一卡二卡三卡四卡五卡| 99国内精品久久久久久久软件| 另类亚洲自拍| 1000部国产精品成人观看| 欧美视频日韩| 欧美成人免费一级人片100| 亚洲一区二区三区在线看| 亚洲国产精品一区二区第四页av| 久久狠狠久久综合桃花| 亚洲一区二区三| 久久久精品国产99久久精品芒果| 禁久久精品乱码| 在线一区二区三区做爰视频网站| 欧美日韩久久精品| 亚洲视频成人| 亚洲五月婷婷| 国产乱子伦一区二区三区国色天香| 欧美色道久久88综合亚洲精品| 久久国产直播| 亚洲激情二区| 欧美日韩视频一区二区| 黄网站免费久久| 国产精品夜色7777狼人| 亚洲精品国产欧美| 亚洲国产91色在线| 久久久一区二区三区| 欧美午夜无遮挡| 99视频精品全国免费| 欧美午夜大胆人体| 欧美日韩精品一区二区三区四区| 亚洲欧洲日本专区| 激情久久五月| 国产毛片久久| 欧美呦呦网站| 欧美精品一区二区高清在线观看| 亚洲电影av在线| 最新国产精品拍自在线播放| 欧美日韩视频在线一区二区观看视频| 在线中文字幕不卡| 久久一区免费| 欧美精品97| 欧美在线在线| 国产免费成人在线视频| 久久综合给合久久狠狠狠97色69| 久久精品欧美日韩精品| 午夜激情久久久| 亚洲伊人久久综合| 一区二区高清视频在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 欧美三级视频在线观看| 欧美视频一区二区| 国产日产欧产精品推荐色| 国产一区二区三区奇米久涩| 欧美激情第六页| 欧美视频成人| 久久综合久久综合久久综合| 国产精品欧美日韩| 亚洲激情在线激情| 久久综合九色综合欧美狠狠| 亚洲激情不卡| 亚洲国产另类精品专区| 欧美亚洲视频| 亚洲国产小视频| 黄色精品网站| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品女主播| 欧美日韩视频在线一区二区| 欧美色图天堂网| av成人激情| 欧美一区二区视频免费观看| 欧美有码在线视频| 欧美精品一区二区三| 欧美日韩在线三区| 欧美成va人片在线观看| 欧美国产一区在线| 欧美激情免费在线| 国产精品日韩电影| 欧美激情国产日韩精品一区18| 亚洲一区二区三区高清不卡| 国内精品一区二区三区| 国产欧美一区二区色老头| 欧美一区二区三区婷婷月色| 亚洲国产日韩欧美一区二区三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 99精品国产在热久久婷婷| 国产亚洲视频在线观看| 韩国v欧美v日本v亚洲v| 亚洲欧美区自拍先锋| 国产亚洲在线观看| 欧美日韩国产a| 国内久久精品| 国产精品xnxxcom| 国产精品一区二区久久精品| 裸体歌舞表演一区二区| 日韩小视频在线观看| 亚洲图片欧美日产| 夜夜精品视频一区二区| 欧美一区二区三区在线| 欧美亚洲成人免费| 久久久久久久久久看片| 亚洲欧美在线播放| 欧美一区综合| 国产视频在线观看一区二区三区| 亚洲影院免费| 国产专区综合网| 日韩午夜免费视频| 亚洲一区二区三区免费视频| 亚洲裸体俱乐部裸体舞表演av| 欧美在线综合视频| 欧美激情小视频| 国产乱子伦一区二区三区国色天香| 亚洲视频你懂的| 最新热久久免费视频| 欧美成人有码| 亚洲国产视频一区二区| 国产精品久久7| 欧美国产日韩a欧美在线观看| 国产精品国产三级国产普通话蜜臀| 久久福利毛片| 亚洲欧美一区二区激情| 亚洲线精品一区二区三区八戒| 亚洲精选一区| 久久精品国产第一区二区三区最新章节| 亚洲视频香蕉人妖| 一本久久a久久精品亚洲| 美女精品在线观看| 性久久久久久久久| 欧美激情一区二区三区高清视频| 欧美女同视频| 亚洲福利视频一区二区| 在线精品高清中文字幕| 久久久亚洲欧洲日产国码αv| 欧美不卡三区| 亚洲精品少妇网址| 亚洲精品久久久久久久久久久久久| 伊人婷婷欧美激情| 日韩视频免费观看| 一本色道久久综合精品竹菊| 亚洲午夜激情网站| 国产午夜精品视频免费不卡69堂| 一区二区三区四区国产| 亚洲视频在线观看| 久久这里有精品15一区二区三区| 久久中文精品| 国产日本欧美视频| 亚洲日韩视频| 亚洲国内欧美| 在线电影欧美日韩一区二区私密| 欧美精品成人| 一区二区三区蜜桃网| 一本色道久久88精品综合| 玉米视频成人免费看| 欧美黄色免费网站| 欧美三区不卡| 亚洲裸体俱乐部裸体舞表演av| 在线亚洲一区观看| 欧美日韩中国免费专区在线看| 国产精品腿扒开做爽爽爽挤奶网站| 一本久久a久久免费精品不卡| 韩国视频理论视频久久| 樱桃视频在线观看一区| 亚洲欧美综合一区| 亚洲黄色性网站| 国产精品日韩欧美一区二区三区| 亚洲国产老妈|