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

下載本文檔

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

文檔簡介

1、IBMPC匯編語言 程序設(shè)計(第2版),清華大學(xué)計算機系列教材 沈美名 溫冬蟬 編著,計算機語言的發(fā)展,機器語言,FORTRAN BASIC COBOL PASCAL C/C+ JAVA .,匯編語言的特點 面向機器的低級語言,通常是為特定的計算 機或計算機系列專門設(shè)計的。 保持了機器語言的優(yōu)點,具有直接和簡捷 的特點。 可有效地訪問、控制計算機的各種硬件設(shè)備, 如磁盤、存儲器、CPU、I/O端口等。 目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快, 是高效的程序設(shè)計語言。 經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。,#include stdafx.h #include stdio.h int main(i

2、nt 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,編譯后的目標(biāo)文件達(dá)到3.59KB,data segment a db ? b db ? c db ? string db c=$ data ends code segment main proc far assume cs:code, ds:data, es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov e

3、s,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,匯編后的目標(biāo)文件只有208字節(jié),匯編語言的應(yīng)用 系統(tǒng)程序、效率代碼、I/O驅(qū)動程序 70%以上的系統(tǒng)軟件是用匯編語言編寫的。 某些快速處理、位處理、訪問硬件設(shè)備等 高效程序是用匯編語言編寫的。

4、高級繪圖程序、視頻游戲程序一般是用匯 編語言編寫的。,教師建議 目標(biāo): 了解匯編語言的特性及其編程技術(shù), 建立起“機器”和“程序”、“空間”和 “時間”的概念。 建議: 充分注意“匯編”課實踐性強的特點, 多讀程序,多寫程序,多上機調(diào)試程序, 熟悉PC機的編程結(jié)構(gòu), 掌握匯編語言及其程序設(shè)計的基本概 念、方法和技巧。,參考資料 1.80X86匯編語言程序設(shè)計 沈美明 溫冬嬋 清華大學(xué)出版社 2.IBM PC 匯編語言與程序設(shè)計 PETER ABEL 編著 第4版 清華大學(xué)出版社.PRENTICE HALL 第5版 人民郵電出版社 3. IBM PC 匯編語言與程序設(shè)計例題習(xí)題集 溫冬嬋 沈美明

5、 清華大學(xué)出版社,教學(xué)日歷: 第一周 緒論 數(shù)制 數(shù)制之間的轉(zhuǎn)換 數(shù)和字符的表示 運算 第二周 計算機組織 CPU 存儲器 外部設(shè)備 尋址方式 第三周 指令系統(tǒng)(1) 第四周 指令系統(tǒng)(2) BIOS和DOS調(diào)用 第五周 上機過程 完整段定義和簡化段定義格式 偽操作 第六周 循環(huán)與分支程序設(shè)計 子程序結(jié)構(gòu) 第七周 高級匯編語言技術(shù) I/O程序設(shè)計 第八周 中斷程序設(shè)計 復(fù)習(xí),第1章 基 礎(chǔ) 知 識, 數(shù)制 數(shù)制之間的轉(zhuǎn)換 運算 數(shù)和字符的表示,預(yù) 備 知 識,存儲容量 1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230

6、 (Giga) 1個二進(jìn)制位:bit (比特) 8個二進(jìn)制位:Byte (字節(jié)) 1Byte = 8bit 2個字節(jié): Word (字) 1Word = 2Byte = 16bit,1. 數(shù) 制,二進(jìn)制: 基數(shù)為2,逢二進(jìn)一 11012 = 12 3 + 12 2 + 12 0 = 1310 十六進(jìn)制:基數(shù)為16,逢十六進(jìn)一 1001, 0001, 1000, 0111 9 1 8 7 = 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0,2. 數(shù)制之間的轉(zhuǎn)換,二進(jìn)制 十六進(jìn)制 十進(jìn)制 二進(jìn)制 十進(jìn)制 十六進(jìn)制,降冪法 除法, 二進(jìn)制 十六進(jìn)制 0011 0101 1011

7、1111 3 5 B F 0011,0101,1011,1111B = 35BFH A 1 9 C 1010 0001 1001 1100 A19CH = 1010,0001,1001,1100B,1011B = 23+21+20=11D 降冪法 除法 例: 27D = ? B 27 11 3 3 1 - - - - 2n 16 8 4 2 1 1 1 0 1 1 27D = 11011B, 二進(jìn)制 十進(jìn)制, 十六進(jìn)制 十進(jìn)制 BF3CH = 11163 +15162 +3161 +12160 = 48956D 降冪法 除法 例:399D = ? H 399 143 15 399/1624/1

8、61/16 0 - - - 16n 256 16 1 F 8 1 1 8 F 399D = 18FH, 算術(shù)運算 二進(jìn)制數(shù):逢二進(jìn)一 借一為二 加法規(guī)則 乘法規(guī)則 0 + 0 = 0 0 0 = 0 0 + 1 = 1 0 1 = 0 1 + 0 = 1 1 0 = 0 1 + 1 = 0 (進(jìn)位1) 1 1 = 1,3. 運算(算術(shù)運算和邏輯運算),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,十六進(jìn)制數(shù):逢十六進(jìn)一 借一為十六, 邏輯運算(按位操作),“與”運算(AND) “或”運算(OR) A B AB A

9、 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 B Y= 0101 0101 0101 0101 B Z= 0101 0101 1010 1010 B Z=55AAH,4. 數(shù)和字符的表示, 計算機中正負(fù)數(shù)的表示,7 6 5 4 3 2 1 0,符號位 數(shù)值位,假設(shè)機器字長為16位:,符號位 = 0 正數(shù)

10、數(shù)值位 = 1 負(fù)數(shù),15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,假設(shè)機器字長為8位:,H.O.Byte,L.O.Byte,H.O.Nibble,L.O.Nibble,數(shù)的常用表示法 原碼 反碼 補碼 原碼表示法:符號 + 絕對值 例:n = 8bit +3原碼 = 0 000,0011 = 03H - 3原碼 = 1 000,0011 = 83H +0原碼 = 0 000,0000 = 00H - 0原碼 = 1 000,0000 = 80H 0 的表示不惟一 反碼表示法:正數(shù)的反碼同原碼,負(fù)數(shù)的反碼數(shù)值位與原碼相反 例:n = 8bit +5反碼 = 0 0

11、00,0101 = 05H - 5反碼 = 1 111,1010 = FAH +0反碼 = 0 000,0000 = 00H - 0反碼 = 1 111,1111 = FFH 0 的表示不惟一,補碼(Twos Complement)表示法: 正數(shù)的補碼: 同原碼 負(fù)數(shù)的補碼:(1)寫出與該負(fù)數(shù)相對應(yīng)的正數(shù)的補碼 (2)按位求反 (3)末位加一,n位二進(jìn)制補碼的表數(shù)范圍: - 2n-1 N 2n-1-1,無符號整數(shù)的表數(shù)范圍: 0 N 2n-1,補碼的加法和減法: 求補運算 :對一個二進(jìn)制數(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,例:,進(jìn)位和溢出 進(jìn)位: 由于運算結(jié)果超出了位數(shù),最高有效位向 前的進(jìn)位,這一位自然丟失,一般不表 示結(jié)果的對錯。 溢出:表示結(jié)果超出了字長允許表示的范圍, 一般會造成結(jié)果出錯。 例: (64) 11000000 127 0

溫馨提示

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

最新文檔

評論

0/150

提交評論