




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
IBM—PC匯編語言程序設(shè)計(jì)(第2版)清華大學(xué)計(jì)算機(jī)系列教材沈美名溫冬蟬編著計(jì)算機(jī)學(xué)院賴曉風(fēng)計(jì)算機(jī)語言的發(fā)展機(jī)器語言FORTRANBASICCOBOLPASCALC/C++JAVA...匯編語言高級語言面向機(jī)器的低級語言,通常是為特定的計(jì)算機(jī)或計(jì)算機(jī)系列專門設(shè)計(jì)的。保持了機(jī)器語言的優(yōu)點(diǎn),具有直接和簡捷的特點(diǎn)可有效地訪問、控制計(jì)算機(jī)的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計(jì)語言。經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。匯編語言的特點(diǎn)
#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;}
編程實(shí)現(xiàn)c=a+b,并在屏幕上顯示出結(jié)果。
例1編譯后的目標(biāo)文件達(dá)到3.59KBdatasegmentadb?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匯編后的目標(biāo)文件只有208字節(jié)匯編語言的應(yīng)用高級繪圖程序、視頻游戲程序一般是用匯編語言編寫的。高級繪圖程序、視頻游戲程序一般是用匯編語言編寫的。70%以上的系統(tǒng)軟件是用匯編語言編寫的。某些快速處理、位處理、訪問硬件設(shè)備等高效程序是用匯編語言編寫的。70%以上的系統(tǒng)軟件是用匯編語言編寫的。高級繪圖程序、視頻游戲程序一般是用匯編語言編寫的。系統(tǒng)程序、效率代碼、I/O驅(qū)動程序建議:●充分注意“匯編”課實(shí)踐性強(qiáng)的特點(diǎn),●多讀程序,多寫程序,多上機(jī)調(diào)試程序,●熟悉PC機(jī)的編程結(jié)構(gòu),●掌握匯編語言及其程序設(shè)計(jì)的基本概念、方法和技巧。教師建議目標(biāo):●了解匯編語言的特性及其編程技術(shù),●建立起“機(jī)器”和“程序”、“空間”和“時(shí)間”的概念。參考資料1.IBMPC匯編語言與程序設(shè)計(jì)
PETERABEL編著 第4版清華大學(xué)出版社 第5版人民郵電出版社2.IBMPC匯編語言與程序設(shè)計(jì)例題習(xí)題集溫冬嬋沈美明清華大學(xué)出版社第1章基礎(chǔ)知識
數(shù)制數(shù)制之間的轉(zhuǎn)換
運(yùn)算
數(shù)和字符的表示預(yù)備知識存儲容量1K=1024=210(Kilo)1M=1024K=220
(Mega)1G=1024M=230(Giga)1個(gè)二進(jìn)制位:bit(比特)8個(gè)二進(jìn)制位:Byte(字節(jié))1Byte=8bit2個(gè)字節(jié):Word(字)
1Word=2Byte=16bit1.數(shù)制
數(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,F二進(jìn)制:基數(shù)為2,逢二進(jìn)一
11012=1×23+1×22+1×20=1310十六進(jìn)制:基數(shù)為16,逢十六進(jìn)一
1001,0001,1000,01119187=9×163+1×162+8×161+7×1602.數(shù)制之間的轉(zhuǎn)換
二進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制十進(jìn)制十六進(jìn)制降冪法除法二進(jìn)制十六進(jìn)制
001101011011111135BF∴
0011,0101,1011,1111B=35BFH
A19C
1010000110011100∴A19CH=1010,0001,1001,1100B
(1)二進(jìn)制→十進(jìn)制
1011B=23+21+20=11D(2)十進(jìn)制→二進(jìn)制整數(shù):除基取余1、降冪法2、除法
例:27D=?B
小數(shù):乘基取整2711331----2n16842111011∴27D=11011B二進(jìn)制十進(jìn)制
十六進(jìn)制十進(jìn)制(1)十六進(jìn)制→十進(jìn)制
BF3CH=11163+15162+3161+12160
=48956D(2)十進(jìn)制→十六進(jìn)制整數(shù):除基取余1、降冪法2、除法小數(shù):乘基取整
降冪法除法
例:399D=?H39914315399/16→24/16→1/16→0---↓↓↓16n256161F81
18F∴399D=18FH算術(shù)運(yùn)算
二進(jìn)制數(shù):逢二進(jìn)一借一為二加法規(guī)則乘法規(guī)則
0+0=000=00+1=101=01+0=110=01+1=0(進(jìn)位1)11=13.運(yùn)算(算術(shù)運(yùn)算和邏輯運(yùn)算)05C3H3D25H42E8H+3D25H05C3H3762H-1-1十六進(jìn)制數(shù):逢十六進(jìn)一借一為十六邏輯運(yùn)算(按位操作)“與”運(yùn)算(AND)“或”運(yùn)算(OR)
ABABABAB
000000010011100101111111“非”運(yùn)算(NOT)
“異或”運(yùn)算(XOR)
A
A
ABAB0100010
011101110相同為0不同為1例:X=00FFHY=5555H,求Z=XY=?X=0000000011111111B
Y=0101010101010101B
Z=0101010110101010BZ=55AAH4.數(shù)和字符的表示計(jì)算機(jī)中正負(fù)數(shù)的表示
76543210符號位
數(shù)值位假設(shè)機(jī)器字長為16位:符號位=0正數(shù)
數(shù)值位
=
1負(fù)數(shù)1514131211109876543210假設(shè)機(jī)器字長為8位:H.O.ByteL.O.ByteH.O.NibbleL.O.Nibble原碼表示法:符號+絕對值例: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的表示不唯一數(shù)的常用表示法
——
原碼反碼補(bǔ)碼例:機(jī)器字長8位,[-46]補(bǔ)碼=?[46]補(bǔ)碼=001011101101000111010010=D2H
機(jī)器字長16位,[-46]補(bǔ)碼=FFD2H
[+0]補(bǔ)碼=000000001111111100000000=[-0]補(bǔ)碼0的表示唯一按位求反末位加一按位求反末位加一補(bǔ)碼(Two’sComplement)表示法:正數(shù)的補(bǔ)碼:同原碼負(fù)數(shù)的補(bǔ)碼:(1)寫出與該負(fù)數(shù)相對應(yīng)的正數(shù)的補(bǔ)碼
(2)按位求反
(3)末位加一
十進(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ǔ)碼的表數(shù)范圍:
-2n-1≤N≤2n-1-1無符號整數(shù)表示數(shù)的范圍:
0≤N≤2n-1補(bǔ)碼的加法和減法:求補(bǔ)運(yùn)算
:對一個(gè)二進(jìn)制數(shù)按位求反、末位加一
[X]補(bǔ)碼
[-X]補(bǔ)碼
[X]補(bǔ)碼加法規(guī)則:[X+Y]補(bǔ)碼
=[X]補(bǔ)碼
+[Y]補(bǔ)碼減法規(guī)則:[X-Y]補(bǔ)碼
=[X]補(bǔ)碼
+[-Y]補(bǔ)碼
補(bǔ)碼減法可轉(zhuǎn)換為補(bǔ)碼加法
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 編輯基礎(chǔ)考試題目及答案
- 鄉(xiāng)鎮(zhèn)學(xué)生管理制度匯編
- 把握生命演講稿
- 亞朵倉庫管理制度
- 2025年小學(xué)骨干考試試題及答案
- 2025年爆破安全考試試題及答案
- 導(dǎo)管相關(guān)知識試卷及答案
- 中考經(jīng)驗(yàn)交流發(fā)言稿
- 兒童升旗演講稿
- 蘇州會考生物試卷及答案2025
- 學(xué)習(xí)型班組匯報(bào)
- 西藏介紹課件
- 新高考地理備考策略
- 會務(wù)理論考試題及答案
- 雷達(dá)原理基礎(chǔ)知識課件
- 2025年病歷書寫基本規(guī)范考試試題(附答案)
- 2025年輕型飛機(jī)項(xiàng)目規(guī)劃申請報(bào)告模板
- 2025秋新部編版一年級上冊語文教學(xué)計(jì)劃+教學(xué)進(jìn)度表
- 2024~2025學(xué)年內(nèi)蒙古自治區(qū)通遼市九年級上學(xué)期期末語文試卷
- 高級心理咨詢師考試試卷及答案2025年
- (2025)社區(qū)網(wǎng)格員筆試考試題庫及答案
評論
0/150
提交評論