大三上限選匯編語言課件第1章_第1頁
大三上限選匯編語言課件第1章_第2頁
大三上限選匯編語言課件第1章_第3頁
大三上限選匯編語言課件第1章_第4頁
大三上限選匯編語言課件第1章_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

IBM—PC匯編語言程序設(shè)計(第二版)清華大學(xué)計算機系列教材計算機語言的發(fā)展機器語言FORTRANBASICCOBOLPASCALC/C++JAVA...匯編語言高級語言匯編語言的特點

面向機器的低級語言,通常是為特定的計算機或計算機系列專門設(shè)計的。保持了機器語言的優(yōu)點,具有直接和簡捷的特點。可有效地訪問、控制計算機的各種硬件設(shè)備,

如磁盤、存儲器、CPU、I/O端口等。目標代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。

#include"stdafx.h"#include"stdio.h"intmain(intargc,char*argv[]){inta,b,c;a=1; b=2; c=a+b; printf(“c=%d\n",c); return0;}

編程實現(xiàn)c=a+b,并在屏幕上顯示出結(jié)果。

例1編譯后的目標文件達到3.59KBdata

segmentadb?bdb?cdb?stringdb'c=$'dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:

pushdssubax,axpushax

movax,datamovds,axmoves,ax

mova,1movb,2moval,aaddal,bmovc,al

leadx,stringmovah,09int21h

addc,30hmovdl,cmovah,2int21hmovdl,0ahint21hmovdl,0dhint21hretmainendpcodeendsendstart例2.C=a+b匯編后的目標文件只有208字節(jié)匯編語言的應(yīng)用系統(tǒng)程序、效率代碼、I/O驅(qū)動程序

70%以上的系統(tǒng)軟件是用匯編語言編寫的。某些快速處理、位處理、訪問硬件設(shè)備等高效程序是用匯編語言編寫的。高級繪圖程序、視頻游戲程序一般是用匯編語言編寫的。教師建議目標:●了解匯編語言的特性及其編程技術(shù),●建立起“機器”和“程序”、“空間”和

“時間”的概念。建議:●充分注意“匯編”課實踐性強的特點,●多讀程序,多寫程序,多上機調(diào)試程序,●熟悉PC機的編程結(jié)構(gòu),●掌握匯編語言及其程序設(shè)計的基本概念、方法和技巧。參考資料1.80X86匯編語言程序設(shè)計 沈美明溫冬嬋清華大學(xué)出版社2.IBMPC匯編語言與程序設(shè)計

PETERABEL編著 第4版清華大學(xué)出版社.PRENTICEHALL

第5版人民郵電出版社3.IBMPC匯編語言與程序設(shè)計例題習(xí)題集溫冬嬋沈美明清華大學(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ǔ)知識1.1進位計數(shù)制與不同基數(shù)的數(shù)之間的轉(zhuǎn)換

1.2

二進制數(shù)和十六進制數(shù)運算

1.3計算機中數(shù)和字符的表示

1.4幾種基本的邏輯運算預(yù)備知識存儲容量1K=1024=210(Kilo)1M=1024K=220

(Mega)1G=1024M=230(Giga)1個二進制位:bit(比特)8個二進制位:Byte(字節(jié))1Byte=8bit2個字節(jié):Word(字)

1Word=2Byte=16bit1.1.1數(shù)制

數(shù)制基數(shù)數(shù)碼

二進制Binary20,1

八進制Octal80,1,2,3,4,5,6,7

十進制Decimal100,1,2,3,4,5,6,7,8,9

十六進制Hexadecimal160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F二進制:基數(shù)為2,逢二進一

11012=1×23+1×22+1×20=1310十六進制:基數(shù)為16,逢十六進一

1001,0001,1000,01119187=9×163+1×162+8×161+7×1601.1.2數(shù)制之間的轉(zhuǎn)換

二進制十六進制十進制二進制十進制十六進制降冪法除法二進制十六進制

001101011011111135BF∴

0011,0101,1011,1111B=35BFH

A19C

1010000110011100∴A19CH=1010,0001,1001,1100B

1011B=23+21+20=11D

降冪法除法

例:27D=?B2711331----2n16842111011

∴27D=11011B二進制十進制

十六進制十進制

BF3CH=11163+15162+3161+12160

=48956D

降冪法除法

例:399D=?H39914315399/16→24/16→1/16→0---↓↓↓16n256161F

81

18F

∴399D=18FH1.2.1二進制數(shù)運算

二進制數(shù):逢二進一借一為二加法規(guī)則乘法規(guī)則

0+0=000=00+1=101=01+0=110=01+1=0(進位1)11=11.2二進制數(shù)和十六進制數(shù)運算05C3H3D25H42E8H+3D25H05C3H3762H-1-1十六進制數(shù):逢十六進一借一為十六1.2.2十六進制數(shù)運算1.3計算機中數(shù)和字符的表示計算機中正負數(shù)的表示

76543210符號位

數(shù)值位假設(shè)機器字長為16位:符號位=0正數(shù)

數(shù)值位

=

1負數(shù)1514131211109876543210假設(shè)機器字長為8位:H.O.ByteL.O.ByteH.O.NibbleL.O.Nibble數(shù)的常用表示法

——

原碼反碼補碼原碼表示法:符號+絕對值例:n=8bit[+3]原碼

=0000,0011=03H[-3]原碼

=1000,0011=83H[+0]原碼

=0000,0000=00H[-0]原碼

=1000,0000=80H0的表示不惟一反碼表示法:正數(shù)的反碼同原碼,負數(shù)的反碼數(shù)值位與原碼相反例:n=8bit[+5]反碼

=0000,0101=05H[-5]反碼

=1111,1010=FAH[+0]反碼

=0000,0000=00H[-0]反碼

=1111,1111=FFH0的表示不惟一例:機器字長8位,[-46]補碼=?[46]補碼=001011101101000111010010=D2H

機器字長16位,[-46]補碼=FFD2H

[+0]補碼=000000001111111100000000=[-0]補碼0的表示惟一按位求反末位加一按位求反末位加一補碼(Two’sComplement)表示法:正數(shù)的補碼:同原碼負數(shù)的補碼:(1)寫出與該負數(shù)相對應(yīng)的正數(shù)的補碼

(2)按位求反

(3)末位加一

十進制二進制十六進制十進制十六進制

n=8n=16+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002-1271000000181-327678001-1281000000080-327688000n位二進制補碼的表數(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+010000001101001000010010+例:進位和溢出進位:由于運算結(jié)果超出了位數(shù),最高有效位向前的進位,這一位自然丟失,一般不表示結(jié)果的對錯。溢出:表示結(jié)果超出了字長允許表示的范圍,一般會造成結(jié)果出錯。例:(-64)1100000012701111111

+6401000000+1000000010100000000128

10000000

進位溢出字符的表示ASCII碼:用一個字節(jié)來表示一個字符,低7位為字符的ASCII值,最高位一般用作校驗位。

例:‘A’41H‘a(chǎn)’61H‘1’31H

換行0AH

回車0DH

空格20H

邏輯運算(按位操作)“與”運算(AND)“或”運算(OR)

ABABABAB

000

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論