在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

匯編語言基礎知識:基本概念

CHANBAEK ? 來源:上下求索電子er ? 作者:上下求索電子er ? 2023-10-26 14:29 ? 次閱讀

匯編語言:基本概念

1 機器語言和匯編語言

1.1 機器語言

機器指令展開來講就是一臺機器可以正確執行的命令。電子計算機的機器指令是一列二進制數字。計算機將之轉變為一列高低電平,以使計算機的電子器件受到驅動,進行運算。早期的程序設計均使用機器語言。程序員們將用0、1 數字編成的程序代碼打在紙帶或卡片上,1打孔,0 不打孔,再將程序通過紙帶機或卡片機輸入計算機,進行運算。

機器語言難于辨別和記憶, 給整個產業的發展帶來了障礙。于是匯編語言產生了。

1.2 匯編語言

匯編語言的主體是匯編指令。匯編指令和機器指令的差別在于指令的表示方法上。匯 編指令是機器指令便于記憶的書寫格式

例如:機器指令1000100111011000表示把寄存器BX的內容送到AX 中。匯編指令則寫成mov ax,bx。這樣的寫法與人類語言接近,便于閱讀和記憶。

「編譯器」 是能夠將匯編指令轉換成機器指令的翻譯程序,程序員用匯編語言寫出源程序,再用匯編編譯器將其編譯為機器碼,由計算機最終執行。

2 CPU對存儲器的讀寫

2.1 概述

CPU要從內存中讀數據,首先要指定 「存儲單元的地址」 。另外還要指明它要對 「哪一個器件」 進行操作,進行 「哪種操作」 ,是從中讀出數據,還是向里面寫入數據。

即CPU要想進行數據的讀寫,必須和外部器件(標準的說法是芯片)進行下面3類信息的交互。

  • 存儲單元的地址(地址信息);
  • 器件的選擇,讀或寫的命令(控制信息);
  • 讀或寫的數據(數據信息)。

在計算機中專門有為CPU和其他部件之間提供信息(地址信息、控制信息、數據信息)的傳輸通道,通常稱為總線。總線從物理上來講,就是一根根導線的集合。根據傳送信息的不同,總線從邏輯上又分為3類,地址總線、控制總線和數據總線。8086CPU有20條地址總線、16條控制總線和16條數據總線。

要讓一個計算機或微處理器工作,應向它輸入能夠驅動它進行工作的電平信息(機器碼)。例如:傳送3 號單元的內容入AX

  • 機器碼:10100001 00000011 00000000
  • 對應的匯編指令:MOV AX,[3]

2.2 地址總線

「地址總線(AB)」 用來傳遞地址信息。因地址總是從CPU送出去的,所以地址總線通常是單向的。假設,一個CPU有10根地址總線,如圖所示,它發出地址信息11時10根地址線上傳送的高低電平信號的二進制信息就為11對應的二進制數00 0000 1011。

圖片

一 個 CPU有 N 根地址線,則可以說這個CPU的地址總線的寬度為N這樣的CPU最多可以尋找次方個內存單元。8086CPU的20根地址線(A19A16,A15A0)可以全部用來給外部存儲器提供地址,所以8086可尋址的外部存儲器地址空間達字節即1MB。

2.3 數據總線

「數據總線(DB)」 用來傳輸數據。數據總線是雙向的,即數據既可以從CPU送到其他部件,也可以從其他部件送到CPU。

數據總線的寬度 決定了CPU和外界的數據傳送速度。8根數據總線一次可傳送一個8位二進制數據(即一個字節),16根數據總線一次可傳送兩個字節。

例如,8086有16根數據線,可一次傳送16位數據,所以可一次傳送數據89D8H;而 8088只有 8 根數據線,一次只能傳8 位數據,所以向內存寫入數據89D8H時需要進行兩次數據傳送。

圖片

圖片

2.4 控制總線

「控制總線(CB)」 用來傳輸控制信號。其中包括CPU送往存儲器和輸入/輸出接口的控制信號,還包括其他部件送到CPU的信號。有多少根控制總線,就意味著CPU提供了對外部器件的多少種控制。所以,控制總線的寬度決定了CPU對外部器件的控制能力。

3 各類存儲器芯片

3.1 隨機存儲器和只讀存儲器。

一臺PC機中,裝有多個存儲器芯片,這些存儲器芯片從物理連接上看是獨立的、不同的器件。從讀寫屬性上看分為兩類:隨機存儲器(RAM)和只讀存儲器(ROM)。

「隨機存儲器」 可讀可寫,但必須帶電存儲,關機后存儲的內容丟失; 「只讀存儲器」 只能讀取不能寫入, 關機后其中的內容不丟失。下展示了 PC系統中各類存儲器的邏輯連接情況。

圖片

3.2 內存地址空間

CPU在操控存儲器的時候,把它們都當作內存來對待,把它們總的看作一個由若干存儲單元組成的一個邏輯存儲器,這個邏輯存儲器就是我們所說的內存地址空間。每個物理存儲器在這個邏輯存儲器中占有一個地址段,即一段地址空間。CPU在這段地址空間中讀寫數據,實際上就是在相對應的物理存儲器中讀寫數據。下圖展示了CPU將系統中各類存儲器看作一個邏輯存儲器的情況

圖片

內存地址空間的大小受CPU地址總線寬度的限制。8086CPU的地址總線寬度為20, 可以傳送 個不同的地址信息,即可以定位個內存單元,則8086PC的內存地址空間大小為1MB。下圖展示了 8086PC機內存地址空間分配的基本情況。

圖片

從地址0?9FFFF的內存單元中讀取數據,實際上就是在讀取主隨機存儲器中的數據;向地址AOOOO-BFFFF的內存單元中寫數據,就是向顯存中寫入數據, 這些數據會被顯示卡輸出到顯示器上;我們向地址C0000? FFFFF的內存單元中寫入數據的操作是無效的,因為這等于改寫只讀存儲器中的內容。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7524

    瀏覽量

    164147
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10898

    瀏覽量

    212569
  • 計算機
    +關注

    關注

    19

    文章

    7529

    瀏覽量

    88408
  • 匯編語言
    +關注

    關注

    14

    文章

    410

    瀏覽量

    35901
  • 編譯器
    +關注

    關注

    1

    文章

    1640

    瀏覽量

    49222
收藏 人收藏

    評論

    相關推薦

    《微機原理與匯編語言匯編語言程序設計知識

    `《微機原理與匯編語言匯編語言程序設計知識[hide][/hide]`
    發表于 03-19 10:15

    《微機原理與匯編語言》微機基礎知識

    `《微機原理與匯編語言》微機基礎知識[hide][/hide]`
    發表于 04-05 13:00

    什么是匯編語言

    文章目錄前言一、 匯編語言簡介1.1 什么是匯編語言1.2機器語言簡介1.3 匯編語言的演變史1.4 匯編語言的廣義組成二、硬件與軟件2.1
    發表于 02-24 07:01

    ARM匯編語言入門

    本指南介紹了使用A64指令集的Arm匯編語言基本概念,向您展示了如何使用Arm Development Studio創建和運行匯編代碼,并提供了匯編代碼示例供您進行實驗。
    發表于 08-08 07:28

    匯編語言程序設計下載

    professional assembly language 匯編語言程序設計本書分為三部分。第一部分講解匯編語言程序設計環境基礎,第二部分研究匯編語言程序設計,最后一部分講解高級匯編語言
    發表于 10-21 17:42 ?0次下載
    <b class='flag-5'>匯編語言</b>程序設計下載

    匯編語言編程藝術(PDF)

    匯編語言編程藝術從簡單的Hello程序開始,系統而詳細地闡述了X86微機匯編語言編程的行種基礎知識和編程技巧,內容涉及到數據表示、存儲器管理、各種數據類型、過程、與匯編
    發表于 10-21 18:04 ?0次下載
    <b class='flag-5'>匯編語言</b>編程藝術(PDF)

    匯編語言自學教程

    匯編語言自學教程 匯編語言(AssemblyLanguage)是面向機器的程序設計語言。在匯編語合中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label
    發表于 03-15 14:24 ?511次下載

    匯編語言程序結構

    實 驗   匯編語言程序結構 一、實驗目的 1.掌握匯編語言程序上機過程。    2.掌握匯編語言結構。
    發表于 09-28 23:11 ?2885次閱讀

    Linux中的匯編語言

    在閱讀Linux源代碼時,你可能碰到一些匯編語言片段,有些匯編語言出現在以.S為擴展名的匯編文件中,在這種文件中,整個程序全部由匯編語言組成。有些
    發表于 04-07 20:43 ?55次下載

    匯編語言

    匯編語言舉例,比如讀寄存器內容的源代碼、匯編語言制作的光帶菜單及源程序、獲得操作系統版本的匯編源代碼等
    發表于 12-31 10:40 ?33次下載

    匯編語言學習課件_微處理器基礎知識

    匯編語言學習課件 第二章 微處理器基礎知識 2.1 Intel公司80x86系列微處理器簡介 2.2 程序可見寄存器組 2.3 存儲器 2.4 PC機操作系統的發展 2.5 DOS內存布局 2.6 外部設備及I/O地址空間 2.7
    發表于 12-31 10:39 ?0次下載

    匯編語言學習課件_匯編語言程序組織

    第四章 匯編語言程序組織 4.1 匯編語言語句格式 4.2 匯編語言源程序結構 4.3 常用偽指令 4.4 匯編語言操作符 4.5
    發表于 12-31 10:41 ?0次下載

    匯編語言程序設計

    電子專業單片機相關知識學習教材資料——匯編語言程序設計
    發表于 09-01 16:40 ?0次下載

    《微機原理與匯編語言》微機基礎知識

    《微機原理與匯編語言》微機基礎知識
    發表于 12-14 15:07 ?0次下載

    單片機基礎教程之匯編語言程序設計知識的詳細資料說明

    本文檔的主要內容詳細介紹的是單片機基礎教程之匯編語言程序設計知識的詳細資料說明包括了:1 編程的步驟、方法和技巧,2 匯編語言源程序的編輯和匯編
    發表于 01-28 16:47 ?10次下載
    單片機基礎教程之<b class='flag-5'>匯編語言</b>程序設計<b class='flag-5'>知識</b>的詳細資料說明
    主站蜘蛛池模板: 午夜影剧院| 日本黄色网址视频| 久久99精品久久久久久园产越南| 欧美天堂在线观看| 欧美成人看片一区二区三区| 女人精aaaa片一级毛片女女| 精品手机在线视频| 99国产国人青青视频在线观看| 午夜一级毛片看看| 久久9966精品国产免费| 操www| 亚洲一本高清| xx视频在线观看| 欧美三级大片在线观看| 久久夜色tv网站免费影院| 狠狠做久久深爱婷婷97动漫| 777777777妇女亚洲| 国产美女在线精品观看| 成人在线亚洲| 天天草夜夜草| 日本janpanese护士bus中国| 最近高清免费观看视频| 一级大片视频| 天天做天天摸| 久久精品.com| 香蕉视频国产在线观看| va国产| 99自拍视频| 青青热久免费精品视频在线观看 | 人人干人人舔| 黄色网在线看| 伊人久久大香线蕉电影院| 日本色黄| 91黄色视屏| 99热99操99射| sss欧美一区二区三区| 日本黄大乳片免费观看| 99日精品欧美国产| 爱搞逼综合| 一级毛片看真人在线视频| 欧美 日韩 中文字幕|