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

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

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

3天內不再提示

匯編語言的產生 匯編語言的組成

冬至子 ? 來源:Forever Keep Loving ? 作者:邱立威 ? 2023-09-20 14:52 ? 次閱讀

1.機器語言

機器語言是機器指令的集合。機器指令展開來講就是一臺機器可以正確執行的命令。電子計算機的機器指令是一列二進制數字,計算機將之轉變為一列高低電平,以使計算機的電子器件受到驅動,進行運算。

2.匯編語言的產生

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

機器指令:1000100111011000

操作:寄存器 BX的內容送到AX中

匯編指令:MOV AX,BX

寄存器CPU可以存儲數據的器件

圖片

3.匯編語言的組成

由3類指令組成

(1)匯編指令:機器碼的助記符,由對應的機器碼

(2)偽指令:沒有對應的機器碼,計算機并不執行。

(3)其他符號:如+,-,*,/ 等,由編譯器識別,沒有對應的機器碼

匯編語言的核心是匯編指令,他決定了匯編語言的特性

4.存儲器

  • CPU 是計算機的核心部件.它控制整個計算機的運作并進行運算,要想讓一個CPU 工作,就必須向它提供指令和數據。
  • 指令和數據在存儲器中存放,也就是平時所說的內存
  • 在一臺PC機中內存的作用僅次于CPU。
  • 離開了內存,性能再好的CPU也無法工作。
  • 磁盤不同于內存,磁盤上的數據或程序如果不讀到內存中,就無法被CPU 使用。

5.指令和數據

指令和數據是應用上的概念,在內存或磁盤上,指令和數據沒有任何區別,都是二進制信息。

6.存儲單元

存儲器被劃分為若干個存儲單元,每個存儲單元從0開始順序編號;

圖片

電子計算機的最小信息單元是bit(比特),就是一個二進制位,8bit組成一個Byte(字節),微型機存儲器的存儲單元可以存儲Byte,128個存儲單元,就可以存儲128個Byte

7.CPU對存儲器的讀寫

CPU想要進行數據的讀寫,必須和外部器件(芯片)進行3類信息的交互

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

那么CPU是通過什么將地址、數據和控制信息傳到存儲芯片中的呢?

電子計算機能處理、傳輸的信息都是電信號,電信號當然要用導線傳送。在計算機中專門有連接CPU和其他芯片的導線,通常稱為總線。

物理上:一根根導線的集合;

邏輯上劃分為

  • 地址總線
  • 數據總線
  • 控制總線

圖片

CPU從內存中讀取數據過程

圖片

(1)CPU通過地址總線將地址信息3發出。

(2)CPU通過控制線發出內存讀命令,選中存儲器芯片,并通知他,將要從中讀取數據。

(3)存儲器將3號單元中的數據 08 通過數據線送入CPU

對于8086CPU,下面的機器碼能夠完成從3號單元讀數據:

機器碼:101000000000001100000000

    含義:從3號單元讀取數據送入寄存器AX
  • CPU接收這條機器碼后將完成上面所述的讀寫工作。
  • 匯編語言:MOV AX,[3]

8.地址總線

  • CPU是通過地址總線來指定存儲單元的。
  • 地址總線上能傳送多少個不同的信息,就可以對多少個存儲單元進行尋址
  • 一個CPU有N根地址總線,則可以說這個CPU的地址總線的寬度為N。
  • 這樣的CPU最多可以尋找2的N次方個內存單元。
  • 32位計算機尋址能力 2^32= 2^10 * 2^10 * 2^10 *4 = 4GB

圖片

9.數據總線

  • CPU與內存或其它器件之間的數據傳送是通過數據總線來進行的。
  • 數據總線的寬度決定了CPU和外界的數據傳送速度。

10.控制總線

  • 前面所講的內存讀或寫命令是由幾根控制線綜合發出的:
    • 其中有一根名為讀信號輸出控制線負責由CPU 向外傳送讀信號,CPU 向該控制線上輸出低電平表示將要讀取數據;
    • 有一根名為寫信號輸出控制線負責由CPU向外傳送寫信號。

11.內存地址空間概述

什么是內存地址空間呢?

一個CPU的地址線寬度為10,那么可以尋址1024個內存單元,這1024個可尋到的內存單元就構成這個CPU的內存地址空間。下面深入討論。

首先需要介紹兩部分基本知識,主板和接口卡。

12.主板

在每一臺PC機中,都有一個主板,主板上有核心器件和一些主要器件。

這些器件通過總線(地址總線、數據總線、控制總線)相連。

13.接口卡

計算機系統中,所有可用程序控制其工作的設備,必須受到CPU的控制。

CPU對外部設備不能直接控制,如顯示器、音箱、打印機等。直接控制這些設備進行工作的是插在擴展插槽上的接口卡。

14.各類存儲器芯片

從讀寫屬性上看分為兩類:

隨機存儲器(RAM)和只讀存儲器(ROM

從功能和連接上分類:

隨機存儲器RAM

裝有BIOS的ROM

接口卡上的RAM

PC機中各類存儲器的邏輯連接情況

裝有BIOS的ROM

    BIOS:Basic Input/Output System,基本輸入輸出系統。

    BIOS是由主板和各類接口卡(如:顯卡、網卡等)廠商提供的軟件系統,可以通過它利用該硬件設備進行最基本的輸入輸出。在主板和某些接口卡上插有存儲相應BIOS的ROM。

圖片

15.內存地址空間

上述的那些存儲器在物理上是獨立的器件。

但是它們在以下兩點上相同:

  • 1、都和CPU的總線相連。
  • 2、CPU對它們進行讀或寫的時候都通過控制線發出內存讀寫命令。

將各類存儲器看作一個邏輯存儲器:

  • 所有的物理存儲器被看作一個由若干存儲單元組成的邏輯存儲器;
  • 每個物理存儲器在這個邏輯存儲器中占有一個地址段,即一段地址空間;

CPU在這段地址空間中讀寫數據,實際上就是在相對應的物理存儲器中讀寫數據。

圖片

  • 假設,上圖中的內存空間地址段分配如下:
    • 地址0~7FFFH的32KB空間為主隨機存儲器的地址空間;
    • 地址8000H~9FFFH的8KB空間為顯存地址空間;
    • 地址A000H~FFFFH的24KB空間為各個ROM的地址空間。

圖片

內存地址空間

  • 最終運行程序的是CPU,我們用匯編編程的時候,必須要從CPU角度考慮問題。(我們學習這門課程的核心思維)
  • 對CPU來講,系統中的所有存儲器中的存儲單元都處于一個統一的邏輯存儲器中,它的容量受CPU尋址能力的限制。這個邏輯存儲器即是我們所說的內存地址空間。

小結:

(1)匯編指令是機器指令的助記符,同機器指令一一對應。

(2)每一種CPU都有自己的匯編指令集。

(3)CPU可以直接使用的信息在存儲器中存放。

(4)在存儲器中指令和數據沒有任何區別,都是二進制信息。

(5)存儲單元從零開始順序編號。

(6)一個存儲單元可以存儲 8 個 bit (用作單位寫成“b”),即 8 位二進制數。

(7)1B = 8b 1KB = 1024B

1MB = 1024KB   1GB = 1024MB

(8)每一個CPU芯片都有許多管腳,這些管腳和總線相連。也可以說,這些管腳引出總線。一個CPU可以引出三種總線的寬度標志了這個CPU的不同方面的性能:

  • 地址總線的寬度決定了CPU的尋址能力;
  • 數據總線的寬度決定了CPU與其它器件進行數據傳送時的一次數據傳送量;
  • 控制總線寬度決定了CPU對系統中其它器件的控制能力。

檢測點

**(1)**CPU的尋址能力為8KB,那么它的地址總線的寬度為 位。解:1KB=1024B,8KB=1024B*8=2^N,N=13。 則地址總線的寬度為13位

**(2)**1KB的存儲器有 *****個存儲單元,存儲單元的編號從 到 ***** 。解:回顧前面:一個存儲單元可以存儲 8 個 bit (用作單位寫成“b”),即 8 位二進制數。 即:1KB=1024B=1024*8bit 故有1024個存儲單元,存儲單元的編號從0開始到1023

**(3) 1KB的存儲器可以存儲 __ 個bit, _**個Byte。解:1KB=1024Byte=1024*8bit=8192bit

**(4)1GB是個Byte、1MB是 **_個Byte、1KB是 __ ___個Byte。解:1GB=1024 * 1024 * 1024=1073741824Byte 1MB=1024*1024=1048576Byte 1KB=1024Byte

**(5)**8080、8088、80296、80386的地址總線寬度分別為16根、20根、24根、32根,則它們的尋址能力分別為: (KB)、 (MB)、 (MB)、___(GB)。解:由第一題得知:2^N=尋址能力(N為地址總線的寬度即現在題目中的16、20....) 則:2^16=65536byte=64kb 2^20=1048576byte=1mb 2^24=16777216byte=16mb 2^32=4294967296byte=4GB

(6) 8080、8088、8086、80286、80386的數據總線寬度分別為8根、8根、16根、16根、32根。則它們一次可以傳送的數據為: (B)、 _(B)、 __ (B)、 (B)、 __ (B)。解:由前面的知識可知: (一)8根數據總線一次可以傳送8位二進制數據(即一個字節)。 (二)一個存儲單元可以存儲 8 個 bit (用作單位寫成“b”),即 8 位二進制數。 (三)1Byte = 8bit 則:答案為:1 1 2 2 4

**(7) 從內存中讀取1024字節的數據,8086至少要讀 _ 次,80386至少要讀 __**次。解:由上題可知:8086為16根數據總線,一次可以傳送16位二進制數據(即兩個字節)。 1024/2=512(次) 80386為32根數據總線,一次可以傳送32位二進制數據(即四個字節)。 1024/4=256(次)

(8) 在存儲器中,數據和程序以 _ 形式存放。解:在存儲器中指令和數據沒有任何區別,都是二進制信息,所以以二進制形式存放。

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

    關注

    38

    文章

    7557

    瀏覽量

    164955
  • 匯編語言
    +關注

    關注

    14

    文章

    410

    瀏覽量

    36099
  • 邏輯控制器
    +關注

    關注

    0

    文章

    42

    瀏覽量

    9568
  • 機器語言
    +關注

    關注

    0

    文章

    35

    瀏覽量

    10810
收藏 人收藏

    評論

    相關推薦

    什么是匯編語言

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

    匯編語言程序設計pdf

    匯編語言程序設計的內容:每種高級語言程序在連接為可執行程序之前,都必須被編譯為匯編語言程序,因此對于高級語言程序設計者來說,了解編譯器如何生成匯編語
    發表于 10-21 17:38 ?0次下載
    <b class='flag-5'>匯編語言</b>程序設計pdf

    匯編語言程序設計下載

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

    DSP匯編語言編程基礎

    DSP匯編語言編程基礎 一、  實驗目的 1、了解 DSP 的尋址方式; 2、了解 DSP 的匯編語言與 C語言混合編程。 二、  實驗器材 1、安裝有 CCS的 PC
    發表于 02-11 09:41 ?207次下載

    匯編語言自學教程

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

    匯編語言程序結構

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

    匯編語言詳解

    匯編語言(Assembly Language)是面向機器的程序設計語言。   匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器
    發表于 06-30 10:28 ?4223次閱讀

    Linux中的匯編語言

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

    Assemble匯編語言設計技術

    匯編語言 設計程序,是所有程序語言的基本資源。我們不管你使用除匯編語言或指令代碼以外的程序語言編程,僅僅是編程表達、編程規則和變成環境的變化,但是這些變化都是基于匯
    發表于 07-07 15:47 ?0次下載

    ARM匯編語言官方手冊(中文)

    ARM匯編語言官方手冊(中文)匯編語言ARM匯編語言官方手冊(中文)
    發表于 12-28 15:02 ?214次下載

    匯編語言

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

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

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

    匯編語言學習課件_匯編語言高級編程技巧

    第八章 匯編語言高級編程技巧 8.1 模塊化程序設計 8.2 匯編語言程序與高級語言程序的連接 8.3 使用DOS EXEC功能執行程序 8.4 TSR程序設計
    發表于 12-31 10:41 ?0次下載

    匯編語言程序設計自學教程

    匯編語言程序設計自學教程,幫助自學者掌握匯編語言的自行設計與編程。
    發表于 04-06 15:47 ?41次下載

    高級語言匯編語言_機器語言的區別

    本文首先介紹了高級語言的優缺點、匯編語言的優缺點及使用匯編語言的理由,其次介紹了機器語言的優缺點,最后闡述了高級語言
    的頭像 發表于 04-16 10:28 ?3.1w次閱讀
    主站蜘蛛池模板: 免费一级特黄特色黄大任片 | 欧美成人伊人久久综合网 | 亚洲一区日本 | 国产日本久久久久久久久婷婷 | 正在播放欧美 | 国产精品福利午夜在线观看 | 男人的天堂在线精品视频 | 日本午夜片成年www 日本午夜三级 | 欧美一级在线观看 | 天堂资源在线官网资源 | 女人张腿让男子桶免费动态图 | 欧美影院一区二区 | 久久天天躁夜夜躁狠狠85台湾 | 男人都懂的网址在线看片 | 22sihu国产精品视频影视资讯 | 四虎影视永久地址 | 色中射| 午夜网站在线 | 欧美一级艳片视频免费观看 | 在线91精品亚洲网站精品成人 | 亚洲欧美色视频 | 天天舔夜夜操 | 九九热精品在线视频 | 男女视频在线看 | 久久精品亚洲精品国产欧美 | 香蕉久久夜色精品国产小说 | 天天撸视频 | 都市激情亚洲综合 | aaaaa国产毛片| 国内一国产农村妇女一级毛片 | 亚洲久久久 | 34看网片午夜理 | 国产精品国产三级国产普通话对白 | 速度与激情在线 | 欧美婷婷综合 | 国产美女被艹 | 亚洲天堂免费 | 色婷婷色综合激情国产日韩 | 欧美色婷婷天堂网站 | gav久久 | 日本国产在线 |