匯編語(yǔ)言程序設(shè)計(jì)課件基礎(chǔ)知識(shí)_第1頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)課件基礎(chǔ)知識(shí)_第2頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)課件基礎(chǔ)知識(shí)_第3頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)課件基礎(chǔ)知識(shí)_第4頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)課件基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

匯編語(yǔ)言程序設(shè)計(jì)姓名:陳少軍電話mail:mcc@QQ:545373402

匯編語(yǔ)言程序設(shè)計(jì)前言編程之道(TheTaoOfProgramming)Book1--TheSilentVoid第一篇靜寂的空宇Thusspakethemasterprogrammer:

編程大師如是說:"Whenyouhavelearnedtosnatchtheerrorcodefromthetrapframe,itwillbetimeforyoutoleave."

編程大師如是說:“當(dāng)你有本事奪走我手中的這塊水晶石時(shí),就是你出師的時(shí)候了。”編程之道

1.1Somethingmysteriousisformed,borninthesilentvoid.Waitingaloneandunmoving,itisatoncestillandyetinconstantmotion.Itisthesourceofallprograms.Idonotknowitsname,soIwillcallittheTaoofProgramming.

在靜寂的空宇里,一種神奇的物質(zhì)形成并誕生了。它立刻便靜止,獨(dú)自守候著,毫無動(dòng)靜,然而又處于永恒的運(yùn)動(dòng)之中。它是所有程序的源頭,我不知道它的名字,所以我將稱它為編程之道。IftheTaoisgreat,thentheoperatingsystemisgreat.Iftheoperatingsystemisgreat,thenthecompilerisgreat.Ifthecompilerisgreater,thentheapplicationsisgreat.Theuserispleasedandthereisharmonyintheworld.如果此道是完美的,那么操作系統(tǒng)就是完美的;如果操作系統(tǒng)是完美的,那么編譯程序就是完美的;如果編譯程序是完美的,那么應(yīng)用程序就是完美的。所以用戶心滿意足,整個(gè)世界因此和諧。TheTaoofProgrammingflowsfarawayandreturnsonthewindofmorning.編程之道流逝遠(yuǎn)去,又乘著晨風(fēng)而歸。編程之道1.2TheTaogavebirthtomachinelanguage.Machinelanguagegavebirthtotheassembler.此道產(chǎn)生了機(jī)器語(yǔ)言,機(jī)器語(yǔ)言又產(chǎn)生匯編語(yǔ)言。。

Theassemblergavebirthtothecompiler.Nowtherearetenthousandlanguages.匯編語(yǔ)言產(chǎn)生了編譯程序,如今有了上萬種的語(yǔ)言。Eachlanguagehasitspurpose,howeverhumble.EachlanguageexpressestheYinandYangofsoftware.EachlanguagehasitsplacewithintheTao.不論多么的微不足道,每種語(yǔ)言都有他自己的目的,每種語(yǔ)言都表達(dá)了軟件的陰陽(yáng)兩極。每種語(yǔ)言都各得其道。ButdonotprograminCOBOLifyoucanavoidit.但是,應(yīng)盡量避免用COBOL語(yǔ)言編寫程序。編程之道1.3InthebeginningwastheTao.TheTaogavebirthtoSpaceandTime.Therefore,SpaceandTimearetheYinandYangofprogramming.道之初,帶來了空間和時(shí)間,所以,空間和時(shí)間是編程的陰陽(yáng)兩極。ProgrammersthatdonotcomprehendtheTaoarealwaysrunningoutoftimeandspacefortheirprograms.ProgrammersthatcomprehendtheTaoalwayshaveenoughtimeandspacetoaccomplishtheirgoals.

不懂編程之道的編程者常常把空間和時(shí)間消耗殆盡,得道的編程者則總是有足夠的空間和時(shí)間去完成編程任務(wù)。Howcoulditbeotherwise?除此之外,難道還有其它的情形嗎?編程之道1.4ThewiseprogrammeristoldabouttheTaoandfollowsit.TheaverageprogrammeristoldabouttheTaoandsearchesforit.ThefoolishprogrammeristoldabouttheTaoandlaughsatit.精明的編程者聽說了此道,并遵循它;普通的編程者聽說了此道,并尋覓它;愚蠢的編程者聽說了此道,卻嘲笑它。

Ifitwerenotforlaughter,therewouldbenoTao.要不是因?yàn)橛谐靶?,道也就不?fù)存在了。Thehighestsoundsarethehardesttohear.Goingforwardisawaytoretreat.Greatertalentshowsitselflateinlife.Evenaperfectprogramstillhasbugs.最高的聲音最難被聽見。前進(jìn)也是一種倒退。大器晚成。即使是一個(gè)完美的程序也仍然會(huì)有隱患。

計(jì)算機(jī)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言FORTRANBASICCOBOLPASCALC/C++JAVA...匯編語(yǔ)言高級(jí)語(yǔ)言匯編語(yǔ)言的特點(diǎn)面向機(jī)器的低級(jí)語(yǔ)言,通常是為特定的計(jì)算機(jī)或計(jì)算機(jī)系列專門設(shè)計(jì)的。保持了機(jī)器語(yǔ)言的優(yōu)點(diǎn),具有直接和簡(jiǎn)捷的特點(diǎn)??捎行У卦L問、控制計(jì)算機(jī)的各種硬件設(shè)備,如磁盤、存儲(chǔ)器、CPU、I/O端口等。目標(biāo)代碼簡(jiǎn)短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計(jì)語(yǔ)言。經(jīng)常與高級(jí)語(yǔ)言配合使用,應(yīng)用十分廣泛。例1

編程實(shí)現(xiàn)c=a+b,并在屏幕上顯示出結(jié)果。#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=%d\n",c);return0;}編譯后的目標(biāo)文件達(dá)到3.59KB使用匯編編寫相應(yīng)功能的程序datasegmentadb?bdb?cdb?stringdb'c=$'dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:pushdssubax,axpushax

mov

ax,data

mov

ds,ax

mov

es,ax

mova,1

movb,2mov

c,almov

al,aaddal,bleadx,string

movah,09

int21haddc,30h

mov

dl,c

movah,2

int21h

movdl,0ah

int21h

movdl,0dh

int21hretmainendpcodeendsendstart匯編后的目標(biāo)文件只有208字節(jié)匯編語(yǔ)言的應(yīng)用系統(tǒng)程序、效率代碼、I/O驅(qū)動(dòng)程序70%以上的系統(tǒng)軟件是用匯編語(yǔ)言編寫的。某些快速處理、位處理、訪問硬件設(shè)備等高效程序是用匯編語(yǔ)言編寫的。高級(jí)繪圖程序、視頻游戲程序一般是用匯編語(yǔ)言編寫的。教師建議目標(biāo):了解匯編語(yǔ)言的特性及其編程技術(shù),建立起“機(jī)器”和“程序”、“空間”和“時(shí)間”的概念。建議:充分注意“匯編”課實(shí)踐性強(qiáng)的特點(diǎn),多讀程序,多寫程序,多上機(jī)調(diào)試程序熟悉PC機(jī)的編程結(jié)構(gòu),掌握匯編語(yǔ)言及其程序設(shè)計(jì)的基本概念、方法和技巧。參考資料1.80X86匯編語(yǔ)言程序設(shè)計(jì) 沈美明溫冬嬋清華大學(xué)出版社2.IBMPC匯編語(yǔ)言與程序設(shè)計(jì)

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

第5版人民郵電出版社3.IBMPC匯編語(yǔ)言與程序設(shè)計(jì)例題習(xí)題集溫冬嬋沈美明清華大學(xué)出版社教學(xué)計(jì)劃第1章 {3課時(shí)}第2章 {3課時(shí)}面向數(shù)據(jù)處理的程序設(shè)計(jì)教學(xué)組織簡(jiǎn)單數(shù)據(jù)處理(3) {9+3課時(shí)}復(fù)雜數(shù)據(jù)處理(3、5) {9+3課時(shí)}基本輸入輸出(3、8、5) {6課時(shí)}匯編語(yǔ)言程序格式(4) {3課時(shí)}子程序設(shè)計(jì)(3、6) {6課時(shí)}高級(jí)匯編技術(shù)(3、7) {3+3課時(shí)}覆蓋章節(jié)1、2、3、4、5、6、7教學(xué)方式任務(wù)驅(qū)動(dòng)的教學(xué)法提出問題設(shè)計(jì)解決方法畫出流程圖編寫程序運(yùn)行調(diào)試程序測(cè)試設(shè)計(jì)總結(jié)相關(guān)指令學(xué)習(xí)布置作業(yè)匯編語(yǔ)言程序設(shè)計(jì)第1章基礎(chǔ)知識(shí)第1章基礎(chǔ)知識(shí)數(shù)制數(shù)制之間的轉(zhuǎn)換運(yùn)算數(shù)和字符的表示預(yù)備知識(shí)存儲(chǔ)容量1K=1024=210

1M=1024K=220

1G=1024M=230

1T=1024G=240

1個(gè)二進(jìn)制位:bit(比特)8個(gè)二進(jìn)制位:Byte(字節(jié))1Byte=8bit2個(gè)字節(jié):Word(字)1Word=2Byte=16bit1.數(shù)制二進(jìn)制:基數(shù)為2,逢二進(jìn)一

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

9187=9×163+1×162+8×161+7×160數(shù)制基數(shù)數(shù)碼

二進(jìn)制Binary20,1

八進(jìn)制Octal80,1,2,3,4,5,6,7

十進(jìn)制Decimal100,1,2,3,4,5,6,7,8,9

十六進(jìn)制Hexadecimal160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F2.數(shù)制之間的轉(zhuǎn)換二進(jìn)制十進(jìn)制十六進(jìn)制二進(jìn)制十六進(jìn)制

001101011011111135BF∴0011,0101,1011,1111B=35BFHA19C1010000110011100∴A19CH=1010,0001,1001,1100B二進(jìn)制十進(jìn)制1011B=23+21+20=11D

降冪法(除法)例:27D=?B2711331--

--2n168421

11011

∴27D=11011B

十六進(jìn)制十進(jìn)制

BF3CH=11163+15162+3161+12160

=48956D

降冪法除法

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

18F

∴399D=18FH3.運(yùn)算(算術(shù)運(yùn)算和邏輯運(yùn)算)算術(shù)運(yùn)算二進(jìn)制數(shù):逢二進(jìn)一借一為二加法規(guī)則乘法規(guī)則

0+0=0 00=0 0+1=1 01=0 1+0=1 10=0 1+1=0(進(jìn)位1) 11=1十六進(jìn)制數(shù):逢十六進(jìn)一借一為十六 05C3H 3D25H+) 3D25H -) 05C3H 42E8H 3762H邏輯運(yùn)算(按位操作)“與”運(yùn)算(AND)“或”運(yùn)算(OR)

ABABABAB

000000010011100101111111“非”運(yùn)算(NOT)

“異或”運(yùn)算(XOR)

AA

ABAB0100010

011101110例:X=00FFHY=5555H,求Z=X

Y=?

X=0000000011111111B

Y=01010101

0101

0101BZ=0101010110101010BZ=55AAH4.信息在計(jì)算機(jī)中的表示無符號(hào)數(shù)的表示帶符號(hào)數(shù)的表示字符的表示其它信息的表示無符號(hào)數(shù)的表示假設(shè)機(jī)器字長(zhǎng)為8位00000000~111111110~255=(28-1)假設(shè)機(jī)器字長(zhǎng)為16位0000000000000000~111111111111110~65535=(216-1)假設(shè)機(jī)器字長(zhǎng)為32位0~232-1假設(shè)機(jī)器字長(zhǎng)為64位0~264-1帶符號(hào)數(shù)的表示假設(shè)機(jī)器字長(zhǎng)為8位:假設(shè)機(jī)器字長(zhǎng)為16位:符號(hào)位=0表示正數(shù)=1表示負(fù)數(shù)

76543210符號(hào)位

數(shù)值位H.O.NibbleL.O.Nibble符號(hào)位

數(shù)值位1514131211109876543210H.O.ByteL.O.Byte帶符號(hào)數(shù)的常用表示法原碼表示法:符號(hào)+絕對(duì)值例:n=8bit[+3]原碼

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

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

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

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

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

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

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

=1111,1111=FFH0的表示不惟一補(bǔ)碼表示法補(bǔ)碼(Two’sComplement)表示法:正數(shù)的補(bǔ)碼:同原碼負(fù)數(shù)的補(bǔ)碼:(1)寫出與該負(fù)數(shù)相對(duì)應(yīng)的正數(shù)的補(bǔ)碼(2)按位求反(3)末位加一例:機(jī)器字長(zhǎng)8位,[-46]補(bǔ)碼=?[46]補(bǔ)碼=001011101101000111010010=D2H機(jī)器字長(zhǎng)16位,[-46]補(bǔ)碼=FFD2H[+0]補(bǔ)碼=000000001111111100000000=[-0]補(bǔ)碼0的表示惟一按位求反末位加一按位求反末位加一十進(jìn)制二進(jìn)制十六進(jìn)制十進(jìn)制十六進(jìn)制

n=8n=16+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002-1271000000181-327678001-1281000000080-327688000n位二進(jìn)制補(bǔ)碼的表示范圍:

-2n-1≤N≤2n-1-1無符號(hào)整數(shù)的表示范圍:

0≤N≤2n-1

補(bǔ)碼的加法和減法:求補(bǔ)運(yùn)算:對(duì)一個(gè)二進(jìn)制數(shù)按位求反、末位加一[X]補(bǔ)碼[-X]補(bǔ)碼[X]補(bǔ)碼加法規(guī)則:[X+Y]補(bǔ)碼=[X]補(bǔ)碼+[Y]補(bǔ)碼減法規(guī)則:

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論