8086匯編語言程序設計第1章+基礎知識.ppt_第1頁
8086匯編語言程序設計第1章+基礎知識.ppt_第2頁
8086匯編語言程序設計第1章+基礎知識.ppt_第3頁
8086匯編語言程序設計第1章+基礎知識.ppt_第4頁
8086匯編語言程序設計第1章+基礎知識.ppt_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、匯編語言程序設計,艱苦奮斗、嚴謹治學、求實創(chuàng)新、為人師表,程序設計語言 面向機器的低級語言 面向過程的高級語言 面向對象的高級語言 機器語言 BASIC C+ 匯編語言 Pascal Smalltalk C VC FORTRAN JAVA COBOL,第一章 基礎知識,什么是匯編語言 進位計數(shù)制及轉換方法 計算機中的數(shù)據(jù)組織 二進制的算術運算和邏輯運算,1,2,3,4,1.1 什么是匯編語言,機器語言與匯編語言 高級語言 匯編語言的特點 匯編語言與高級語言的比較 匯編語言的應用領域,機器語言 二進制編碼的計算機語言 機器語言是計算機唯一能夠識別并接受的語言,機器語言描述的程序稱為目標程序,是C

2、PU唯一能夠直接執(zhí)行的程序 。,例如:計算z=x+y 其中x=5,y=6;機器語言 指令為: A00000H; 將變量x中的內容5送到寄存器al 02060100H;將al中的內容5加變量y中的內容 6,結果送寄存器al中。 A20200H; 將最終結果送變量z中。,缺點:難于記憶和理解, 編程序麻煩易出錯, 不便于學習。,匯編語言 采用助記符表示的程序語言 例如上例:計算z=x+y 其中x=5,y=6; 機器語言 匯編語言 A00000H mov al,x 02060100H add al,y A20200H mov z,al 匯編語言的執(zhí)行語句與機器語言的指令是一一對應的。,匯編語言源程序

3、與匯編程序,圖 1-1 編輯、匯編與連接過程,匯編語言源程序,目標程序,可 運 行 程 序,匯編程序,連接程序,.asm,.obj,.exe,高級語言包括: 面向過程的語言和和面向對象語言。 面向過程語言: 采用的是人們所熟悉的、便于記憶的和容易理解的結構化的語言。 面向對象的語言: 是從面向過程語言發(fā)展而來的,它改變了編程者的思維方式,使編程者從結構化程序設計到面向對象的程序設計。,匯編語言的特點: 匯編語言與機器關系密切 匯編語言與機器語言是一一對應的,因此,再程序設計過程中,可以充分利用計算機硬件的全部功能,更直接和更有效地操縱計算機的硬件系統(tǒng)。,匯編語言程序效率高 用匯編語言編寫的源程

4、序經(jīng)匯編后所得的目標程序效率高: 時間執(zhí)行速度快,空間目標代碼短。 編寫匯編語言源程序繁瑣,程序的調試、維護、移植能力差。,匯編語言與高級語言的比較,1程序 高級語言:面向問題。 匯編語言:面向機器。 2軟件開發(fā) 高級語言: 節(jié)省軟件開發(fā)時間,但不允許程序員直接使用微處理器的集成電路芯片的許多特性。 匯編語言: 程序編寫比高級語言困難,要首先了解微機的內部結構,才能充分地發(fā)揮匯編語言的作用。,3代碼生成 高級語言: 高級語言編譯后產(chǎn)生的目標代碼程序比較長。 匯編語言: 匯編語言編譯后產(chǎn)生的目標代碼程序短,因而,匯編語言程序執(zhí)行速度快,所占內存少。,匯編語言的應用領域,了解計算機硬件資源 嵌入式

5、系統(tǒng)的底層設計 操作系統(tǒng)的核心部分的設計 是實時控制系統(tǒng)的軟件設計 接口電路的初始化程序 外部設備的底層驅動程序 復雜的算法優(yōu)化,1.2 進位計數(shù)制及轉換方法,常用的進位計數(shù)制 數(shù)制之間的轉換,常用的進位計數(shù)制,十進制記數(shù)法 二進制記數(shù)法 八進制 十六進制,數(shù)制之間的轉換,1二進制數(shù)轉換成十進制數(shù) 二進制數(shù)轉換成十進制數(shù)采用的方法是按權展開法,即按權展開后再相加。 【例1-5】 (11 1.101)2=(122 +1 2 1 +120 +121 + 123 )10 =(4+2+1+0.5+0.125)10=( 7.6 25)10,2.十進制數(shù)轉換成二進制數(shù) 【例1-6】用除2取余法計算215D

6、=( ? )B, 215D=(B7 B6B5B4 B3 B2B1B0)B=11010111B,3八進制與二進制之間的轉換 因為: 23=8 所以: 一位八進制的權相當于3位二進制數(shù) 八進制 二進制 0000 1001 2 010 3 011 4100 5101 6110 7111,例如: (563)8 = (101 110 011)2 (0.734)8 =(0. 111 011 100) 2 (11 101 110 011) 2 =(3 5 6 3 )8 (0101 011 011) 2 =(0)8,4.十六進制與二進制之間的轉換 因為: 24=16 所以: 1位十六進制的權相當于4位二進制數(shù)

7、,1) 十六進制轉換成二進制 【例1-17】(3AB)16= (0011 1010 1011)2 【例1-18】(0. 7A53)16 =(00111 1010 0101 0011)2 【例1-19】(3AB. 7A53)16 =(0011 1010 1011. 0111 1010 0101 0011)2 2) 二進制轉換成十六進制 【例1-20】 (1 1011 1110 0011 ) 2 =(1BE3)16 【例1-21】 (0.1001 0111 1) 2 =(0.978)16 【例1-22】 (1 1011 1110 0011.1001 0111 1) 2 =(1BE3.978 )16

8、,5.八進制與十六進制之間的轉換 以二進制為橋梁進行轉換 8216 1628 (765 )8=(11 1 1 1 0 1 0 1)2=(1F5)16 (0AB)16=(10101011)2=(253)8 注意:十六進制數(shù)以A,B,C,D,E,F(xiàn)打頭要在數(shù)的前面補0。,1.3 計算機中的數(shù)據(jù)組織,數(shù)據(jù)組織方式 數(shù)的表示方法 字符的表示方法,數(shù)據(jù)組織方式,位(Bit) 位是計算機中表示信息的最小單位,是一個二進制位,每一位用二進制的“0”或“1”表示。 字節(jié)(Byte) 8位二進制數(shù)為1個字節(jié), 每個字節(jié)為8位二進制數(shù)。 圖 1-2 字節(jié)的表示形式,最高位,最低位,字(Word) 字是在操作中作為

9、一個單元處理的一組數(shù)據(jù),一般1個字包含2個字節(jié),1個字可以表示216個不同的值,即0 65535(用十六進制表示為:0000HFFFFH).,圖 1-3 字的表示形式,雙字(Double Word) 2個字節(jié)為1個字,4個字節(jié)為2個字,也稱為雙字,如圖 1-4為雙字的表示形式。,低字,高字,圖 1-4 雙字的表示形式,字長 機器字的長度為字長,是計算機中每個字所包含的位數(shù)。 8088/8086 CPU 為16位數(shù)據(jù)總線數(shù),因此,8088/8086 CPU的機器字長為16位,也稱為16位機。 如:80386DX/ 80486CPU 的數(shù)據(jù)總線數(shù)為32位,機器字長就為32位。 Pentium機的數(shù)

10、據(jù)總線數(shù)為64位,機器字長就為64位。,數(shù)據(jù)字與指令字 在存儲單元中是存放的都是二進制數(shù),2字節(jié)的二進制數(shù),所表示的如果是數(shù)據(jù),為數(shù)據(jù)字。 所表示的如果是指令,為指令字。 例如:計算z=x+y 其中x=5,y=6;為了書寫方便用十六進制來表示機器指令: A00000 (3字節(jié)) 02060100 (4字節(jié)) A20200 (3字節(jié)),數(shù)制 計算機內部是采用二進制數(shù)(Binary)進行操作和運算的。 在編寫匯編語言源程序時,為了書寫方便,可以使用: 十進制數(shù)(D) 八進制數(shù)(O) 十六進制數(shù)(H),需要注意的問題: 通過匯編程序把匯編語言源程序轉換為目標程序時,程序中的十進制數(shù)、八進制數(shù)、十六進

11、制數(shù)均由匯編程序自動轉換成二進制數(shù)。,數(shù)的表示方法,帶符號數(shù)和不帶符號數(shù) 每個字節(jié)或字的最高位設置為符號位。 當符號位為0時,該數(shù)為正數(shù)。 當符號位為1時,該數(shù)為負數(shù)。 若用8位二進制來表示1個十進制數(shù),則D7 位為符號位,D6D0位為數(shù)字位。 +105 0 1101001B 105 1 1101001B(機器數(shù)) 為了便于計算機運算,通常采用補碼來表示帶符號數(shù)。,補碼的特點 a、對于正數(shù),補碼與實際值一致,符號位為0。 b、對于負數(shù),補碼與實際值互補。(補碼是實 際值每位取反碼,末尾加1 ) c、+0補=0補=00000000 d、8位字長的表示范圍: +127 128 , 01111111

12、B10000000B e、用補碼運算后,運算結果符號位如果為“0”,數(shù) 值部分就是此運算的最終結果,符號位如果為“1”, 數(shù)值部分不是運算結果,而是要把數(shù)值部分再取補,得到的才是最終運算結果。,舉例 【例1-25】機器字長為8位,計算 6510 =? 2 6510 = 65+(10) 6510 = 010000012 = 010000012補 1010 = 100010102 = 11110110 2補,8位和16位二進制補碼數(shù)的表示范圍 帶符號數(shù) 對于8位二進制的帶符號數(shù): 可表示的最大正數(shù)為01111111B( 或7FH、+127)。 可表示的最小負數(shù)為10000000B(或80H、一128)。 不帶符號數(shù) 8位無符號數(shù)的表示范圍: 00000000B11111111B (00H0FFH、0255)。,BCD碼與8421碼 BCD碼就是1位十進制數(shù)用4位二進制表示,而這4位二進制是用8421碼表示,其中四位二進制數(shù)00001001表示十進制數(shù)09,其余的四位二進制數(shù)1010111l不用。,表1.1 BCD碼與8421碼,ASCII編碼用一個字節(jié)來表示,其中的低7位為字符編碼位,最高位為 奇偶效驗位。,字符的表示方法,標準的ASCII碼共有128個字符,可分為二類:非打印ASCII和打印ASCII。如表1.2 所示。 (1)非打印ASCII(控制性代

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論