1.2微機(jī)原理與應(yīng)用ppt課件_第1頁(yè)
1.2微機(jī)原理與應(yīng)用ppt課件_第2頁(yè)
1.2微機(jī)原理與應(yīng)用ppt課件_第3頁(yè)
1.2微機(jī)原理與應(yīng)用ppt課件_第4頁(yè)
1.2微機(jī)原理與應(yīng)用ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、怎么把程序和數(shù)怎么把程序和數(shù)據(jù)存入計(jì)算機(jī)?據(jù)存入計(jì)算機(jī)?就像把餅干放進(jìn)就像把餅干放進(jìn)盒子里面么?盒子里面么?通過(guò)匯編軟件經(jīng)通過(guò)匯編軟件經(jīng)過(guò)匯編鏈接形成過(guò)匯編鏈接形成可執(zhí)行文件。可執(zhí)行文件。匯編語(yǔ)言程序的上機(jī)處理過(guò)程匯編語(yǔ)言程序的上機(jī)處理過(guò)程主要的匯編程序:主要的匯編程序:MASM,TASM匯編語(yǔ)言匯編語(yǔ)言源程序源程序(文本文檔)(文本文檔)匯編軟件匯編匯編軟件匯編MASM機(jī)器語(yǔ)言機(jī)器語(yǔ)言目標(biāo)文件目標(biāo)文件(.obj)連接軟件連接軟件link機(jī)器語(yǔ)言機(jī)器語(yǔ)言可執(zhí)行文件可執(zhí)行文件(exe,com)執(zhí)行程序執(zhí)行程序匯編語(yǔ)言程序的開(kāi)發(fā)過(guò)程匯編語(yǔ)言程序的開(kāi)發(fā)過(guò)程編輯編輯文本編輯器,如文本編輯器,如 EDI

2、T源程序:文件名源程序:文件名.asm匯編匯編匯編程序,如匯編程序,如 ML.EXE連接連接連接程序,如連接程序,如 LINK.EXE調(diào)試調(diào)試調(diào)試程序,如調(diào)試程序,如 CodeView錯(cuò)誤錯(cuò)誤錯(cuò)誤錯(cuò)誤錯(cuò)誤錯(cuò)誤錯(cuò)誤錯(cuò)誤目標(biāo)模塊:文件名目標(biāo)模塊:文件名.obj可執(zhí)行文件:文件名可執(zhí)行文件:文件名.exe應(yīng)用程序應(yīng)用程序第第3章章 匯編語(yǔ)言基礎(chǔ)匯編語(yǔ)言基礎(chǔ)3.1 源程序結(jié)構(gòu)源程序結(jié)構(gòu)3.1.1 語(yǔ)句格式語(yǔ)句格式3.1.2 程序格式程序格式3.1.3 開(kāi)發(fā)方法開(kāi)發(fā)方法3.2 數(shù)據(jù)表示數(shù)據(jù)表示3.2.1 數(shù)制數(shù)制3.2.2 編碼編碼3.2.3 常量表達(dá)常量表達(dá)3.3 變量應(yīng)用變量應(yīng)用3.3.1 變量定義

3、變量定義3.2.2 變量屬性變量屬性語(yǔ)句格式語(yǔ)句格式 程序由語(yǔ)句組成程序由語(yǔ)句組成 一個(gè)語(yǔ)句常占一行一個(gè)語(yǔ)句常占一行 一個(gè)語(yǔ)句不超過(guò)一個(gè)語(yǔ)句不超過(guò)132個(gè)字符,個(gè)字符,4個(gè)部分個(gè)部分 執(zhí)行性語(yǔ)句:表達(dá)處理器指令硬指令)執(zhí)行性語(yǔ)句:表達(dá)處理器指令硬指令) 標(biāo)號(hào)標(biāo)號(hào): 硬指令助記符硬指令助記符 操作數(shù)操作數(shù),操作數(shù)操作數(shù);注釋注釋 例:例:first: mov ah, 9 ;使得使得AH=9 說(shuō)明性語(yǔ)句:表達(dá)偽指令,控制匯編方式說(shuō)明性語(yǔ)句:表達(dá)偽指令,控制匯編方式 名字名字 偽指令助記符偽指令助記符 參數(shù)參數(shù),參數(shù)參數(shù),;注釋注釋 例:例: msgdb Hello, Assembly !,13,1

4、0, $標(biāo)號(hào)與名字標(biāo)號(hào)與名字 標(biāo)號(hào):執(zhí)行性語(yǔ)句中標(biāo)號(hào):執(zhí)行性語(yǔ)句中 冒號(hào)分隔冒號(hào)分隔 反映處理器指令在主存中的邏輯地址反映處理器指令在主存中的邏輯地址 名字:說(shuō)明性語(yǔ)句中名字:說(shuō)明性語(yǔ)句中 空格或制表符分隔空格或制表符分隔 表示變量名、邏輯段名、子程序名等表示變量名、邏輯段名、子程序名等 反映變量、邏輯段和子程序等的邏輯地址反映變量、邏輯段和子程序等的邏輯地址標(biāo)號(hào)和名字是用戶(hù)自定義的標(biāo)識(shí)符標(biāo)號(hào)和名字是用戶(hù)自定義的標(biāo)識(shí)符標(biāo)識(shí)符標(biāo)識(shí)符Identifier) 最多由最多由31個(gè)字母、數(shù)字及規(guī)定的特殊符號(hào)如個(gè)字母、數(shù)字及規(guī)定的特殊符號(hào)如 _、$、?、)組成,不能以數(shù)字開(kāi)頭、)組成,不能以數(shù)字開(kāi)頭 一個(gè)

5、源程序中,用戶(hù)定義的每個(gè)標(biāo)識(shí)符必須唯一一個(gè)源程序中,用戶(hù)定義的每個(gè)標(biāo)識(shí)符必須唯一 不能是匯編程序采用的保留字不能是匯編程序采用的保留字 保留字保留字Reserved Word是編程語(yǔ)言本身需要使是編程語(yǔ)言本身需要使用的各種具有特定含義的標(biāo)識(shí)符、也稱(chēng)為關(guān)鍵字用的各種具有特定含義的標(biāo)識(shí)符、也稱(chēng)為關(guān)鍵字 硬指令助記符硬指令助記符 MOV 偽指令助記符偽指令助記符 DB 操作符操作符OFFSET 寄存器名寄存器名EAX 預(yù)定義符號(hào)預(yù)定義符號(hào)data取名原則類(lèi)似高級(jí)語(yǔ)言取名原則類(lèi)似高級(jí)語(yǔ)言但不區(qū)別大小寫(xiě)字母但不區(qū)別大小寫(xiě)字母硬指令硬指令 助記符:幫助記憶指令功能的符號(hào)助記符:幫助記憶指令功能的符號(hào) 硬指

6、令助記符對(duì)應(yīng)處理器指令,表示一種操硬指令助記符對(duì)應(yīng)處理器指令,表示一種操作作 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令mov ah,9;使得使得AH9 助記符:助記符:MOV取自取自Move) 功能:將源操作數(shù)傳送至目的操作數(shù)功能:將源操作數(shù)傳送至目的操作數(shù) 將數(shù)字將數(shù)字9傳送到傳送到AH寄存器中的指令寄存器中的指令偽指令偽指令 偽指令助記符對(duì)應(yīng)指示符,表達(dá)一個(gè)匯編命令偽指令助記符對(duì)應(yīng)指示符,表達(dá)一個(gè)匯編命令 字節(jié)變量定義偽指令字節(jié)變量定義偽指令 助記符:助記符:DB取自取自Define Byte) 功能:在主存中占用若干的存儲(chǔ)空間,用于保功能:在主存中占用若干的存儲(chǔ)空間,用于保存變量值,該變量以字節(jié)為單位存

7、取存變量值,該變量以字節(jié)為單位存取 變量名變量名MSG包含有段地址和偏移地址包含有段地址和偏移地址 操作符操作符OFFSET獲得偏移地址獲得偏移地址 mov dx, offset msg ;DX獲得獲得msg的偏移的偏移地址地址 操作符操作符SEG獲得段地址獲得段地址 mov dx, seg msg ;DX獲得獲得msg的段地的段地址址操作數(shù)與參數(shù)操作數(shù)與參數(shù) 處理器指令的操作數(shù):表示參與操作的對(duì)象處理器指令的操作數(shù):表示參與操作的對(duì)象 一個(gè)具體的常量一個(gè)具體的常量 保存在寄存器的數(shù)據(jù)保存在寄存器的數(shù)據(jù) 保存在存儲(chǔ)器中的變量保存在存儲(chǔ)器中的變量 逗號(hào)前常是目的操作數(shù),逗號(hào)后的常是源操作數(shù)逗號(hào)前

8、常是目的操作數(shù),逗號(hào)后的常是源操作數(shù) 偽指令的參數(shù):偽指令的參數(shù): 常量、變量名、表達(dá)式等常量、變量名、表達(dá)式等 可以有多個(gè),參數(shù)之間用逗號(hào)分隔可以有多個(gè),參數(shù)之間用逗號(hào)分隔注釋與分隔符注釋與分隔符 語(yǔ)句中分號(hào)后的內(nèi)容是注釋語(yǔ)句中分號(hào)后的內(nèi)容是注釋 對(duì)指令或程序進(jìn)行說(shuō)明對(duì)指令或程序進(jìn)行說(shuō)明 匯編程序不對(duì)它們做任何處理匯編程序不對(duì)它們做任何處理 注釋利于以后閱讀,建議養(yǎng)成書(shū)寫(xiě)注釋的良好習(xí)慣注釋利于以后閱讀,建議養(yǎng)成書(shū)寫(xiě)注釋的良好習(xí)慣 語(yǔ)句的語(yǔ)句的4個(gè)組成部分要用分隔符分開(kāi)個(gè)組成部分要用分隔符分開(kāi) 標(biāo)號(hào)后的冒號(hào)標(biāo)號(hào)后的冒號(hào) 注釋前的分號(hào)注釋前的分號(hào) 操作數(shù)間和參數(shù)間的逗號(hào)操作數(shù)間和參數(shù)間的逗號(hào) 分

9、隔其他部分通常采用一個(gè)或多個(gè)空格或制表符分隔其他部分通常采用一個(gè)或多個(gè)空格或制表符 注釋使用英文或中文均可注釋使用英文或中文均可分隔符都是英文標(biāo)點(diǎn)分隔符都是英文標(biāo)點(diǎn)例題例題3-1信息顯示程序信息顯示程序 在數(shù)據(jù)段給出這個(gè)字符串形式的信息:在數(shù)據(jù)段給出這個(gè)字符串形式的信息:;數(shù)據(jù)段數(shù)據(jù)段 msgdb Hello, Assembly !,13,10,$;定義要顯示的字符串定義要顯示的字符串 在代碼段編寫(xiě)顯示字符串的程序:在代碼段編寫(xiě)顯示字符串的程序:;代碼段代碼段mov dx,offset msg;指定字符串在數(shù)據(jù)段的偏移地址指定字符串在數(shù)據(jù)段的偏移地址mov ah,9int 21h;利用功能調(diào)用

10、顯示信息利用功能調(diào)用顯示信息簡(jiǎn)化段定義源程序格式簡(jiǎn)化段定義源程序格式;example.asm.model small;定義程序的存儲(chǔ)模式定義程序的存儲(chǔ)模式.486;說(shuō)明使用的說(shuō)明使用的80 x86微處理器指令微處理器指令.stack;定義堆棧段定義堆棧段.data;定義數(shù)據(jù)段定義數(shù)據(jù)段;數(shù)據(jù)定義數(shù)據(jù)待填)數(shù)據(jù)定義數(shù)據(jù)待填).code;定義代碼段定義代碼段.startup;程序執(zhí)行起始程序執(zhí)行起始;主程序指令待填)主程序指令待填).exit;程序執(zhí)行結(jié)束,返回程序執(zhí)行結(jié)束,返回DOS;子程序指令待填)子程序指令待填)end;匯編結(jié)束匯編結(jié)束存儲(chǔ)模式存儲(chǔ)模式Memory Model) 存儲(chǔ)模式?jīng)Q定

11、一個(gè)程序的規(guī)模存儲(chǔ)模式?jīng)Q定一個(gè)程序的規(guī)模 簡(jiǎn)化段定義源程序格式中,必須有簡(jiǎn)化段定義源程序格式中,必須有.MODEL語(yǔ)句語(yǔ)句.MODEL 存儲(chǔ)模式存儲(chǔ)模式 .MODEL語(yǔ)句確定了程序采用的存儲(chǔ)模式語(yǔ)句確定了程序采用的存儲(chǔ)模式 一般的小型程序可以選用一般的小型程序可以選用SMALL模式模式 大型程序選擇大型程序選擇LARGE模式模式 TINY模式創(chuàng)建模式創(chuàng)建COM程序,其他模式產(chǎn)生程序,其他模式產(chǎn)生EXE程程序序 FLAT模式用于模式用于32位程序中,不能在位程序中,不能在DOS環(huán)境執(zhí)環(huán)境執(zhí)行行COM程序只有一個(gè)邏輯段不超過(guò)程序只有一個(gè)邏輯段不超過(guò)64KB)邏輯段定義邏輯段定義 堆棧段定義偽指令堆

12、棧段定義偽指令.STACK創(chuàng)建一個(gè)堆棧段創(chuàng)建一個(gè)堆棧段 段名:段名:STACK,程序中可用,程序中可用STACK表示表示 默認(rèn)是默認(rèn)是1KB(1024400H字節(jié)空間字節(jié)空間 數(shù)據(jù)段定義偽指令數(shù)據(jù)段定義偽指令.DATA創(chuàng)建一個(gè)數(shù)據(jù)段創(chuàng)建一個(gè)數(shù)據(jù)段 段名:段名:DATA,程序中可用,程序中可用DATA表示表示 代碼段定義偽指令代碼段定義偽指令.CODE創(chuàng)建一個(gè)代碼段創(chuàng)建一個(gè)代碼段 默認(rèn)段名:默認(rèn)段名:TEXT,程序中可用,程序中可用CODE表示表示處理器選擇偽指令處理器選擇偽指令 缺省情況只匯編缺省情況只匯編16位位8086指令集指令集 利用利用32位寄存器完成位寄存器完成32位操作,必須加位操

13、作,必須加上上.386及以上處理器的選擇偽指令及以上處理器的選擇偽指令 留心留心.386及以后的處理器選擇偽指令的位置及以后的處理器選擇偽指令的位置 在存儲(chǔ)模式在存儲(chǔ)模式MODEL指令之后,默認(rèn)采用指令之后,默認(rèn)采用16位段位段 在存儲(chǔ)模式在存儲(chǔ)模式MODEL指令之前,默認(rèn)采用指令之前,默認(rèn)采用32位段位段簡(jiǎn)化段定義源程序格式簡(jiǎn)化段定義源程序格式;example.asm.model small;定義程序的存儲(chǔ)模式定義程序的存儲(chǔ)模式.486;說(shuō)明使用的說(shuō)明使用的80 x86微處理器指令微處理器指令.stack;定義堆棧段定義堆棧段.data;定義數(shù)據(jù)段定義數(shù)據(jù)段;數(shù)據(jù)定義數(shù)據(jù)待填)數(shù)據(jù)定義數(shù)據(jù)待

14、填).code;定義代碼段定義代碼段.startup;程序執(zhí)行起始程序執(zhí)行起始;主程序指令待填)主程序指令待填).exit;程序執(zhí)行結(jié)束,返回程序執(zhí)行結(jié)束,返回DOS;子程序指令待填)子程序指令待填)end;匯編結(jié)束匯編結(jié)束.startup替換為:替換為:start: mov ax,data mov ds,ax.exit替換為替換為mov ah,4chInt 21hDOS功能調(diào)用功能調(diào)用 MS-DOS操作系統(tǒng)提供給程序員的子程序操作系統(tǒng)提供給程序員的子程序 調(diào)用子程序步驟類(lèi)似高級(jí)語(yǔ)言調(diào)用函數(shù))調(diào)用子程序步驟類(lèi)似高級(jí)語(yǔ)言調(diào)用函數(shù)) (1在在A(yíng)H寄存器中設(shè)置系統(tǒng)功能調(diào)用號(hào)寄存器中設(shè)置系統(tǒng)功能調(diào)用號(hào)

15、 (2在指定寄存器中設(shè)置入口參數(shù)在指定寄存器中設(shè)置入口參數(shù) (3中斷調(diào)用指令中斷調(diào)用指令“INT 21H執(zhí)行功能執(zhí)行功能 (4根據(jù)出口參數(shù)分析功能調(diào)用執(zhí)行情況根據(jù)出口參數(shù)分析功能調(diào)用執(zhí)行情況字符串顯示功能調(diào)用字符串顯示功能調(diào)用 主存的字符串以主存的字符串以“$”作為結(jié)尾符作為結(jié)尾符 類(lèi)似類(lèi)似C/C+語(yǔ)言中隱含用語(yǔ)言中隱含用NULL作為字符串結(jié)作為字符串結(jié)尾尾功能編號(hào)功能編號(hào) AH09H入口參數(shù)入口參數(shù) DS DX欲顯示的字符串邏輯地址欲顯示的字符串邏輯地址(段地址段地址 偏移地址偏移地址)功能說(shuō)明功能說(shuō)明 將指定的字符串在當(dāng)前光標(biāo)位置開(kāi)始顯示將指定的字符串在當(dāng)前光標(biāo)位置開(kāi)始顯示字符串可以是任何

16、長(zhǎng)度字符串可以是任何長(zhǎng)度可以包含控制字符(如回車(chē)可以包含控制字符(如回車(chē)0DH,換行,換行0AH)必須以必須以“$”(ASCII碼為碼為24H)字符結(jié)尾)字符結(jié)尾匯編結(jié)束匯編結(jié)束end語(yǔ)句)語(yǔ)句) 翻譯源程序成目標(biāo)模塊的過(guò)程到此結(jié)束翻譯源程序成目標(biāo)模塊的過(guò)程到此結(jié)束 源程序的最后必須有一條源程序的最后必須有一條END語(yǔ)句語(yǔ)句 匯編程序不處理匯編程序不處理END指令之后的任何內(nèi)容指令之后的任何內(nèi)容 END偽指令后面可以有一個(gè)偽指令后面可以有一個(gè)“標(biāo)號(hào)參數(shù)標(biāo)號(hào)參數(shù) 指定程序開(kāi)始執(zhí)行于該標(biāo)號(hào)所指示的指令指定程序開(kāi)始執(zhí)行于該標(biāo)號(hào)所指示的指令end start執(zhí)行結(jié)束執(zhí)行結(jié)束匯編結(jié)束匯編結(jié)束程序完整框架

17、程序完整框架 (1) SEGMENT/ENDS偽指令。偽指令SEGMENT和ENDS總是成對(duì)使用的。用這對(duì)偽指令來(lái)指定段的名稱(chēng)和范圍。 段名 SEGMENT 本段程序內(nèi)容(指令語(yǔ)句或偽指令語(yǔ)句) 段名 ENDS 從SEGMENT偽指令之后出現(xiàn)的指令和偽指令都被認(rèn)為是在該段之內(nèi), 直至ENDS出現(xiàn)為止。 當(dāng)用于定義數(shù)據(jù)段、附加數(shù)據(jù)段和堆棧段時(shí),處于SEGMENT/ENDS偽指令中間的語(yǔ)句,只能包括偽指令語(yǔ)句,不能包括指令語(yǔ)句,一般格式為 段名 SEGMENT 數(shù)據(jù)定義,存儲(chǔ)單元分配等偽指令語(yǔ)句 段名 ENDS 當(dāng)由SEGMENT/ENDS定義代碼段時(shí),中間的語(yǔ)句可包括指令語(yǔ)句和與指令有關(guān)的偽指令

18、語(yǔ)句。一般格式為 段名 SEGMENT 指令語(yǔ)句和與偽指令有關(guān)的偽指令語(yǔ)句 段名 ENDS 所定義段的名稱(chēng)。段名是標(biāo)識(shí)所定義段的名稱(chēng)。段名是標(biāo)識(shí)符,同一段的符,同一段的SEGMENT/ENDS SEGMENT/ENDS 偽偽指令前的段名必須一致。指令前的段名必須一致。DATA-SEG SEGMENT DATA_SEG ENDS ; EXTRA_SEG SEGMENT; EXTRA_SEG ENDS ; CODE_SEG SEGMENT; START: CODE-SEG ENDS ; END START ; 源程序模塊結(jié)束源程序模塊結(jié)束 定義數(shù)據(jù)段定義數(shù)據(jù)段定義附加數(shù)據(jù)段定義附加數(shù)據(jù)段定義代碼定

19、義代碼(即指令即指令)段段STACK_SEG SEGMENTSTACK_SEG ENDS定義堆棧段定義堆棧段 ASSUME偽指令。偽指令。ASSUME偽指令語(yǔ)句用來(lái)告訴匯編程序偽指令語(yǔ)句用來(lái)告訴匯編程序在指令執(zhí)行期間內(nèi)存的哪一段是數(shù)據(jù)段,哪一段是堆棧段,在指令執(zhí)行期間內(nèi)存的哪一段是數(shù)據(jù)段,哪一段是堆棧段, 哪哪一段是代碼段。一段是代碼段。 ASSUME偽指令語(yǔ)句的格式如下:偽指令語(yǔ)句的格式如下: ASSUME 段寄存器名:段名符段寄存器名:段名符, 段寄存器名:段寄存器名: 段名符,段名符, 上述格式中上述格式中 內(nèi)的內(nèi)容可有可無(wú)。內(nèi)的內(nèi)容可有可無(wú)。 例如:例如: ASSUME CS: MYC

20、ODE, DS: MYDATA ASSUME ES: MYEXTRA, SS: MYSTACK MYCODE SEGMENT ASSUME CS: MYCOED, DS: MYDATA, ES: MYEXTRA, SS: MYSTACK START: MOV AX, MYDATA MOV DS, AX MOV AX, MYEXTRA MOV ES, AX MOV AX, MYSTACK MOV SS, AX MOV AH,4CH INT 21HMYCODE ENDS END START二進(jìn)制數(shù)二進(jìn)制數(shù) 便于計(jì)算機(jī)存儲(chǔ)及物理實(shí)現(xiàn)便于計(jì)算機(jī)存儲(chǔ)及物理實(shí)現(xiàn) 特點(diǎn):逢二進(jìn)一,由特點(diǎn):逢二進(jìn)一,由0和和

21、1兩個(gè)數(shù)碼組成,兩個(gè)數(shù)碼組成,基數(shù)為基數(shù)為2,各個(gè)位權(quán)以,各個(gè)位權(quán)以2k表示表示 二進(jìn)制數(shù):二進(jìn)制數(shù):anan-1a1a0.b1b2bman2nan-12n-1a121a020 b12-1b22-2bm2-m 其中其中ai,bj非非0即即1十六進(jìn)制數(shù)十六進(jìn)制數(shù) 用于表達(dá)二進(jìn)制數(shù),相互轉(zhuǎn)換簡(jiǎn)單用于表達(dá)二進(jìn)制數(shù),相互轉(zhuǎn)換簡(jiǎn)單 基數(shù)基數(shù)16,逢,逢16進(jìn)位,位權(quán)為進(jìn)位,位權(quán)為16k,16個(gè)數(shù)碼:個(gè)數(shù)碼: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn) 十六進(jìn)制數(shù):十六進(jìn)制數(shù):anan-1a1a0.b1b2bman16nan-116n-1a1161 a0160b116-1b216-2b

22、m16-m其中其中ai,bj是是0F中的一個(gè)數(shù)碼中的一個(gè)數(shù)碼常用進(jìn)位計(jì)數(shù)制對(duì)照表常用進(jìn)位計(jì)數(shù)制對(duì)照表2 的次冪的縮簡(jiǎn)表的次冪的縮簡(jiǎn)表 1K=210 ,1M=220,1G=230,1T=240二進(jìn)制數(shù)或十六進(jìn)制數(shù)轉(zhuǎn)換為十二進(jìn)制數(shù)或十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)進(jìn)制數(shù) 方法:按權(quán)展開(kāi)方法:按權(quán)展開(kāi) 二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)0011.1010B12112012-102-212-33.625 十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)1.2H116021611.125十進(jìn)制整數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù)十進(jìn)制整數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù) 整數(shù)部分轉(zhuǎn)換:用除法整數(shù)部分轉(zhuǎn)換:用除法 十進(jìn)制數(shù)整數(shù)

23、部分不斷除以基數(shù)十進(jìn)制數(shù)整數(shù)部分不斷除以基數(shù)2或或16,并記下余數(shù),直到商為并記下余數(shù),直到商為0為止為止 由最后一個(gè)余數(shù)起逆向取各個(gè)余數(shù),則由最后一個(gè)余數(shù)起逆向取各個(gè)余數(shù),則為轉(zhuǎn)換成的二進(jìn)制和十六進(jìn)制數(shù)為轉(zhuǎn)換成的二進(jìn)制和十六進(jìn)制數(shù)12601111110B1267EH十進(jìn)制小數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù)十進(jìn)制小數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù) 小數(shù)部分轉(zhuǎn)換:用乘法小數(shù)部分轉(zhuǎn)換:用乘法 分別乘以各自的基數(shù),記錄整數(shù)部分,直分別乘以各自的基數(shù),記錄整數(shù)部分,直到小數(shù)部分為到小數(shù)部分為0為止為止0.81250.1101B0.81250.DH 小數(shù)轉(zhuǎn)換會(huì)發(fā)生總是無(wú)法乘到為小數(shù)轉(zhuǎn)換會(huì)發(fā)生總是無(wú)法乘到為0的情況的情況 可

24、選取一定位數(shù)精度)可選取一定位數(shù)精度) 將產(chǎn)生無(wú)法避免的轉(zhuǎn)換誤差將產(chǎn)生無(wú)法避免的轉(zhuǎn)換誤差十六進(jìn)制數(shù)的加減運(yùn)算十六進(jìn)制數(shù)的加減運(yùn)算 二進(jìn)制和十六進(jìn)制數(shù)之間具有對(duì)應(yīng)關(guān)系二進(jìn)制和十六進(jìn)制數(shù)之間具有對(duì)應(yīng)關(guān)系 整數(shù)從左向右整數(shù)從左向右 小數(shù)從右向左小數(shù)從右向左 每每4個(gè)二進(jìn)制位對(duì)應(yīng)一個(gè)十六進(jìn)制位個(gè)二進(jìn)制位對(duì)應(yīng)一個(gè)十六進(jìn)制位00111010B3AH,F(xiàn)2H11110010B 十六進(jìn)制數(shù)的加減運(yùn)算類(lèi)似十進(jìn)制十六進(jìn)制數(shù)的加減運(yùn)算類(lèi)似十進(jìn)制 逢逢16進(jìn)位進(jìn)位1,借,借1當(dāng)當(dāng)1623D9H94BEHB897HA59FH62B8H42E7H計(jì)算機(jī)中的常用數(shù)據(jù)類(lèi)型;計(jì)算機(jī)中的常用數(shù)據(jù)類(lèi)型; 計(jì)算機(jī)中對(duì)實(shí)際數(shù)據(jù)有特殊的

25、表示方法;計(jì)算機(jī)中對(duì)實(shí)際數(shù)據(jù)有特殊的表示方法; 整數(shù)分帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)兩種;整數(shù)分帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)兩種; 無(wú)符號(hào)數(shù):字節(jié)、字、雙字整數(shù)操作數(shù)中,對(duì)應(yīng)無(wú)符號(hào)數(shù):字節(jié)、字、雙字整數(shù)操作數(shù)中,對(duì)應(yīng)的的 8 位、位、 16 位、位、 32 位二進(jìn)制數(shù)全部用來(lái)表示數(shù)位二進(jìn)制數(shù)全部用來(lái)表示數(shù)值本身。值本身。 沒(méi)有用來(lái)表示符號(hào)位的位,沒(méi)有用來(lái)表示符號(hào)位的位, 因而為正整數(shù)。因而為正整數(shù)。 無(wú)符號(hào)整數(shù) 31242316 158 70158 7070雙字字字節(jié)m3m2m1mMSBMSBMSB1-2地址MSB (Most Significant Bit):最高有效位真值和機(jī)器數(shù)真值和機(jī)器數(shù) 真值:現(xiàn)實(shí)中真實(shí)的

26、數(shù)值真值:現(xiàn)實(shí)中真實(shí)的數(shù)值 機(jī)器數(shù):計(jì)算機(jī)中用機(jī)器數(shù):計(jì)算機(jī)中用0和和1數(shù)碼組合表達(dá)的數(shù)值數(shù)碼組合表達(dá)的數(shù)值 定點(diǎn)數(shù):固定小數(shù)點(diǎn)的位置表達(dá)數(shù)值的機(jī)器數(shù)定點(diǎn)數(shù):固定小數(shù)點(diǎn)的位置表達(dá)數(shù)值的機(jī)器數(shù) 定點(diǎn)整數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最右側(cè)表達(dá)定點(diǎn)整數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最右側(cè)表達(dá)的整數(shù)的整數(shù) 定點(diǎn)小數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最左側(cè)表達(dá)定點(diǎn)小數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最左側(cè)表達(dá)的小數(shù)的小數(shù) 浮點(diǎn)數(shù):小數(shù)點(diǎn)浮動(dòng)表達(dá)的實(shí)數(shù)浮點(diǎn)數(shù):小數(shù)點(diǎn)浮動(dòng)表達(dá)的實(shí)數(shù) 無(wú)符號(hào)數(shù):只表達(dá)無(wú)符號(hào)數(shù):只表達(dá)0和正整數(shù)的定點(diǎn)整數(shù)和正整數(shù)的定點(diǎn)整數(shù) 有符號(hào)數(shù):表達(dá)負(fù)整數(shù)、有符號(hào)數(shù):表達(dá)負(fù)整數(shù)、0和正整數(shù)的定點(diǎn)整數(shù)和正整數(shù)的定點(diǎn)整數(shù)

27、 符號(hào)位需要占用一個(gè)位符號(hào)位需要占用一個(gè)位 常用機(jī)器數(shù)的最高位常用機(jī)器數(shù)的最高位 0表示正數(shù)、表示正數(shù)、1表示負(fù)數(shù)表示負(fù)數(shù)n 正數(shù)的原碼表示:n 設(shè)X=+Xn-2Xn-3X1X0 (即n-1 位二進(jìn)制正數(shù)),那么n X原=0Xn-2Xn-3X10n 負(fù)數(shù)的原碼表示n 設(shè)X= -Xn-2Xn-3X1X0 (即n-1 位二進(jìn)制負(fù)數(shù)),那么n X原=1Xn-2Xn-3X10=2n-1+Xn-2Xn-3X1X0n =2n-1-(-Xn-2Xn-3X1X0)=2n-1-Xn注意:在這里我們一般假設(shè)n=8。 原碼原碼n 零的原碼表示n 在二進(jìn)制數(shù)原碼表示中有正零和負(fù)零之分, 即n+0原=00000n-0原

28、=10000n 原碼定義: X原=(n位二進(jìn)制數(shù),位二進(jìn)制數(shù),最高位為符號(hào)位最高位為符號(hào)位)X X02 n-1-X X0 例1.2:求 X+18 和 Y-18 的原碼。 解: X的真值+0010010,根據(jù)原碼的定義, X原00010010; Y的真值-0010010,根據(jù)原碼的定義, Y原10010010。n 表示范圍:表示范圍: n n位原碼能夠表示的數(shù)值的范圍為:位原碼能夠表示的數(shù)值的范圍為:n -(2n-1-1)+(2n-1-1),n 即即-011.1011.1。 反碼反碼 反碼的定義反碼的定義 X反=X 0 X 2n-1-12 n-1+X (2n-1-1) X 0表示范圍:表示范圍:

29、n位反碼能夠表示的數(shù)值的范圍為:位反碼能夠表示的數(shù)值的范圍為:-(2n-1-1)(2n-1-1)(n位二進(jìn)制數(shù),位二進(jìn)制數(shù),最高位為符號(hào)位最高位為符號(hào)位)同樣,同樣,0的反碼也是不惟一的:的反碼也是不惟一的: +0反反00000000,-0反反11111111。 例例1.3:求:求 X52 和和 Y-52 的反碼。的反碼。 解:解: X的真值的真值0110100, 因?yàn)橐驗(yàn)閄0, 所以有所以有X反反X原原00110100; Y的真值的真值-0110100, 因?yàn)橐驗(yàn)閅0, 所以根據(jù)反碼表示方法,有所以根據(jù)反碼表示方法,有Y反反 = 11001011。 補(bǔ)碼補(bǔ)碼補(bǔ)碼的定義補(bǔ)碼的定義 X補(bǔ)=X 0 X 2n-1-1,2 n+X - 2n-1 X0。 表示范圍:n位補(bǔ)碼能夠表示的數(shù)值的范圍為:-2n-1(2n-

溫馨提示

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

評(píng)論

0/150

提交評(píng)論