沈美明匯編語言第1章.ppt_第1頁
沈美明匯編語言第1章.ppt_第2頁
沈美明匯編語言第1章.ppt_第3頁
沈美明匯編語言第1章.ppt_第4頁
沈美明匯編語言第1章.ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、IBMPC匯編語言 程序設計(第2版),清華大學計算機系列教材 沈美名 溫冬蟬 編著,一、課程說明,1.本課程介紹計算機底層的工作方式和結(jié)構(gòu)原理,對了解計算機硬件的工作很重要。 2要求:不許缺課、及時總結(jié)、獨立作業(yè)、及時提問。 凡是布置的作業(yè),一律下周上課前交;實驗報告在進實驗室的時候檢查。 必備筆記本,學會記筆記(制做筆記)。 3忠告:“知識可以寫在紙上、可以突擊掌握,但是能力是突擊不出來的”?!皩W習任何樂器,知道怎樣發(fā)出多來咪幾分鐘既可,但是要能演奏樂曲需要幾年的練習”、“開汽車的知識5分鐘就可以掌握,就是油門、剎車、離合、檔位,但是能夠真正操控自如需要幾十天的的練習”、“運動員為了鍛煉某

2、一部分的肌肉,需要長期重復做幾個基本動作,誰也知道不可能一晚上把某塊肌肉練出來”、“邏輯思維能力也是通過長期沉浸在相關(guān)知識的理解、運用、貫通、思考中逐步積累培養(yǎng)起來的,為了考試而突擊式的背書僅僅記住了知識,而絕對不可能掌握能力”。,二、教師建議 目標: 了解匯編語言的特性及其編程技術(shù), 建立起“機器”和“程序”、“空間”和 “時間”的概念。 建議: 充分注意“匯編”課實踐性強的特點, 多讀程序,多寫程序,多上機調(diào)試程序, 熟悉PC機的編程結(jié)構(gòu), 掌握匯編語言及其程序設計的基本概 念、方法和技巧。,三、本課程的定位,計算機組成原理與系統(tǒng)結(jié)構(gòu)、匯編語言、微機原理是計算機硬件方面的三門主要課程。組成

3、原理介紹一般計算機的CPU、內(nèi)存等細節(jié)技術(shù)理論,匯編語言介紹微機的機器指令功能和編程,微機原理介紹微機的硬件構(gòu)成。,計算機語言的發(fā)展,機器語言,FORTRAN BASIC COBOL PASCAL C/C+ JAVA .,用二進制代碼0和1表示指令和數(shù)據(jù),指令用助記符表示,地址、操作數(shù)可用標號、符號地址及字符等形式來描述。,接近于人的自然語言,面向過程而獨立于機器的通用語言。,匯編語言的特點 面向機器的低級語言,通常是為特定的計算 機或計算機系列專門設計的。 保持了機器語言的優(yōu)點,具有直接和簡捷 的特點。 可有效地訪問、控制計算機的各種硬件設備, 如磁盤、存儲器、CPU、I/O端口等。 目標代

4、碼簡短,占用內(nèi)存少,執(zhí)行速度快, 是高效的程序設計語言。 經(jīng)常與高級語言配合使用,應用十分廣泛。,#include stdafx.h #include stdio.h int main(int argc, char* argv) int a,b,c; a=1; b=2; c=a+b; printf(“c=%dn,c); return 0; ,編程實現(xiàn) c =a+b,并在屏幕上顯示出結(jié)果。,例1,編譯后的目標文件達到3.59KB,data segment a db ? b db ? c db ? string db c=$ data ends code segment main proc far

5、 assume cs:code, ds:data, es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,ax,mov a,1 mov b,2 mov al,a add al,b mov c,al lea dx,string mov ah,09 int 21h add c,30h mov dl,c mov ah,2 int 21h mov dl,0ah int 21h mov dl,0dh int 21h ret main endp code ends end start,例 2. C = a + b,匯編后

6、的目標文件只有208字節(jié),匯編語言的應用 系統(tǒng)程序、效率代碼、I/O驅(qū)動程序 70%以上的系統(tǒng)軟件是用匯編語言編寫的。 某些快速處理、位處理、訪問硬件設備等 高效程序是用匯編語言編寫的。 高級繪圖程序、視頻游戲程序一般是用匯 編語言編寫的。,匯編語言的語句結(jié)構(gòu),1匯編語言的指令類型 MCS-51單片機匯編語言,包含兩類不同性質(zhì)的指令。 (1)基本指令:即指令系統(tǒng)中的指令。它們都是機器能夠執(zhí)行的指令,每一條指令都有對應的機器碼。 (2)偽指令:匯編時用于控制匯編的指令。它們都是機器不執(zhí)行的指令,無機器碼。 2匯編語言的語句格式 匯編語言源程序是由匯編語句(即指令)組成的。匯編語言一般由四部分組成

7、。 其典型的匯編語句格式如下: 標號:操作碼操作數(shù);注釋 START:MOV A,30H;A(30H),參考資料 1.匯編語與程序設計 王爽 編著 清華大學出版社 2. IBM PC 匯編語言與程序設計例題習題集 溫冬嬋 沈美明 清華大學出版社,第1章 基 礎 知 識, 數(shù)制 數(shù)制之間的轉(zhuǎn)換 運算 數(shù)和字符的表示,預 備 知 識,存儲容量 1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga) 1個二進制位:bit (比特) 8個二進制位:Byte (字節(jié)) 1Byte = 8bit 2個字節(jié): Word (

8、字) 1Word = 2Byte = 16bit,1. 數(shù) 制,二進制: 基數(shù)為2,逢二進一 11012 = 12 3 + 12 2 + 12 0 = 1310 十六進制:基數(shù)為16,逢十六進一 1001, 0001, 1000, 0111 9 1 8 7 = 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0,2. 數(shù)制之間的轉(zhuǎn)換,二進制 十六進制 十進制 二進制 十進制 十六進制,降冪法 除法, 二進制 十六進制:4位對1位 0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B = 35BFH A 1 9 C 1010 0001

9、1001 1100 A19CH = 1010,0001,1001,1100B,1011B = 23+21+20=11D 整數(shù)部分除2取余倒序, 小數(shù)部分乘2取整正序 例: 27D = ? B,二進制 十進制:, 十六進制 十進制 BF3CH = 11163 +15162 +3161 +12160 = 48956D 整數(shù)部分除2取余倒序, 小數(shù)部分乘2取整正序, 算術(shù)運算 二進制數(shù):逢二進一 借一為二 加法規(guī)則 乘法規(guī)則 0 + 0 = 0 0 0 = 0 0 + 1 = 1 0 1 = 0 1 + 0 = 1 1 0 = 0 1 + 1 = 0 (進位1) 1 1 = 1,3. 運算(算術(shù)運算

10、和邏輯運算),0 5 C 3 H 3 D 2 5 H 4 2 E 8 H,3 D 2 5 H 0 5 C 3 H 3 7 6 2 H,1,1,十六進制數(shù):逢十六進一 借一為十六, 邏輯運算(按位操作),“與”運算(AND) “或”運算(OR) A B AB A B AB 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 “非”運算(NOT) “異或”運算(XOR) A A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0,例:X=00FFH Y=5555H,求Z=XY= ? X= 0000 0000 1111 1111

11、B Y= 0101 0101 0101 0101 B Z= 0101 0101 1010 1010 B Z=55AAH,4. 數(shù)和字符的表示, 計算機中正負數(shù)的表示,7 6 5 4 3 2 1 0,符號位 數(shù)值位,假設機器字長為16位:,符號位 = 0 正數(shù) 數(shù)值位 = 1 負數(shù),15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,假設機器字長為8位:,H.O.Byte,L.O.Byte,H.O.Nibble,L.O.Nibble,數(shù)的常用表示法 原碼 反碼 補碼 原碼表示法:符號 + 絕對值 例:n = 8bit +3原碼 = 0 000,0011 = 03H - 3

12、原碼 = 1 000,0011 = 83H +0原碼 = 0 000,0000 = 00H - 0原碼 = 1 000,0000 = 80H 0 的表示不惟一 反碼表示法:正數(shù)的反碼同原碼,負數(shù)的反碼數(shù)值位與原碼相反 例:n = 8bit +5反碼 = 0 000,0101 = 05H - 5反碼 = 1 111,1010 = FAH +0反碼 = 0 000,0000 = 00H - 0反碼 = 1 111,1111 = FFH 0 的表示不惟一,補碼(Twos Complement)表示法: 正數(shù)的補碼: 同原碼 負數(shù)的補碼:(1)寫出與該負數(shù)相對應的正數(shù)的補碼 (2)按位求反 (3)末位

13、加一,n位二進制補碼的表數(shù)范圍: - 2n-1 N 2n-1-1,無符號整數(shù)的表數(shù)范圍: 0 N 2n-1,補碼的加法和減法: 求補運算 :對一個二進制數(shù)按位求反、末位加一 X補碼 -X補碼 X補碼 加法規(guī)則:X+Y補碼 = X補碼 + Y補碼 減法規(guī)則:X-Y補碼 = X補碼 + -Y補碼 補碼減法可轉(zhuǎn)換為補碼加法,64 (-46) 18,0100 0000 1101 0010 0001 0010,例:,進位和溢出 進位: 由于運算結(jié)果超出了位數(shù),最高有效位向 前的進位,這一位自然丟失,一般不表 示結(jié)果的對錯。 溢出:表示結(jié)果超出了字長允許表示的范圍, 一般會造成結(jié)果出錯。 例: (64)

14、11000000 127 01111111 64 01000000 + 1 00000001 0 1 00000000 128 10000000 進位 溢出, 字符的表示 ASCII碼:用一個字節(jié)來表示一個字符,低7位 為字符的ASCII值,最高位一般用作 校驗位。 例: A 41H a 61H 1 31H 換行 0AH 回車 0DH 空格 20H,5.二進制數(shù)的應用 (1)編碼和數(shù)值范圍 4位2進制數(shù),共有16個數(shù),數(shù)值范圍015; 7位2進制數(shù),共有128個數(shù),數(shù)值范圍0127; 8位2進制數(shù)(一字節(jié)),共有256個數(shù),數(shù)值范圍0255,可 以為256個XX命名; 16位2進制數(shù)(兩字節(jié))

15、,共有65536個數(shù),范圍065535,可 為65536個XX命名; (2)K、M、G、T 王陽元院士在21世紀硅微電子技術(shù)一文中說:21世紀,微 電子技術(shù)將從3G(109)發(fā)展到3T(1012)。存儲容量由G位 發(fā)展到T位,器件速度由GHz發(fā)展到THz,數(shù)據(jù)傳輸速率由 Gbps發(fā)展到Tbps。,21010241K103,2201024K1M106, 2301024M1G109,2401024G1T1012; (用于字節(jié)數(shù)、單元數(shù)、空間數(shù)均可) 如果說一個芯片有24根地址線,那么它可以表示的地址范圍是:16M。 (3)色彩數(shù)與位數(shù) 用1位2進制數(shù)表示色彩:只有亮與不亮,稱為單色(實際是雙色);

16、 用2位2進制數(shù)表示色彩:有00、01、10、11四種編碼,可以呈現(xiàn)四種顏色; 用4位2進制數(shù)表示色彩:有16種編碼,可以呈現(xiàn)16種顏色; 用8位2進制數(shù)表示色彩:有256種編碼,可以呈現(xiàn)256種顏色; 用16位2進制數(shù)表示色彩:有65536種編碼,可以呈現(xiàn)65536種顏色; 用24位2進制數(shù)表示色彩:有16777216種編碼,可以呈現(xiàn)16M種顏色(真 彩); 用32位2進制數(shù)表示色彩:有4294967296種編碼,可以呈現(xiàn)4G種顏色(真彩); (4)16進制地址與空間 03FFH是1024個數(shù)據(jù),可以為1K個單元表示地址; 07 FFH是2048個數(shù)據(jù),可以為2K個單元表示地址; 00BFFH是3072個數(shù)據(jù),可以為3K個單元表示地址;,00BFFH是3072個數(shù)據(jù),可以為3K個單元表示地址; 00FFFH是4096個數(shù)據(jù),可以為4K個單元表示地址; 3位16進制數(shù)(12位2進制)最大可表示4

溫馨提示

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

評論

0/150

提交評論