色吊丝最新资源-第一福利在线视频-欧美久久久-欧产日产国产精品v原神 |www.phbaer.net

來古計算機 > 匯編語言 > 正文

什么是16位匯編指令?

在學習16位匯編指令之前我們先來了解下匯編語言的特征:

匯編語言特點:與機器相關,執行效率高,調試復雜。

匯編語言優缺點:匯編語言和高級語言混合編寫,形成互補。

匯編語言數據表示類型:二進制(B),八進制(Q),十進制(D),十六進制(H)。

BCD編碼:指用二進制來表示十進制數。

CPU資源和存儲器:指通用寄存器,標志寄存器,指令寄存器。

EAX,累加

ECX,循環計數

EDX,數據寄存器

EBX,基址寄存器

ESP,棧頂

EBP,棧底

ESI,擴展源指針

EDI,擴展目的指針

EIP,指令指針

SI(16位),變址寄存器,常用于存儲器尋址時提供地址,源操作數指針

DI(16位),變址寄存器,常用于存儲器尋址時提供地址,目的操作數指針

Flag寄存器

QQ圖片20180207105616.png

進位CF,CF=1,運算結果表示有進位或者借位

零標志ZF,ZF=1,表示結果為0

符號標志SF,SF=1,運算結果最高位為1

奇偶標志PF,PF=1,運算結果最低8位1的個數為0或者偶數(奇)

溢出標志OF,OF=1,算數運算結果有溢出

輔助進位AF,AF=1,運算時有進位或借位

方向標志DF,DF=1,地址自動減少,用于串操作,控制地址變化方向

中斷標志IF,IF=1,允許中斷,用于控制外部可屏蔽中斷是否可處理

陷阱標志TF,TF=1,處理器處于單步執行指令(處理器每執行一條指令便產生一個內部中斷,可以對程序進行單步調試)

16位匯編物理地址與邏輯地址轉換:邏輯地址<< 4位 + 偏移 = 物理地址(可以有多個邏輯地址)

CS(代碼段),表示代碼段的起始地址

SS(堆棧段),表示堆棧段的起始地址

DS(數據段),表示數據段的起始地址

ES(附加段),表示附加段的起始地址,附加段是數據段,用于數據保存,串操作指令將附加段作為其目的操作數的存放區域

段前綴CS:  ;使用代碼段

段前綴SS:  ;使用棧段

段前綴DS:  ;使用數據段

段前綴ES:  ;使用附加段

默認訪問DS,使用BP則訪問主存(SS)

1M最多可分64K個段,最少能分16個段

8086有8個8位通用寄存器(al,ah…),8個16位通用寄存器(ax,bx…),6個狀態標志(CF,ZF,SF,PF,OF,AF)和3個控制標志(DF,IF,TF),4個段寄存器,4種邏輯段,4個段前綴指令

 

立即數尋址,mov ah,0x01

寄存器尋址,mov ah,[bh]

直接尋址,mov AX,ES:[2000H]

寄存器間接尋址,mov AX,[SI]

寄存器相對尋址,mov AX,[DI+05]

基址變址尋址,mov AX,[BX(BP)+SI]

相對基址變址尋址,mov AX,[BX+SI+05]

 

段內轉移也稱近轉移(near ptr)

段內轉移也稱短轉移(short)

段間轉移也稱遠轉移(far ptr)

推薦文章

發表評論:

◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。

標簽列表
網站分類
最新留言

Powered By Z-BlogPHP and Terry

Copyright @ laigucomputer.com 來古計算機 工信部備案號:粵ICP備18009132號