首页
/
每日頭條
/
科技
/
彙編語言是面向計算機指令系統嗎
彙編語言是面向計算機指令系統嗎
更新时间:2024-10-14 07:20:37

1、什麼是彙編語言,它在計算機語言中的地位?

彙編語言是程序設計語言的基礎語言,是唯一可以直接與計算機硬件打交道的語言

2、彙編語言與源程序、彙編程序、彙編的關系?

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)1

3、彙編語言的特點

  • 1) 彙編語言與機器指令一一對應,可充分理解計算機的操作過程彙編語言指令是機器指令的符号表示
  • 2) 彙編語言是靠近機器的語言編程時要求熟悉機器硬件系統,可充分利用機器硬件中的全部功能,發揮機器的特點在計算機系統中,某些功能由彙編語言程序實現:實時過程控制系統、系統初始化、實際的輸入輸出設備操作
  • 3) 彙編語言程序的效率高于高級語言效率,指的是用彙編語言編寫的源程序在彙編後所得的目标程序效率高時間域的高效率:運行速度快;空間域的高效率:目标代碼占用存儲空間少

4、彙編語言與高級語言的比較

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)2

5、進制轉換

(略)

更多Linux内核視頻教程文檔資料免費領取後台私信【内核】自行獲取。

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)3

内核學習網站:

Linux内核源碼/内存調優/文件系統/進程管理/設備驅動/網絡協議棧-學習視頻教程-騰訊課堂

6、數據組織單位

1) 位(bit)

是計算機中表示信息的最小單位,符号b,是一個二進制位,每一位用0或1表示

2) 字節(Byte)

8位二進制數為一個字節

3) 字(Word)

若幹個字節為一個字,一般一個字包含兩個字節

範圍0000H~FFFFH

4) 雙字(Double Word)

兩個字節為一個字,四個字節為連個字,稱為雙字

範圍00000000H~FFFFFFFFH

5) 字長

機器字的長度為字長,即計算機中每個字所包含的位數,由機器數據總線數決定

例如,數據總線數為64位,機器字長為64位,即每個字有8個字節

6) 數據字與指令字

數據字:在存儲單元中存儲的是數據

指令字:在存儲單元中存儲的是指令

無論是數據字還是指令字,在存儲單元中都是以二進制的形式存放的

7、BCD碼

兩種存儲方式:組合型(1個字節表示2個BCD碼);非組合型(1個字節表示1個BCD碼)

8、80X86計算機組織結構

微型計算機的硬件系統主要由3個主要部分組成:

  • 1)中央處理器CPU(運算器、控制器、寄存器)
  • 2)輸入輸出設備
  • 3)存儲器

9、80X86 CPU的寄存器

寄存器分為3類:

  • 1)通用寄存器
  • 2)控制寄存器
  • 3)段寄存器

8個8位通用寄存器:AL,AH,BL,BH,CL,CH,DL,DH

8個16位通用寄存器:AX,BX,CX,DX,SI,DI,BP,SP

8個32位通用寄存器:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)4

說明:1)指針寄存器(SP,ESP,BP,EBP)

SP,ESP為堆棧指針寄存器,存放當前堆棧段棧頂的偏移地址,

是根據指令自動移動的,要想随機讀取

堆棧段中的數據,必須通過BP或EBP基址指針寄存器來讀取。

2)控制寄存器(IP,EIP,FLAGS,EFLAGS)

IP,EIP為指令指針寄存器,用于存放當前正在執行的指令的

下一條指令的偏移地址,該寄存器所指的為代碼段的偏移地址。

FLAGS為标識寄存器,表示程序運行時的狀态和一些特殊控制

3)段寄存器

代碼和數據是分開存放,代碼存放在代碼段,數據存放在數據段

10、内存組織結構

1)内存的地址 在存儲器中内存單元的基本單位是*字節*,每個字節都有一個唯一的地址

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)5

2)存儲單元的内容

一個存儲單元存放的信息為存儲單元的内容

分為:字節單元、字節單元、雙字單元

雙字:需要兩個16位寄存器,通常為DX:AX,DX高位,AX低位

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)6

3)堆棧 堆棧是内存中一塊特定的區域,其中數據按照*先進後出*原則 作用:暫存數據、子程序調用與返回、調用中斷處理程序、從中斷處理程序返回 位置:堆棧段地址存放于SS寄存器中,偏移地址存放在堆棧指針寄存器(SP(16位)/ESP(32位)), 他們永遠指向棧頂 初始化:堆棧的初始化時通過設置SS及SP/ESP值來完成的,可以由編譯系統自動完成,也可以在程序 中通過僞指令顯示地定義

11、實模式

1)介紹 隻有8086/8088工作在實模式下; 80286以上的微處理器工作在實模式和保護模式下; 在實模式下微處理器隻能尋址1MB的存儲空間; 80286以上系統的微處理器在加點或複位時都以實模式方式開始工作 2)内存地址的分段 *為什麼要分段?* 8086/8088地址總線為20根,可訪問的地址為:2^20=1048576=1M 8086/8088内部寄存器都是16位的,可以直接處理16位長度的存儲地址,16位地址的尋址2^16=64K 為了把尋址範圍擴大到1MB,實模式存儲器地址均采用存儲空間的分段技術來解決尋址1MB的存儲空間 提出了段地址和偏移地址合成20位物理地址的概念 *分段方法?* 16位段地址 16位段内地址--->20位物理地址 地址的組合:物理地址=段地址*16D(或10H) 偏移地址,(段地址*16D--二進制段地址左移4位) 存放段地址:16位段地址寄存器(CS、DS、SS、ES) 存放偏移地址:16位指針寄存器(IP、SP) 在1MB存儲器中可以有64K個段,每個段最多64KB,最小為16KB *物理地址、段地址、段内地址、邏輯地址的區别?* 物理地址:與内存單元一一對應的20位二進制數,1MB=00000H~FFFFFH 每個物理地址代表一個唯一的内存單元 段地址:将1MB的内存空間分為長64KB的程序區和數據區稱為段 每個段用1個16位二進制地址表示 段地址存放在段寄存器中 代碼段:用于存放源程序的二進制程序代碼,該段的段地址放在CS中 數據段:存放操作數據的,該段的段地址放在DS中 堆棧段:堆棧用的存儲區,該段的段地址放在SS中 附加段:該段的段地址放在ES中 段内地址:16位二進制段内地址為偏移地址 (偏移地址)不同段内的偏移地址存放在不同的寄存器中,段寄存器與裝偏移地址的寄存器按一定要求組合

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)7

邏輯地址:用段地址和偏移地址來表示内存單元的地址為邏輯地址,例如,段地址:偏移地址 *邏輯地址與物理地址的換算關系?* 物理地址 = 段地址*16D(10H) 偏移地址 邏輯地址 = 段地址:偏移地址 例子:邏輯地址,1111H:2222H 物理地址,1111H*10H 2222H = 13332H 假設1111H為代碼段地址,2222H在指針寄存器IP中,示意圖如下:

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)8

内存分配方法?

代碼段、數據段、堆棧段的大小,是以節為最小單位分配内存區域的16字節=2個字=1節,節的邊界地址就是能夠被16整除的地址偏移地址(段内地址)是從0000H開始的例子:假設程序分配的内存區從6100H開始,程序長度1020字節,操作數510字節,堆棧段250字節則代碼段長度為1024D=400H,數據段長度為512D=200H,堆棧段長度為256D=100H

示意圖如下:

彙編語言是面向計算機指令系統嗎(詳解彙編語言基礎知識)9

段與段之間的關系?

8088/8086 CPU把1MB的存儲空間劃分成若幹邏輯段每個段的起始地址必須是能夠被16整除的數邏輯段的最大長度為64KB 1MB的存儲空間最多可以分成64K個邏輯段,當每個邏輯段為16KB時段與段之間可以相鄰、分離、重疊、部分重疊

12、保護模式

1)保護模式存儲器尋址機制 在保護模式下,邏輯地址=選擇符 偏移地址 與實模式不同,實模式的段寄存器存放段基地址,而保護模式的段寄存器存放選擇符 保護模式下,通過選擇描述符表中的描述符,間接地形成段基地址 保護模式的偏移地址最大可以是32位,最大段長可以從16KB擴展到4GB 2)描述符 描述符包括,段在寄存器中的位置,段的長度,訪問權限 由基地址、段界限、訪問權限、附加字段組成 基地址:指定段的起始地址 段界限:存放該段的最大偏移地址 訪問權限:說明該段在系統中的功能和一些控制信息 附加字段:描述該段的一些屬性 描述符的内容是由系統自動設置的 由于段寄存器是16位的,描述符是64位的 故将64位的段描述符放按順序存放形成一個段描述符表,放在内存中 而在段寄存器中實際存放的是要選擇的段描述符表的序号,類似于數組中的下标

13、存儲器管理機制

1)分段管理機制 ①虛拟存儲器:在有限的物理存儲器上獲取更大的使用空間 *虛拟存儲器是如何實現存儲的?* 在程序執行期間的任意時刻,虛拟存儲器系統自動吧程序分成許多小塊即程序段 将某個程序段存放到物理存儲器中,其他程序段放在磁盤中 當程序要訪問到哪個程序段時,就把哪個程序段引導到物理存儲器中 ②分段管理:将4GB的存儲空間分成若幹獨立的受保護的存儲空間塊 每個應用程序可以使用這些存儲空間塊 2)分頁管理機制 ①線性地址空間:每個進程都有相同大小的4GB線性空間 用分段管理機制實現虛拟地址空間到線性地址空間的映射,實現把二維的 虛拟地址轉換為一維的線性地址 ②分頁存儲管理:把線性地址空間和物理地址空間分别劃分為大小相同的塊,每塊長為4KB 這樣的塊稱為頁,通過分頁管理機制實現線性地址空間到物理地址空間的 映射,實現線性地址到物理地址的轉換

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
電腦裡便簽怎麼打開
電腦裡便簽怎麼打開
有的人在工作的時候接觸過雲便簽,雲便簽作為一個辦公輔助工具可以在工作中協助大家,平時用雲便簽記錄工作任務、備忘待辦、會議安排等,雲便簽軟件也有很多品牌種類,既然如此,電腦上在哪裡找雲便簽呢?Windows電腦中都有自帶的便箋軟件,可以進行一...
2024-10-14
108位梁山好漢綽号來源
108位梁山好漢綽号來源
108位梁山好漢綽号來源?在大數據越來越流行的今天,我們不妨揮着想象的翅膀去水浒世界感受一下大數據的魅力在《水浒傳》中的梁山大寨上,有着豐富多彩,妙趣橫生的N某或N某某,各位如若不信,聽俺一一道來三玉:玉麒麟盧俊義、玉臂匠金大堅、玉幡竿孟康...
2024-10-14
蘋果手機顯示運行不足怎麼辦
蘋果手機顯示運行不足怎麼辦
蘋果手機顯示運行不足怎麼辦?清空Safari緩存經常使用Safari浏覽網頁時間久了會産生大量緩存數據,需要清空Safari的緩存來保持它的運行流暢想要執行這個操作,需要進入【設置】>【Safari】,然後點擊“清除曆史記錄”和“清除Coo...
2024-10-14
淨水器安裝後的正确使用方法
淨水器安裝後的正确使用方法
據悉英國在1832年就已經發明了中央淨水器,但是淨水行業在我們國内的發展時間确隻有二十多年,雖然各項技術雖然已經慢慢成熟化,但是國内對于中央淨水器的使用率仍然很低。由于,中央淨水器是一種比較大型的家用淨水設備,在安裝方面仍然存在很多大家不懂...
2024-10-14
微信備份聊天記錄遷移
微信備份聊天記錄遷移
1.步驟打開微信->點擊[我]->點擊[設置]->點擊[聊天]->這時候有兩種選擇(1).遷移聊天記錄到另一台設備點擊該選項->選擇聊天記錄->可以選擇全部或者部分->會生成一個二維碼->使用另外一部手機來二維碼掃描功能來掃描,等待數據備份...
2024-10-14
Copyright 2023-2024 - www.tftnews.com All Rights Reserved