




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
匯編語言數據的表示方法二進制B八進制O十進制D十六進制H數據的表示方法例:101110B,56O,2H--?D[冪乘法]2.5D-?B,?O,?H[整數部分除2取余,小數部分乘2取整]1.33D-?B,?O,?H并不是所有的十進制小數都能轉換成二進制基礎知識本章結構1.4數據在機內的表示形式1.3存儲器1.1計算機語言的發展1.2Intel8060微處理器簡介1.5匯編源程序舉例1.1計算機語言的發展1.1.1機器語言1.1.2匯編語言1.1.3高級語言
1.1計算機語言的發展機器語言匯編語言高級語言FORTRANBASICCOBOLPASCALC/C++JAVA…...1.1計算機語言的發展1.1.1機器語言機器語言:依賴于機器的低級語言,書寫格式為二進制代碼。優點:執行速度快,效率高。缺點:表達的意義不直觀,編寫、閱讀、調試較困難。1.1計算機語言的發展1.1.2匯編語言匯編語言:是一種符號語言,與機器語言一一對應;使用助記符表示相應的操作,并遵循一定的語法規則。與機器語言有類似的優、缺點,但比機器語言更易于為人們所理解。
1.1計算機語言的發展1.1.3高級語言高級語言:面向人的語言,有多種類型。優點:便于閱讀,易學易用,不涉及硬件,具有通用性。缺點:目標代碼冗長,占用內存多,從而執行時間長,效率不高,不能對某些硬件進行操作。程序要具有較快的執行時間,或者只能占用較小的存儲容量程序與計算機硬件密切相關,程序要直接、有效地控制硬件大型軟件需要提高性能、優化處理的部分沒有合適的高級語言、或只能采用匯編語言的時候分析具體系統尤其是該系統的低層軟件、加密解密軟件、分析和防治計算機病毒等等1.1計算機語言的發展
匯編語言的應用場合1.2
Intel8086微處理器簡介1.2.1
Intel8086微處理器結構1.2.2
Intel8086微處理器寄存器組1.2
Intel8086微處理器簡介中央處理機
CPU總線控制邏輯
接口接口存儲器大容量存儲器I/O設備I/O子系統系統總線計算機系統包括硬件和軟件兩大部分。硬件:三個主要組成部分,用系統總線連接。
1.2
Intel8086微處理器簡介
系統軟件(核心是操作系統operatingsystem)
—I/O驅動程序(I/Odriver)—文件管理程序(filemanagement)—文本編輯程序(texteditor)—翻譯程序(translator)MASM.EXE/TASM.EXE—連接程序(linker)LINK.EXE/TLINK.EXE—裝入程序(loader)DEBUG.EXE—系統程序庫(systemlibrary)
用戶軟件軟件
1.2
Intel8086微處理器簡介微處理器按功能可以分為兩部分:
—執行部件EU(executionunit)—總線接口部件BIU(businterfaceunit)
LOGO1.2
Intel8086微處理器簡介1.2.1Intel8086微處理器結構內部暫存器
IP
ES
SS
DS
CS輸入/輸出控制電路執行部分控制電路123456∑ALU標志寄存器
AHAL
BHBLCHCL
DHDL
SP
BP
SI
DI通用寄存器地址加法器指令隊列緩沖器執行部件(EU)總線接口部件(BIU)16位20位16位8位LOGO1.2
Intel8086微處理器簡介1.2.2Intel8086微處理器寄存器組通用數據寄存器(4個)AX,BX,CX,DX 它們可以分解為AL~DH8個8位寄存器使用指針及變址寄存器(4個)SP堆棧指針寄存器(存放棧頂的偏移地址)BP基址指針寄存器SI源變址寄存器DI目的變址寄存器段寄存器(4個)CSDSSSES
8086/8088的寄存器組(16位)LOGO1.2
Intel8086微處理器簡介1.2.2Intel8086微處理器寄存器組指針寄存器SP、BP指針寄存器用于尋址內存堆棧內的數據SP為堆棧指針寄存器,指示棧頂的偏移地址SP不能再用于其他目的,具有專用目的BP為基址指針寄存器,指示數據在堆棧段中的基地址SP和BP寄存器與SS段寄存器聯合使用以確定堆棧段中的存儲單元地址LOGO1.2
Intel8086微處理器簡介1.2.2Intel8086微處理器寄存器組堆棧的概念堆棧(Stack)是主存中一個特殊的區域它采用先進后出FILO(FirstInLastOut)或后進先出LIFO(LastInFirstOut)的原則進行存取操作,而不是隨機存取操作方式。
堆棧通常由處理器自動維護在8086中,由堆棧段寄存器SS和堆棧指針寄存器SP共同指示。LOGO1.2
Intel8086微處理器簡介1.2.2Intel8086微處理器寄存器組指令指針寄存器IP指令指針寄存器IP,總是指向BIU將要取的下一條指令代碼的偏移地址。它與代碼段寄存器CS聯用,確定下一條指令的物理地址計算機通過CS:IP寄存器來控制指令序列的執行流程IP寄存器是一個專用寄存器LOGO1.2
Intel8086微處理器簡介1.2.2Intel8086微處理器寄存器組控制寄存器(2個)IP
指令指針寄存器(保存下一條即將執行的指令的首地址)
PSW
程序狀態字寄存器OFDFIFTFSFZFAFPFCF
1514131211109876543210條件碼標志OF
溢出標志SF
符號標志ZF
零標志CF
進位標志AF
輔助進位標志PF
奇偶標志控制標志OV/
NV
NG/PLZR/NZCY/NCAC/NAPE/PODF
方向標志IF
中斷標志TF
陷阱標志DN/
UP
EI/DILOGO1.2
Intel8086微處理器簡介1.2.2Intel8086微處理器寄存器組CFCarryFlag。它反映運算中最高有效位向前有無進位(針對加運算)或借位(針對減運算)。有進位或借位時,CF=1,否則CF=0。CF主要針對無符號運算。OFOverflowFlag。它反映有符號數的運算結果是否超出其所能表示的范圍;運算結果溢出時OF=1,否則OF=0,注意,OF標志主要針對有符號運算。SFSignFlag。它反映運算結果的最高有效位(MSB)為0、還是為1;對有符號運算來說,它反映了運算結果為正、還是為負,即SF=MSB。ZFZeroFlag。它反映運算結果是否為全0。若ZF=1,則表示運算結果為全0(各位均為0);否則ZF=0。PFParityFlag。它反映運算結果的低8位中1的個數是否為偶數。是則PF=1,否則PF=0。AFAuxiliaryFlag。它反映運算中低四位向前有無進位或借位。若AF=1,表示有進位或借位;否則AF=0。程序狀態字(PSW)LOGO1.2
Intel8086微處理器簡介1.2.2Intel8086微處理器寄存器組程序狀態字(PSW)DFDirectionFlag。若設置DF=0,則串操作后,源和目的操作數的地址均向增址方向調整;若設置DF=1,則向減址方向調整。IFInterruptEnableFlag。若設置IF=1,則允許CPU響應可屏蔽中斷(開中斷);若IF=0,則不允許CPU響應可屏蔽中斷(關中斷)。TFTrapFlag。若設置TF=1,則將在CPU運行中設置陷井,此時,CPU每執行一條指令就產生一個單步中斷;若TF=0,表示不設置陷井。起控制程序運行方式的作用1.3存儲器1.3.1存儲單元的地址和內容1.3.2堆棧1.3.3存儲器物理地址的形成1.3
存儲器1.3.1存儲單元的地址和內容存儲器是用來存放程序、數據、中間結果和最終結果的記憶裝置。是計算機中最重要的設備。理解計算機的構成(體系結構)的第一步是了解存放程序指令和數據值的基本存儲單元的相關概念。80X86存儲器陣列1.3
存儲器1.3.1存儲單元的地址和內容1.3
存儲器1.3.1存儲單元的地址和內容**********12340H12341H12343H12342H00000HFFFFFHFFFFEHPA********00001H存儲器以字節為單位存儲信息;每個字節有一個地址,從0編號,順序加1;地址用無符號二進制整數表示,用十六進制書寫;一個字要占用存儲器相繼的兩個字節,字單元地址用它的低地址來表示。低位字節存入計數小的地址(低地址),高位字節存入計數大的地址(高地址),這種數據存儲方式稱為小端方式(smallendian)。圖8086的存儲格式1.3
存儲器1.3.1存儲單元的地址和內容1.3
存儲器1.3.1存儲單元的地址和內容二進制位:存儲一位二進制數:0或1。字節:8個二進制位,D7~D0。字:16位,2個字節,D15~D0。雙字:32位,4個字節,D31~D0。最低有效位LSB(LeastSignificantBit):指數據的最低位,即D0位;最高有效位MSB(MostSignificantBit):指數據的最高位,對應字節、字、雙字分別指D7、D15、D31位。數據信息的表達單位1.3
存儲器1.3.1存儲單元的地址和內容數據在存儲器中的存取規則1.3
存儲器1.3.32堆棧堆棧操作:(1)PUSH操作數(2)POP操作數.堆棧堆棧的作用:(1)調用函數(2)暫時存儲數據(3)保護寄存器數據1.3
存儲器1.3.3存儲器物理地址的形成將存儲器分成若干段:段起始地址的低4位為0,段的大小是64K范圍內的任意連續字節時,任一存儲單元的實際地址都可以用兩個16位的二進制數表示。1.3
存儲器1.3.3存儲器物理地址的形成
物理地址:每個存儲單元的唯一的20位地址(PA)
段地址:段起始地址的高16位
偏移地址(EA):段內相對于段起始地址的偏移值(16位)
**********12340H12341H12343H12342H0000H0001H0002H0003HFFFFH2233FHPA
0000段地址高16位
16位偏移地址+
20位物理地址EA=PA-
段首地址1.3
存儲器1.3.3存儲器物理地址的形成邏輯地址在程序中使用,由16位段基址和16位段內偏移值所組成的地址.1234:00021234*16=500A:1234500A*16=邏輯地址與物理地址1.3
存儲器1.3.3存儲器物理地址的形成物理地址=段基址×16+段內偏移地址。代碼段段寄存器CS數據段段寄存器DS堆棧段段寄存器SS附加段段寄存器ES段地址*10000B偏移地址物理地址150150
地址加法器19031.3
存儲器1.3.3存儲器物理地址的形成程序員如何分配各個邏輯段程序的指令序列必須安排在代碼段;程序使用的堆棧一定在堆棧段;程序中的數據默認是安排在數據段,也經常安排在附加段,尤
其是串操作的目的區必須是附加段。數據的存放比較靈活,實際上可以存放在任何一種邏輯段中。
程序中如何指明數據所在的邏輯段呢?1.3
存儲器1.3.3存儲器物理地址的形成段超越的例子MOVAX,[2000H];AX←DS:[2000H],;從默認的DS數據段取出數據MOVAX,ES:[2000H];AX←DS:[2000H],;從默認的DS數據段取出數據沒有段超越的指令實例采用段超越前綴的指令實例1.3
存儲器1.3.3存儲器物理地址的形成段寄存器的使用規定(表2.1)訪問存儲器的方式 默認的段寄存器 可超越的段寄存器 偏移地址取指令 CS 無 IP堆棧操作 SS 無 SP一般數據訪問 DS CS、ES、SS 有效地址EA(下列除外)串操作的源操作數 DS CS、ES、SS SI串操作的目的操作數 ES 無 DIBP基址的尋址方式 SS CS、DS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體操館租賃合同電子版4篇
- 輸變電工程設計監理合同2篇
- 單色系室內設計
- 動物中暑疾病預防指南
- 室內方案設計模板
- 2025遼寧中醫藥大學輔導員考試試題及答案
- 2025肇慶學院輔導員考試試題及答案
- 2025蘇州衛生職業技術學院輔導員考試試題及答案
- 2025牡丹江醫學院輔導員考試試題及答案
- 2025甘肅核工業職工大學輔導員考試試題及答案
- JJG 475-2008 電子式萬能試驗機-(高清現行)
- 小麥胚芽知識問答
- 戰略方法論三層面法和財務模型課件
- 裝表接電課件(PPT 86頁)
- 病例報告表(CRF)模板
- Q∕GDW 12158-2021 國家電網有限公司重大活動電力安全保障工作規范
- 鏈斗技術規范書
- 船舶應急部署表及船員應變卡
- 爾雅《尊重學術道德遵守學術規范》期末考試答案0001
- 關聯交易模板詳解
- 政治經濟學計算題附答案
評論
0/150
提交評論