眾賞文庫(kù)
全部分類
  • 抗擊疫情 >
    抗擊疫情
    病毒認(rèn)知 防護(hù)手冊(cè) 復(fù)工復(fù)產(chǎn) 應(yīng)急預(yù)案 防控方案 英雄事跡 院務(wù)工作
  • 成品畢設(shè) >
    成品畢設(shè)
    外文翻譯 畢業(yè)設(shè)計(jì) 畢業(yè)論文 開(kāi)題報(bào)告 文獻(xiàn)綜述 任務(wù)書 課程設(shè)計(jì) 相關(guān)資料 大學(xué)生活 期刊論文 實(shí)習(xí)報(bào)告
  • 項(xiàng)目策劃 >
    項(xiàng)目策劃
    土地準(zhǔn)備 規(guī)劃設(shè)計(jì) 開(kāi)工開(kāi)盤 項(xiàng)目綜合 竣工移交 售后移交 智慧方案 安全專項(xiàng) 環(huán)境影響評(píng)估報(bào)告 可行性研究報(bào)告 項(xiàng)目建議書 商業(yè)計(jì)劃書 危害評(píng)估防治 招投標(biāo)文件
  • 專業(yè)資料 >
    專業(yè)資料
    人文法律 環(huán)境安全 食品科學(xué) 基礎(chǔ)建設(shè) 能源化工 農(nóng)林牧畜 綜合待分類 教育經(jīng)驗(yàn) 行政人力 企業(yè)管理 醫(yī)學(xué)衛(wèi)生 IT技術(shù) 土木建筑 考研專題 財(cái)會(huì)稅務(wù) 公路隧道 紡織服裝
  • 共享辦公 >
    共享辦公
    總結(jié)匯報(bào) 調(diào)研報(bào)告 工作計(jì)劃 述職報(bào)告 講話發(fā)言 心得體會(huì) 思想?yún)R報(bào) 事務(wù)文書 合同協(xié)議 活動(dòng)策劃 代理加盟 技術(shù)服務(wù) 求職簡(jiǎn)歷 辦公軟件 ppt模板 表格模板 融資協(xié)議 發(fā)言演講 黨團(tuán)工作 民主生活
  • 學(xué)術(shù)文檔 >
    學(xué)術(shù)文檔
    自然科學(xué) 生物科學(xué) 天文科學(xué) 醫(yī)學(xué)衛(wèi)生 工業(yè)技術(shù) 航空、航天 環(huán)境科學(xué)、安全科學(xué) 軍事 政學(xué) 文化、科學(xué)、教育、 交通運(yùn)輸 經(jīng)濟(jì) 語(yǔ)言、文字 文學(xué) 農(nóng)業(yè)科學(xué) 社會(huì)科學(xué)總論 藝術(shù) 歷史、地理 哲學(xué) 數(shù)理科學(xué)和化學(xué) 綜合性圖書 哲學(xué)宗教
  • 經(jīng)營(yíng)營(yíng)銷 >
    經(jīng)營(yíng)營(yíng)銷
    綜合文檔 經(jīng)濟(jì)財(cái)稅 人力資源 運(yùn)營(yíng)管理 企業(yè)管理 內(nèi)控風(fēng)控 地產(chǎn)策劃
  • 教學(xué)課件 >
    教學(xué)課件
    幼兒教育 小學(xué)教育 初中教育 高中教育 職業(yè)教育 成人教育 高等教育 考研資源 試題真題 作業(yè)習(xí)題 課后答案 綜合教學(xué)
  • 土木建筑 >
    土木建筑
    專項(xiàng)施工 應(yīng)急預(yù)案 建筑規(guī)范 工藝方案 技術(shù)交底 施工表格 圖片圖集
  • 課程導(dǎo)學(xué) >
    課程導(dǎo)學(xué)
    醫(yī)學(xué)綜合 中醫(yī)養(yǎng)生 醫(yī)學(xué)研究 身心發(fā)展 醫(yī)學(xué)試題 影像醫(yī)學(xué) 醫(yī)院辦公 外科醫(yī)學(xué) 老年醫(yī)學(xué) 內(nèi)科醫(yī)學(xué) 婦產(chǎn)科 神經(jīng)科 醫(yī)學(xué)課件 眼鼻喉科 皮膚病科 腫瘤科 兒科醫(yī)學(xué) 康復(fù)醫(yī)學(xué) 全科醫(yī)學(xué) 護(hù)理學(xué)科 針灸學(xué)科 重癥學(xué)科 病毒學(xué)科 獸醫(yī) 藥學(xué)
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-06
      頁(yè)數(shù): 12
      30人已閱讀
      ( 4 星級(jí))
    • 下載積分: 8 賞幣
      上傳時(shí)間:2024-03-06
      頁(yè)數(shù): 5
      8人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-06
      頁(yè)數(shù): 13
      5人已閱讀
      ( 4 星級(jí))
    • 下載積分: 5 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 5
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 9 賞幣
      上傳時(shí)間:2024-03-06
      頁(yè)數(shù): 52
      4人已閱讀
      ( 4 星級(jí))
    • 下載積分: 5 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 4
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 8 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 26
      4人已閱讀
      ( 4 星級(jí))
    • 下載積分: 5 賞幣
      上傳時(shí)間:2024-03-06
      頁(yè)數(shù): 3
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 13
      3人已閱讀
      ( 4 星級(jí))
    • 下載積分: 8 賞幣
      上傳時(shí)間:2024-03-06
      頁(yè)數(shù): 29
      3人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 10
      2人已閱讀
      ( 4 星級(jí))
    • 下載積分: 3 賞幣
      上傳時(shí)間:2024-03-06
      頁(yè)數(shù): 1
      7人已閱讀
      ( 4 星級(jí))
    • 下載積分: 6 賞幣
      上傳時(shí)間:2024-03-05
      頁(yè)數(shù): 6
      3人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:1,系統(tǒng)級(jí)設(shè)計(jì)描述語(yǔ)言SYSTEMC,徐寧儀XUNY97MAILSTSINGHUAEDUCNXUNYSMTH東主樓9區(qū)324房間62781914,版權(quán)所有2004,第二部分SYSTEMC的基本語(yǔ)法,教材陳曦徐寧儀SYSTEMC片上系統(tǒng)設(shè)計(jì),科學(xué)出版社,2003本課件大部分內(nèi)容參考此書,僅作為大學(xué)教學(xué)之用,請(qǐng)勿用于商業(yè),2,課程主要內(nèi)容,共講4次,爭(zhēng)取講清楚WHY,WHAT,SC_CTORHELLO{//此處聲明SYSTEMC構(gòu)造函數(shù)COUTBUILDSYSTEMCLIBF7,20,NAND2,CREATENEWPROJECTFILENEWPROJECTWIN32CONSOLEAPPLICATIONEMPTYPROJECTADDEXISTEDFILESPROJECTADDTOPROJECTFILESMAINCPPTBHNAND2HBUILDINGARGUMENTANDDEPENDENCYPROJECTSETTINGSC/CCLANGUAGEENABLERUNTIMEINFORMATIONPROJECTSETTINGSC/CPREPROCESSORADDITIONALINCLUDEDIRECTORYC\TEMP\SYSTEMC201\SRCADDSYSTEMCLIBPROJECTADDTOPROJECTFILESC\TEMP\SYSTEMC201\MSVC60\SYSTEMC\DEBUG\SYSTEMCLIBBUILD,RUN,21,用MODESIM查看波形,建一個(gè)MODELSIM項(xiàng)目,將NAND2VCD復(fù)制到該項(xiàng)目的目錄下。使用MODELSIM行命令VCD2WLF將VCD文件轉(zhuǎn)化為WLF文件。命令格式為VCD2WLF,這里我們輸入VCD2WLFNAND2VCDNAND2WLF。請(qǐng)注意VCD2WLF與NAND2VCD、NAND2VC與NAND2WLF之間都有空格。如果沒(méi)有任何提示,則命令被正確執(zhí)行,這時(shí)將產(chǎn)生一個(gè)NAND2WLF文件。,22,用MODESIM查看波形,打開(kāi)SIGNAL、STRUCTURE和WAVE窗口。,在WAVE窗口下選擇OPENDATASET菜單,將生成的NAND2WLF文件導(dǎo)入進(jìn)來(lái)。這時(shí)你將在STRUCTURE窗口中看到設(shè)計(jì)SYSTEMC,在SIGNAL窗口中選擇所要看的信號(hào)放到WAVE窗口中你就可以看到波形了。,23,特別強(qiáng)調(diào),所有的支持標(biāo)準(zhǔn)C的編譯器都可以編譯SYSTEMC。為了方便PC上的使用,我們使用VISUALC60編譯器。,可以使用MODELSIM、WAVEVIEWER、VCS、SIGNALSCAN等查看波形。WAVEVIEWER是免費(fèi)的,直接可以查看VCD文件記錄的波形。,24,SYSTEMC仿真過(guò)程,SYSTEMC可執(zhí)行文件的執(zhí)行EXECUTION過(guò)程分為目標(biāo)描述(ELABORATION)、初始化(INITIALIZATION)和仿真(SIMULATION)三個(gè)階段。,SYSTEMC的仿真過(guò)程是基于事件EVENT的。仿真時(shí)間只前進(jìn),不后退。前進(jìn)的尺度與仿真時(shí)間分辨率和時(shí)間單位有關(guān)。,25,目標(biāo)描述(ELABORATION)階段,從SC_MAIN到SC_START的第一次執(zhí)行。SC_MAININT,CHAR{//ELABORATIONSTARTSHERESC_START1000//ELABORATIONENDSHERE},ELABORATION部分一般包括模塊實(shí)例和連接模塊的通道的初始化、設(shè)置缺省時(shí)間單位和仿真分辨率、SC_CLOCK的初始化、SC_TIME類型數(shù)據(jù)的初始化。,SYSTEMC不支持模塊的動(dòng)態(tài)創(chuàng)建。(SYSTEMC模塊等效于VHDL的ENTITY),26,初始化INITIALIZATION階段,整個(gè)SYSTEMC仿真的執(zhí)行過(guò)程由SYSTEMC調(diào)度器控制,INITIALIZATION是SYSTEMC調(diào)度器執(zhí)行的第一步。,SYSTEMC核心語(yǔ)言庫(kù)定義了三種進(jìn)程SC_METHOD、SC_THREAD和SC_CTHREAD。在初始化階段,缺省情況下每一個(gè)進(jìn)程都被執(zhí)行一次,THREAD進(jìn)程被執(zhí)行到第一個(gè)WAIT語(yǔ)句。,通過(guò)DON’T_INITIALIZE函數(shù)可以關(guān)閉對(duì)進(jìn)程的初始化。當(dāng)進(jìn)程的敏感表上有事件發(fā)生的時(shí)候,沒(méi)有初始化的進(jìn)程的第一條語(yǔ)句才開(kāi)始執(zhí)行。,27,初始化INITIALIZATION階段CON’T,在初始化階段,進(jìn)程的初始化順序是不確定的。但不同次執(zhí)行中進(jìn)程的初始化順序是確定的。所以同一設(shè)計(jì)用不同的編譯器得到的可執(zhí)行文件由于初始化順序不同可能產(chǎn)生不同的運(yùn)行結(jié)果。看下頁(yè)的例子,28,初始化INITIALIZATION階段CON’T,上述代碼中第一次顯示的ADDR的值是0還是1,SC_MODULEEXAMPLE{SC_IN_CLKCLKSC_UINTLAST_ADDR0SC_UINTADDR0VOIDINC{WHILETRUE{ADDRLAST_ADDR1WAIT}}VOIDDISPLAY{COUTDATA_BUS,SYSTEMC中信號(hào)與變量的區(qū)別與VHDL中一樣。信號(hào)常被用來(lái)連接模塊和用于進(jìn)程間通信,變量則用于進(jìn)程和模塊的本地存儲(chǔ)。變量仿真的賦值是立刻發(fā)生的,沒(méi)有DELTA延時(shí)而信號(hào)和端口的值刷新要經(jīng)過(guò)一個(gè)DELTA延時(shí),變量的定義與標(biāo)準(zhǔn)C是一樣的。,按照上面的說(shuō)法,信號(hào)應(yīng)常被綜合為邏輯塊間的連線。變量常被綜合為邏輯塊,可以是組合或者時(shí)序邏輯。,53,信號(hào)和端口的關(guān)聯(lián),關(guān)聯(lián)(ASSOCIATION)基本等于連接CONNECT,也稱為綁定BIND,關(guān)聯(lián)(ASSOCIATION)分為位置關(guān)聯(lián)和名字關(guān)聯(lián),與VHDL一樣。名字關(guān)聯(lián)就是按照名字一一對(duì)應(yīng);位置關(guān)聯(lián)就是按照端口定義的順序一一對(duì)應(yīng)。,54,名字關(guān)聯(lián)實(shí)例,INCLUDE“NAND2H“INCLUDE“TBH“INTSC_MAININT,CHAR{SC_SIGNALA,B,FSC_CLOCKCLK“CLK“,20,SC_NSNAND2N2“NAND2“N2AAN2BBN2FFTBTB1“TB“TB1CLKCLKTB1AATB1BBTB1FF//RESTOFTHECODEOMITTEDRETURN0},55,位置關(guān)聯(lián)實(shí)例,INCLUDE“NAND2H“INCLUDE“TBH“INTSC_MAININT,CHAR{SC_SIGNALA,B,FSC_CLOCKCLK“CLK“,20,SC_NSNAND2N2“NAND2“N2A,B,FTBTB1“TB“TB1CLK,A,B,F//RESTOFTHECODEOMITTEDRETURN0},56,兩種關(guān)聯(lián)方式的對(duì)比,位置關(guān)聯(lián)在一個(gè)只有少量端口的模塊的初始化中是非常合適的,它能夠使描述簡(jiǎn)單化。,然而在對(duì)一個(gè)有大量端口的模塊的初始化中使用位置關(guān)聯(lián)將是非常危險(xiǎn)的,因?yàn)閷?shí)際工作中設(shè)計(jì)者可能會(huì)不經(jīng)意間修改了模塊的端口的順序,這時(shí)就會(huì)產(chǎn)生關(guān)聯(lián)錯(cuò)誤,而這種錯(cuò)誤很可能是很難發(fā)現(xiàn)的。遇到這種情況最好使用下文所述的名字關(guān)聯(lián)。,所以對(duì)于一個(gè)大的SYSTEMC項(xiàng)目,一般建議統(tǒng)一的使用名字關(guān)聯(lián)。,57,模塊的構(gòu)造函數(shù),C中的構(gòu)造函數(shù)創(chuàng)建模塊內(nèi)部數(shù)據(jù)結(jié)構(gòu),并把這些數(shù)據(jù)結(jié)構(gòu)初始化為已知的值。,SYSTEMC構(gòu)造函數(shù)還用于初始化進(jìn)程的類型并創(chuàng)建進(jìn)程的敏感表。,SYSTEMC的構(gòu)造函數(shù)用SC_CTOR標(biāo)識(shí),構(gòu)造函數(shù)的名字必須與模塊的名字相同。,58,一個(gè)構(gòu)造函數(shù)的實(shí)例,//ASYSTEMCDESCRIPTIONOF2INPUTNANDGATEDESIGNEDBYCHENXI,2003322INCLUDEINCLUDESC_MODULENAND2{SC_INA,BSC_OUTFVOIDDO_NAND{FA}SC_CTORNAND2{SC_METHODDO_NAND//聲明DO_NAND為SC_METHOD進(jìn)程SENSITIVEAB}//這里是DO_NAND進(jìn)程的敏感表},59,另外一個(gè)構(gòu)造函數(shù)的例子,INCLUDE//OTHERINCLUDESSC_MODULESIMPLE_SOC{CPUCPU1MEMORYUNITMU1GPIOGPIO1DMADMA1//DECLARECLOCKAND//OTHERSINGALS//CONSTRUCTORSC_CTORSIMPLE_SOC{//SEENEXTSLIDE}SIMPLE_SOC{}//DESTRUCTOR},60,另外一個(gè)構(gòu)造函數(shù)的例子CON’T,SIMPLE_SOC的構(gòu)造函數(shù)如下,SC_CTORSIMPLE_SOC{CPU1NEWCPU“CPU“//CONNECTPORTSMU1NEWMEMORYUNIT“MU“//CONNECTPORTSGPIO1NEWGPIO“GPIO“//CONNECTPORTSDMA1NEWDMA“DMA“//CONNECTPORTS},61,在構(gòu)造函數(shù)中對(duì)端口的初始化方法,SC_MODULETB{SC_OUTDATA_SOURCE//OTHERPORTDECLARATIONSBOOLVALUEVOIDGENINPUT{DATA_SOURCEWRITEVALUEVALUEVALUE}SC_CTORTB{SC_METHODGENINPUTSENSITIVE_POSCLKDATA_SOURCEWRITETRUE//WRONGDATA_SOURCETRUE//WRONGDATA_SOURCEINITIALIZETRUE//OKVALUETRUE//OK}}(INT2BOOLTESTDSW),62,析構(gòu)函數(shù),析構(gòu)函數(shù)釋放代碼中申請(qǐng)的內(nèi)存SIMPLE_SOC的析構(gòu)函數(shù)如下,//DESTRUCTORSIMPLE_SOC{IFCPU1{DELETECPU1CPU10}IFMU1{DELETEMU1MU10}IFGPIO1{DELETEGPIO1GPIO10}IFDMA1{DELETEDMA1DMA10}},63,SYSTEMC時(shí)鐘模型,在SYSTEMC中,時(shí)鐘被作為一個(gè)特殊的對(duì)象處理,它就是SC_CLOCK類。,時(shí)鐘端口作為一個(gè)特殊的端口。如SC_IN_CLKCLK1//可以用SC_INCLK1代替,在SYSTEMC201中,SC_CLOCK一共有6個(gè)重載的構(gòu)造函數(shù)。如SC_CLOCKSC_MODULE_NAMENAME_,CONSTSC_TIME,64,SYSTEMC時(shí)鐘定義實(shí)例1,SC_CLOCKCLK1“CLK1“,20,05,5,TRUE,65,SYSTEMC時(shí)鐘定義實(shí)例2,SC_CLOCKCLK2“CLK2“,20,05,0,TRUE,66,以上兩例的缺點(diǎn),在CLK1和CLK2的定義中,沒(méi)有給出時(shí)鐘的具體時(shí)間單位,系統(tǒng)默認(rèn)的時(shí)間單位將被采用,不同的系統(tǒng)的默認(rèn)時(shí)間單位可能不同,這將不利于IP核的設(shè)計(jì)復(fù)用。假設(shè)CLK1的周期為50MHZ,則更合適的定義方法為SC_CLOCKCLK1“CLK1“,20,SC_NS,05,5,SC_NS,TRUE,67,其它生成時(shí)鐘的辦法,另外一種定義時(shí)鐘的辦法SC_SIGNALCLOCKSC_INITIALIZEFORINTI0I1000ICLOCK1SC_CYCLE5CLOCK0SC_CYCLE5},
      下載積分: 6 賞幣
      上傳時(shí)間:2024-01-07
      頁(yè)數(shù): 149
      2人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:0,主講人劉雪潔,ASSEMBLYLANGUAGEPROGRAMMING,,匯編語(yǔ)言程序設(shè)計(jì),1,課程介紹,匯編語(yǔ)言程序設(shè)計(jì)課程是國(guó)家教育部所屬高等院校計(jì)算機(jī)軟硬件專業(yè)的專業(yè)基礎(chǔ)課、必修課。作為一種低級(jí)語(yǔ)言,匯編語(yǔ)言是高級(jí)語(yǔ)言程序設(shè)計(jì)的基礎(chǔ),通常被視為微型計(jì)算機(jī)的又一核心內(nèi)容。雖然現(xiàn)今大量問(wèn)題都可應(yīng)用高級(jí)語(yǔ)言編程,但匯編語(yǔ)言是能夠利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的惟一語(yǔ)言,對(duì)于直接控制硬件的應(yīng)用場(chǎng)合或若干實(shí)時(shí)處理與控制的應(yīng)用開(kāi)發(fā)項(xiàng)目,匯編語(yǔ)言具有明顯的優(yōu)勢(shì)。,2,使用教材,沈美明、溫冬嬋編著IBMPC匯編語(yǔ)言程序設(shè)計(jì)(第2版)清華大學(xué)出版社2001年參考1王爽編著匯編語(yǔ)言清華大學(xué)出版社2003年2錢曉捷編著匯編語(yǔ)言程序設(shè)計(jì)電子工業(yè)出版社2003年,3,教學(xué)內(nèi)容,第1章匯編語(yǔ)言基礎(chǔ)知識(shí)第2章80X86的指令系統(tǒng)第3章匯編語(yǔ)言程序格式第4章基本匯編語(yǔ)言程序設(shè)計(jì)第5章高級(jí)匯編語(yǔ)言程序設(shè)計(jì),4,第1章匯編語(yǔ)言基礎(chǔ)知識(shí),11匯編語(yǔ)言及意義12數(shù)據(jù)編碼與運(yùn)算13數(shù)據(jù)表示1480X86CPU和寄存器組15存儲(chǔ)器和端口,5,111機(jī)器語(yǔ)言計(jì)算機(jī)能夠直接識(shí)別的數(shù)據(jù)是由二進(jìn)制數(shù)0和1組成的代碼。機(jī)器指令就是用二進(jìn)制代碼組成的指令,一條機(jī)器指令控制計(jì)算機(jī)完成一個(gè)基本操作。用機(jī)器語(yǔ)言編寫的程序是計(jì)算機(jī)惟一能夠直接識(shí)別并執(zhí)行的程序,而用其他語(yǔ)言編寫的程序必須經(jīng)過(guò)翻譯才能變換成機(jī)器語(yǔ)言程序。,11匯編語(yǔ)言及意義,返回本章,6,112匯編語(yǔ)言匯編語(yǔ)言是一種用符號(hào)書寫的、基本操作與機(jī)器指令相對(duì)應(yīng)的、并遵循一定語(yǔ)法規(guī)則的計(jì)算機(jī)語(yǔ)言。匯編語(yǔ)言是一種符號(hào)語(yǔ)言,比機(jī)器語(yǔ)言容易理解和掌握,也容易調(diào)試和維護(hù)。但對(duì)于匯編語(yǔ)言編寫的程序必須經(jīng)過(guò)匯編和連接之后,才能在計(jì)算機(jī)上執(zhí)行。,返回本節(jié),返回本章,7,用匯編語(yǔ)言編寫的程序稱為匯編源程序。采用微機(jī)中任何一個(gè)文本編輯器編寫匯編語(yǔ)言源程序。匯編程序可將匯編語(yǔ)言源程序翻譯成機(jī)器代碼目標(biāo)模塊。80X86CPU的匯編程序主要有微軟的宏匯編程序MASM。較著名的還有BORLAND公司的TASM,無(wú)實(shí)質(zhì)差別。,返回本節(jié),返回本章,8,連接程序?qū)R編后的目標(biāo)模塊轉(zhuǎn)換為可執(zhí)行程序。連接程序的文件名通常是LINKEXE。,返回本節(jié),返回本章,9,113高級(jí)語(yǔ)言高級(jí)程序設(shè)計(jì)語(yǔ)言接近于人類自然語(yǔ)言的語(yǔ)法習(xí)慣,與計(jì)算機(jī)硬件無(wú)關(guān),易被用戶掌握和使用。114匯編語(yǔ)言特點(diǎn)匯編語(yǔ)言程序與處理器指令系統(tǒng)密切相關(guān)。程序員可直接、有效地控制系統(tǒng)硬件。形成的可執(zhí)行文件運(yùn)行速度快、占用主存容量少。,返回本節(jié),返回本章,10,12數(shù)據(jù)編碼與運(yùn)算,121各種進(jìn)位計(jì)數(shù)制(1)十進(jìn)制計(jì)數(shù)十進(jìn)制數(shù)的基數(shù)為10,采用數(shù)字0、1、2、3、4、5、6、7、8、9共10個(gè)數(shù)碼來(lái)計(jì)數(shù)。每位數(shù)字的10K為該位數(shù)字的權(quán)。例795412107102+9101+5100+4101+1102+2103,返回本章,11,(2)二進(jìn)制計(jì)數(shù)二進(jìn)制數(shù)的基數(shù)為2,只有0、1兩個(gè)數(shù)碼,并遵循逢2進(jìn)1的規(guī)則,它的各位權(quán)是以2K表示的。例1110012121+120+121+022+023+124N位二進(jìn)制數(shù)可以表示2N個(gè)數(shù),例如3位二進(jìn)制數(shù)可以表示8個(gè)數(shù),即000111。4位二進(jìn)制數(shù)則表示16個(gè)數(shù),即00001111。,返回本節(jié),返回本章,12,(3)八進(jìn)制和十六進(jìn)制計(jì)數(shù)為便于閱讀及書寫,經(jīng)常使用八進(jìn)制數(shù)和十六進(jìn)制數(shù)來(lái)表示二進(jìn)制數(shù)。八進(jìn)制的基數(shù)為8,數(shù)碼為0、1、2、3、4、5、6、7。十六進(jìn)制數(shù)的基數(shù)為16,數(shù)碼為0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。按同樣的方法,可以容易掌握八進(jìn)制和十六進(jìn)制的表示方法。十進(jìn)制數(shù)結(jié)尾一般用D、二進(jìn)制數(shù)用B、八進(jìn)制數(shù)用O、十六進(jìn)制數(shù)H。如117D、1010B,67O,1ABH,。,返回本節(jié),返回本章,13,122數(shù)制的轉(zhuǎn)換(1)十進(jìn)制與二、八、十六進(jìn)制間轉(zhuǎn)換將十進(jìn)制數(shù)轉(zhuǎn)換成二、八、十六進(jìn)制數(shù)的方法將數(shù)分成整數(shù)部分和小數(shù)部分,整數(shù)部分采用除基取余法,小數(shù)部分采用乘基取整法分別進(jìn)行轉(zhuǎn)換。例76425D1001100011011B,商余數(shù)76÷238038÷219019÷2919÷2414÷2202÷2101÷201,乘積整數(shù)042520850008521701072141042080082161062121,,,返回本節(jié),返回本章,14,例將十進(jìn)制數(shù)76125轉(zhuǎn)換成十六進(jìn)制數(shù)。商余數(shù)乘積整數(shù)部分76÷164C(12)0125162024÷1604轉(zhuǎn)換結(jié)果為761254C2H,,,返回本節(jié),返回本章,15,將二、八、十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法各位數(shù)碼與其對(duì)應(yīng)權(quán)的積再求和即為該進(jìn)制數(shù)相對(duì)應(yīng)的十進(jìn)制數(shù)。例10111B575DB56D7H2902839844D。計(jì)算過(guò)程10111B122+021+120+121+1224105025575DB56D7HB162+5161+6160+D161+71622816+80+6+08125+00273442902839844,返回本節(jié),返回本章,16,轉(zhuǎn)換過(guò)程1011110100111001B00010111101001110010B17A72HB56D7H10110101011011010111B,(2)二進(jìn)制與八、十六進(jìn)制間轉(zhuǎn)換將二進(jìn)制數(shù)轉(zhuǎn)換成八(十六)進(jìn)制數(shù)的方法一個(gè)二制數(shù)從小數(shù)點(diǎn)向兩個(gè)方向每3位4位劃為一組位數(shù)不夠補(bǔ)零,然后每組用八(十六)進(jìn)制數(shù)表示就可以了。反之,把八(十六)進(jìn)制數(shù)每一位用3位(4位)二進(jìn)制數(shù)表示,就形成相應(yīng)的二進(jìn)制數(shù)了。例1011110100111001B17A72HB56D7H10110101011011010111B,返回本節(jié),返回本章,17,123數(shù)據(jù)運(yùn)算(1)二進(jìn)制數(shù)運(yùn)算二進(jìn)制加法運(yùn)算規(guī)則逢2進(jìn)1。即0+0=00+1=11+0=11+1=0產(chǎn)生進(jìn)位1二進(jìn)制減法運(yùn)算規(guī)則借1作2。即0-0=00-1=1產(chǎn)生借位11-0=11-1=0,返回本節(jié),返回本章,18,二進(jìn)制乘法運(yùn)算與十進(jìn)制乘法運(yùn)算類似即00=001=010=011=1(2)十六進(jìn)制運(yùn)算加法當(dāng)兩個(gè)一位數(shù)之和S小于16時(shí),與十進(jìn)制同樣處理,如果S大于或等于16,則應(yīng)用S16及進(jìn)位1取代S。減法與十進(jìn)制類似,夠減時(shí)可直接相減,不夠減時(shí)服從向高位借1為16的規(guī)則。乘法可用十進(jìn)制乘法的規(guī)則來(lái)計(jì)算,但結(jié)果必須用十六進(jìn)制數(shù)來(lái)表示。,返回本節(jié),返回本章,19,例,05C3H3D25H3D25H05C3H42E8H3762H05C3H00A1H05C3399E39FA3H,,,,,,,返回本節(jié),返回本章,20,13數(shù)據(jù)表示,131數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)分為有符號(hào)數(shù)和無(wú)符號(hào)數(shù)。無(wú)符號(hào)數(shù)最高位表示數(shù)值,而有符號(hào)數(shù)最高位表示符號(hào)。有符號(hào)數(shù)有不同的編碼方式,常用的是補(bǔ)碼。,返回本章,21,(1)原碼最高位表示符號(hào)(正數(shù)用0,負(fù)數(shù)用1),其它位為該數(shù)的二進(jìn)制數(shù)值,稱為有符號(hào)數(shù)的原碼表示?!纠縓45D00101101BX原00101101BX45DX原10101101B原碼表示簡(jiǎn)單易懂,但若是兩個(gè)異號(hào)數(shù)相加(或兩個(gè)同號(hào)數(shù)相減),就要做減法。為了把減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算就引進(jìn)了反碼和補(bǔ)碼。,返回本節(jié),返回本章,22,(2)反碼正數(shù)的反碼與原碼相同,符號(hào)位用0表示,數(shù)值位不變。負(fù)數(shù)的反碼符號(hào)位用1表示,數(shù)值位為原碼數(shù)值位按位取反形成,即0變1、1變0?!纠縓45D00101101B,X反00101101BX45DX反11010010B(3)補(bǔ)碼正數(shù)的補(bǔ)碼與原碼相同,即符號(hào)位用0表示,數(shù)值位不變。負(fù)數(shù)的補(bǔ)碼為反碼加1形成?!纠縓45D00101101BX補(bǔ)00101101BX45DX補(bǔ)11010011B,返回本節(jié),返回本章,23,(4)符號(hào)擴(kuò)展在數(shù)據(jù)處理時(shí),有時(shí)需要把8位二進(jìn)制數(shù)擴(kuò)展成16位二進(jìn)制數(shù)。當(dāng)要擴(kuò)展的數(shù)是無(wú)符號(hào)數(shù)時(shí),可在最高位前擴(kuò)展8個(gè)0。如果要擴(kuò)展的數(shù)是補(bǔ)碼形式的有符號(hào)數(shù),那么就要進(jìn)行符號(hào)位的擴(kuò)展。符號(hào)擴(kuò)展后,其結(jié)果仍是該數(shù)的補(bǔ)碼。,返回本節(jié),返回本章,24,(5)數(shù)據(jù)的表示范圍和大小N位二進(jìn)制數(shù)能表示的無(wú)符號(hào)整數(shù)的范圍是0≤I≤2N1;N位二進(jìn)制數(shù)能表示的有符號(hào)整數(shù)的范圍是2N1≤I≤2N11(6)補(bǔ)碼的加法和減法補(bǔ)碼的特性X補(bǔ)X補(bǔ)X補(bǔ)補(bǔ)碼的加法規(guī)則X+Y補(bǔ)X補(bǔ)+Y補(bǔ)補(bǔ)碼的減法規(guī)則XY補(bǔ)X補(bǔ)+Y補(bǔ),返回本節(jié),返回本章,求補(bǔ),求補(bǔ),25,132字符數(shù)據(jù)(1)ASCII碼標(biāo)準(zhǔn)ASCII碼用7位二進(jìn)制數(shù)編碼,共有128個(gè)。計(jì)算機(jī)存儲(chǔ)器基本單位為8位,ASCII碼的最高位通常為0,通信時(shí),最高位用作奇偶校驗(yàn)位。常用字符的ASCII碼數(shù)字0~930H~39H字母A~Z41H~5AH字母A~Z61H~7AH空格20H回車CR0DH換行LF0AH注意回車與換行的差別CR用來(lái)控制光標(biāo)回到當(dāng)前行的最左端;LF用來(lái)移動(dòng)光標(biāo)到下一行,而所在列不變。,返回本節(jié),返回本章,26,(2)BCD碼雖然二進(jìn)制數(shù)實(shí)現(xiàn)容易,但不符合人們的使用習(xí)慣,且書寫閱讀不方便,所以在計(jì)算機(jī)輸入輸出時(shí)通常還是采用十進(jìn)制來(lái)表示數(shù),這就需要實(shí)現(xiàn)十進(jìn)制與二進(jìn)制間的轉(zhuǎn)換。為了轉(zhuǎn)換方便,常采用二進(jìn)制編碼的十進(jìn)制,簡(jiǎn)稱為BCD碼。,返回本節(jié),返回本章,27,壓縮BCD碼以4個(gè)二進(jìn)制位表示1個(gè)十進(jìn)制位,用0000B~1001B表示0~9。例如,十進(jìn)制數(shù)6429的壓縮BCD碼表示為0110010000101001B(即6429H)非壓縮BCD碼以8個(gè)二進(jìn)制位表示1個(gè)十進(jìn)制位,低4位與壓縮BCD碼相同,高4位無(wú)意義。例如,十進(jìn)制數(shù)6429的非壓縮BCD碼表示為XXXX0110XXXX0100XXXX0010XXXX1001B有時(shí),要求非壓縮BCD碼的高4位為0,這時(shí),6429的非壓縮BCD碼為06040209H。,返回本節(jié),返回本章,28,1480X86CPU和寄存器組,計(jì)算機(jī)硬件中央處理單元CPU(INTEL80X86)對(duì)匯編語(yǔ)言程序員,最關(guān)心其中的寄存器存儲(chǔ)器(主存儲(chǔ)器)呈現(xiàn)給匯編語(yǔ)言程序員的,是存儲(chǔ)器地址外部設(shè)備(接口電路)匯編語(yǔ)言程序員看到的是端口(I/O地址),返回本章,29,14180X86CPU計(jì)算機(jī)執(zhí)行程序時(shí),首先要將其裝入內(nèi)存,然后由CPU執(zhí)行程序指令。CPU的作用執(zhí)行算術(shù)與邏輯運(yùn)算,控制指令的執(zhí)行。通常,將INTEL公司生產(chǎn)的8086/8088、80286、80386、80486、PENTIUM、PENTIUMPRO、PENTIUMII、PENTIUMIII、PENTIUM4及其兼容的CPU,統(tǒng)稱為80X86CPU或X86CPU,將基于這些CPU的計(jì)算機(jī),稱為80X86計(jì)算機(jī)或X86計(jì)算機(jī)。其中,8086CPU是INTEL公司于1978年推出的16位微處理器,時(shí)鐘頻率為5MHZ,有16位數(shù)據(jù)信號(hào)線,20位地址信號(hào)線,可尋址的內(nèi)存地址空間為1MB。,返回本章,30,80X86CPU的3種工作模式1實(shí)模式與8086兼容的工作模式,只有低20位地址線起作用,僅能尋址第一個(gè)1MB的內(nèi)存空間。MSDOS運(yùn)行在實(shí)模式下。2保護(hù)模式32位80X86CPU的主要工作模式,提供對(duì)程序和數(shù)據(jù)進(jìn)行安全檢查的保護(hù)機(jī)制。WINDOWS9X/NT/2000運(yùn)行在保護(hù)模式下。3虛擬8086模式在WINDOWS9X下,若打開(kāi)一個(gè)MSDOS窗口,運(yùn)行一個(gè)DOS應(yīng)用程序,那么該程序就運(yùn)行在虛擬8086模式下。,返回本節(jié),返回本章,31,,14280X86寄存器組,8086寄存器組,返回本節(jié),返回本章,32,1.通用寄存器,(1)數(shù)據(jù)寄存器8位數(shù)據(jù)寄存器8個(gè)AL、AH、BL、BH、CL、CH、DL、DH。16位數(shù)據(jù)寄存器4個(gè)AX、BX、CX、DX。32位數(shù)據(jù)寄存器4個(gè)EAX、EBX、ECX、EDX。AL與AH、BL與BH、CL與CH、DL與DH分別對(duì)應(yīng)于AX、BX、CX和DX的低8位與高8位。AX、BX、CX和DX分別對(duì)應(yīng)于EAX、EBX、ECX和EDX的低16位。,返回本節(jié),返回本章,33,AX寄存器稱為累加器。使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等。BX寄存器稱為基址寄存器。常用于存放存儲(chǔ)器地址。CX寄存器稱為計(jì)數(shù)器。一般作為循環(huán)或串操作等指令中的隱含計(jì)數(shù)器。DX寄存器稱為數(shù)據(jù)寄存器。常用來(lái)存放雙字?jǐn)?shù)據(jù)的高16位,或存放外設(shè)端口地址。,返回本節(jié),返回本章,34,變址和指針寄存器包括SI、DI、SP、BP4個(gè)16位寄存器和ESI、EDI、ESP、EBP4個(gè)32位寄存器,主要用于存放某個(gè)存儲(chǔ)單元的偏移地址。其中SI、DI、BP和SP分別對(duì)應(yīng)于ESI、EDI、EBP和ESP的低16位。。SI是源變址寄存器,DI是目的變址寄存器,在字符串操作中,SI和DI都具有自動(dòng)增量或減量的功能。SP為堆棧指針寄存器,用于存放當(dāng)前堆棧段中棧頂?shù)钠频刂?;BP為基址指針寄存器,用于存放堆棧段中某一存儲(chǔ)單元的偏移地址。,(2)變址和指針寄存器,返回本節(jié),返回本章,35,2.段寄存器,80X86CPU的6個(gè)16位的段寄存器分別稱為代碼段寄存器CS,數(shù)據(jù)段寄存器DS,堆棧段寄存器SS,附加數(shù)據(jù)段寄存器ES及80386起增加的FS、GS兩個(gè)段寄存器。段寄存器用來(lái)確定該段在內(nèi)存中的起始地址。代碼段用來(lái)存放程序的指令序列。CS存放代碼段的段首址,指令指針寄存器IP指示代碼段中指令的偏移地址。,返回本節(jié),返回本章,36,3.指令指針,8086CPU中的16位指令指針I(yè)P,總是保存下一次將要從主存中取出的指令的偏移地址,偏移地址的值為該指令到所在段段首址的字節(jié)距離。在目標(biāo)程序運(yùn)行時(shí),IP的內(nèi)容由微處理器硬件自動(dòng)設(shè)置,程序不能直接訪問(wèn)IP,但一些指令卻可改變IP的值,如轉(zhuǎn)移指令、子程序調(diào)用指令等。EIP是80386起增加的32位指令寄存器,IP是EIP的低16位。,返回本節(jié),返回本章,37,4標(biāo)志寄存器,狀態(tài)標(biāo)志通常由CPU根據(jù)指令執(zhí)行結(jié)果自動(dòng)設(shè)置,以反映指令執(zhí)行結(jié)果的特征。80X86CPU將狀態(tài)標(biāo)志作為條件判斷的依據(jù),以控制程序的執(zhí)行流程。FLAGS是8086CPU中一個(gè)很重要的16位標(biāo)志寄存器,它包含9個(gè)標(biāo)志位,主要用于保存一條指令執(zhí)行后,CPU所處狀態(tài)信息及運(yùn)算結(jié)果的特征。主要包括條件標(biāo)志和狀態(tài)控制標(biāo)志。,返回本節(jié),返回本章,38,1.條件標(biāo)志,1零標(biāo)志ZF若運(yùn)算結(jié)果為0,則ZF1,否則ZF0。2符號(hào)標(biāo)志SF若運(yùn)算結(jié)果為負(fù)數(shù),則SF1,否則SF0。3進(jìn)位標(biāo)志CF若加法時(shí)結(jié)果最高位向前有進(jìn)位或減法時(shí)最高位向前有借位,則CF1,否則CF0。4溢出標(biāo)志OF若帶符號(hào)數(shù)的運(yùn)算結(jié)果超出了補(bǔ)碼表示的范圍,則OF1,否則OF0。5輔助進(jìn)位標(biāo)志AF若加法時(shí)結(jié)果低4位向前有進(jìn)位或減法時(shí)結(jié)果低4位向前有借位,則AF1,否則AF0。6奇偶標(biāo)志PF若結(jié)果操作數(shù)中1的個(gè)數(shù)為偶數(shù),則PF1,否則PF0。,返回本節(jié),返回本章,39,深入認(rèn)識(shí)CF和OFCF和OF本質(zhì)上均表示溢出。CF表示無(wú)符號(hào)溢出,即運(yùn)算結(jié)果超出了無(wú)符號(hào)數(shù)的表示范圍。對(duì)于N位二進(jìn)制數(shù)來(lái)說(shuō),無(wú)符號(hào)數(shù)表示范圍為0~2N1,例如N8和16時(shí)分別為0~255和0~65535。OF表示帶符號(hào)溢出,即運(yùn)算結(jié)果超出了帶符號(hào)數(shù)的表示范圍。對(duì)于N位二進(jìn)制數(shù)來(lái)說(shuō),帶符號(hào)數(shù)表示范圍為2N1~2N11,例如,N8和16時(shí),分別為128~127和32768~32767。,返回本節(jié),返回本章,40,2.狀態(tài)控制標(biāo)志,1方向標(biāo)志DF當(dāng)DF1時(shí),每次操作后變址寄存器SI和DI減小,這樣使串處理從高地址向低地址方向處理;當(dāng)DF0時(shí),則使SI和DI增大。2中斷允許標(biāo)志IF當(dāng)IF1時(shí),允許CPU響應(yīng)可屏蔽中斷請(qǐng)求,否則關(guān)閉中斷。3追蹤標(biāo)志TF用于調(diào)試時(shí)的單步方式操作。當(dāng)TF1時(shí),每條指令執(zhí)行完后產(chǎn)生陷阱,由系統(tǒng)控制計(jì)算機(jī);當(dāng)TF0時(shí),CPU正常工作,不產(chǎn)生陷阱。,返回本節(jié),返回本章,41,15存儲(chǔ)器和端口,151存儲(chǔ)器存儲(chǔ)器是計(jì)算機(jī)的記憶部件,用來(lái)存放程序和數(shù)據(jù)。按所在的位置,存儲(chǔ)器可以分成主存儲(chǔ)器和輔助存儲(chǔ)器。主存儲(chǔ)器存放當(dāng)前正在執(zhí)行的程序和使用的數(shù)據(jù),CPU可以直接存取,它由半導(dǎo)體存儲(chǔ)器芯片構(gòu)成,其成本高,容量小,但速度快。輔助存儲(chǔ)器可用來(lái)長(zhǎng)期保存大量程序和數(shù)據(jù),CPU需要通過(guò)I/O接口訪問(wèn),它由磁盤或光盤構(gòu)成,其成本低,容量大,但速度較慢。,返回本章,42,152存儲(chǔ)器單元的地址和內(nèi)容計(jì)算機(jī)中信息的單位位(BIT)計(jì)算機(jī)中存儲(chǔ)信息的基本單位,可存儲(chǔ)一個(gè)二進(jìn)制數(shù)0或1。字節(jié)(BYTE)8位二進(jìn)制位。位編號(hào)從右到左為0~7,第0位為最低位,第7位為最高位。字(WORD)16位二進(jìn)制位,2個(gè)字節(jié)。位編號(hào)從右到左為0~15,第0位為最低位,第15位為最高位。位0~7為低字節(jié),位8~15為高字節(jié)。雙字(DOUBLEWORD)32位二進(jìn)制位,4個(gè)字節(jié)。位編號(hào)從右到左為0~31,第0位為最低位,第31位為最高位。位0~15為低字,位16~31為高字。,返回本節(jié),返回本章,43,左圖表明了存儲(chǔ)器中部分存儲(chǔ)單元存放信息情況。從圖可看到,地址為34560H的字節(jié)的存儲(chǔ)單元中的內(nèi)容是34H,而地址為34561H的字節(jié)存儲(chǔ)單元中的內(nèi)容是12H,表示為34560H34H34561H12H若從存儲(chǔ)單元中取一個(gè)詞,則高地址內(nèi)容在高字節(jié)。例34560H字1234H,,返回本節(jié),返回本章,存儲(chǔ)單元地址為了標(biāo)識(shí)和存取每一個(gè)存儲(chǔ)單元,給每個(gè)存儲(chǔ)單元規(guī)定一個(gè)編號(hào),這就是存儲(chǔ)單元地址。在存儲(chǔ)器里以字節(jié)為單位存儲(chǔ)信息,一個(gè)字節(jié)有惟一的地址。存儲(chǔ)單元的內(nèi)容一個(gè)存儲(chǔ)單元中存放的信息稱為該存儲(chǔ)單元的內(nèi)容。,44,153物理地址的形成實(shí)模式下允許最大尋址空間為1MB。8086/8088CPU的地址線是20位的,這樣最大可尋址空間應(yīng)為2201MB,其物理地址范圍從00000H~FFFFFH。而8086CPU寄存器都是16位的。那么,這1MB空間如何用16位寄存器表達(dá)呢根據(jù)要求可把1M字節(jié)地址空間劃成若干邏輯段。每個(gè)邏輯段必須滿足兩個(gè)條件一是邏輯段的起始地址(簡(jiǎn)稱段首址)必須是16的倍數(shù);二是邏輯段的最大長(zhǎng)度為64KB。按照這兩個(gè)條件,1M字節(jié)地址空間最多可劃分成64K個(gè)邏輯段,最少也要?jiǎng)澐殖?6個(gè)邏輯段。邏輯段與邏輯段可以相連,也可以不連,還可以重疊。,返回本節(jié),返回本章,45,物理地址與邏輯地址物理地址內(nèi)存單元的實(shí)際地址,也就是出現(xiàn)在地址總線上的地址。邏輯地址分段地址段地址段內(nèi)偏移地址段地址表示段在內(nèi)存中的起始位置,通常被保存在某個(gè)段寄存器中。段內(nèi)偏移地址表示內(nèi)存單元相對(duì)于段起始位置的位移,簡(jiǎn)稱偏移地址,也叫有效地址EA。段地址與偏移地址都是16位。系統(tǒng)采用下列方法將邏輯地址自動(dòng)轉(zhuǎn)換為20位的物理地址物理地址段地址16偏移地址例邏輯地址為2E00H1246H物理地址2E00H161246H2E000H1246H2F246H每個(gè)內(nèi)存單元具有唯一的物理地址,但可由不同的邏輯地址描述。,返回本節(jié),返回本章,46,154端口對(duì)程序員來(lái)說(shuō),I/O接口電路由接口寄存器組成,為了區(qū)別它們,各個(gè)寄存器進(jìn)行了編號(hào),形成I/O地址。端口就是指I/O地址,是微機(jī)系統(tǒng)對(duì)I/O接口電路中與程序設(shè)計(jì)有關(guān)的寄存器的編號(hào)系統(tǒng)實(shí)際上就是通過(guò)這些端口與外設(shè)進(jìn)行通訊的通常采用十六進(jìn)制數(shù)來(lái)表達(dá)端口INTEL8086支持64K個(gè)8位端口其I/O地址可以表示為0000H~FFFFH,返回本節(jié),返回本章,47,本章小結(jié),匯編語(yǔ)言是機(jī)器語(yǔ)言的符號(hào)表示,與機(jī)器語(yǔ)言無(wú)本質(zhì)區(qū)別。計(jì)算機(jī)系統(tǒng)使用2進(jìn)制表示數(shù)據(jù)。為了描述方便,書寫時(shí)常采用16進(jìn)制形式。數(shù)值數(shù)據(jù)分無(wú)符號(hào)數(shù)和有符號(hào)數(shù)兩種。有符號(hào)數(shù)具有原碼、反碼和補(bǔ)碼三種編碼。以補(bǔ)碼表示的帶符號(hào)數(shù)在基于不同位數(shù)時(shí),其二進(jìn)制形式可能完全不同。字符數(shù)據(jù)常用編碼有ASCII碼和BCD碼。,返回本章,48,80X86計(jì)算機(jī)由CPU、內(nèi)存和I/O子系統(tǒng)三部分組成,各部分之間由系統(tǒng)總線相連。80X86程序可以存取的最小數(shù)據(jù)單位是字節(jié)。例如,若要讀取的位數(shù)不足8位,則只能先讀出一個(gè)完整字節(jié),再屏蔽掉其它位。字的存儲(chǔ)采取“低字節(jié)在低地址,高字節(jié)在高地址,字的地址由低地址表示”的方式,雙字也類似。要正確理解內(nèi)存單元的地址和值,地址表示位置,值是相應(yīng)位置處的內(nèi)容。同一地址既可以看作字節(jié)單元地址,也可以看作字甚至雙字單元地址,取決于具體的使用方式。,返回本章,49,80X86CPU具有8位、16位和32位寄存器。8位通用寄存器8個(gè)AH、AL、BH、BL、CH、CL、DH、DL。16位通用寄存器8個(gè)AX、BX、CX、DX、SI、DI、BP、SP。32位通用寄存器8個(gè)EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。16位段寄存器6個(gè)CS、DS、SS、ES、FS、GS。32位/16位指令指針1個(gè)EIP/IP。32位/16位標(biāo)志寄存器1個(gè)EFLAGS/FLAGS。其中,32位寄存器是80386CPU開(kāi)始引入的。,返回本章,50,80X86CPU有3種工作模式實(shí)模式、保護(hù)模式和虛擬8086模式。在實(shí)模式下,段地址和偏移地址均為16位。20位物理地址由16位段地址左移4位加16位偏移地址得到,只能尋址1MB的內(nèi)存空間,且每段≤64KB。在實(shí)模式、32位CPU下的程序可以使用32位寄存器和32位操作數(shù),但采用32位寄存器表示偏移地址時(shí),只使用低16位,高16位為0。CSIP總是指向下一條要執(zhí)行的指令,EIP的高16位為0。SSSP指向堆棧段的棧頂,ESP的高16位為0。狀態(tài)標(biāo)志是CPU進(jìn)行條件判斷和控制程序執(zhí)行流程的依據(jù),最常用的是4個(gè)CF、OF、SF和ZF。其中,CF表示無(wú)符號(hào)溢出,OF表示帶符號(hào)溢出。,返回本章,
      下載積分: 6 賞幣
      上傳時(shí)間:2024-01-05
      頁(yè)數(shù): 51
      3人已閱讀
      ( 4 星級(jí))
    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服客服 - 聯(lián)系我們

    機(jī)械圖紙?jiān)创a,實(shí)習(xí)報(bào)告等文檔下載

    備案號(hào):浙ICP備20018660號(hào)