彙編程序基本原理知識筆記

2021-03-06 IT技術分享社區


1、彙編語言的概念

定義:為特定計算機或計算機系統設計的面向機器的符號化程序設計語言。彙編程序也就是用彙編語言編寫的程序。計算機要運行彙編程序需要用專門的翻譯程序進行翻譯,然後計算機才可以識別。

彙編語句的分類:指令語句、偽指令語句和宏指令語句

1.1 指令語句

又稱機器 指令語句,翻譯後能夠產生相應的機器代碼,並且能被CPU直接識別並執行相應的操作。常見的基本指令如ADD、SUB、AND等。書寫指令必須遵循指令的格式規範。經過翻譯後會產生相應的機器代碼。指令語句是在程序運行的時候完成。

1.2 偽指令語句

指示彙編程序在翻譯源程序的時候完成某些工作,比如給變量分配存儲單元、給某個符號賦值等。翻譯後不會產生機器代碼。偽指令語句是在源程序彙編的時候完成。

1.3 宏指令語句

允許用戶多次重複使用的程序代碼段稱為宏。

2、彙編程序

2.1 彙編程序的作用

可以將所編寫的源程序翻譯成機器指令對程序,彙編程序主要工作是將每一條可以執行的彙編語句轉換為相應的機器指令,處理源程序中的偽指令。因為彙編指令中形成的操作數地址的部分可能出現在後面才會有定義的符號,所以彙編程序一般要經過兩次掃描源程序才能完成翻譯過程。

2.2 第一次掃描

第一次掃描主要工作是定義符號的值,並創建一個符號表ST,記錄了彙編時所遇到的符號的值。

MOT1:固定的機器指令表,記錄了每條機器指令的記憶碼和指令的長度。

掃描過程

1、單元計數器LC置初始值0

2、打開源程序文件

3、從源程序中讀入第一條語句

4、while(若當前語句不是End語句)

5、關閉源程序文件

2.3 第二次掃描

MOT2:機器指令表包含機器指令助記符、機器指令的二進位操作碼、格式、長度等。

第二次掃描產生目標程序。

如下圖:

       

IT技術分享社區

個人博客網站:https://programmerblog.xyz


相關焦點

  • 編譯程序基本原理的知識筆記
    編譯程序的作用是把某高級語言書寫的源程序翻譯成與之等價的目標程序。1、編譯過程1.1 詞法分析編譯過程的第一階段主要任務是對源程序從前往後(從左往右)逐個字符掃描,從中識別出一個個單詞符號。「單詞」是程序設計語言的基本語法單位,如關鍵字、標誌符等。
  • 彙編語言的基本知識
    一、彙編語言的語句格式     由彙編語言編寫的源程序是由許多語句(也可稱為彙編指令)組成的。
  • 學霸們的筆記整理:初中物理基礎知識分類彙編大全,建議收藏!
    今天就為大家整理了學霸們的筆記:初中物理兩年的基礎知識彙編,請同學們仔細閱讀學習,好東西要記得分享哦!一,物理學家及其重要成就二,常用物理研究方法及其內容三,常用物理量及其度量四,幾個定義量的物理意義五,重要的物理公式六,重要的推導公式及其適用條件七,常用估算量及常數八,常見的隱含條件及其內容九,物理設備及其工作原理
  • 【經典教材】胡壽松《自動控制原理》(第7版)筆記和習題(含考研真題)詳解【考研真題精選+章節題庫】
    在參考了國內外名校名師講授該教材的課堂筆記基礎上,複習筆記部分對該章的重難點進行了整理,因此,本書的內容幾乎濃縮了該教材的知識精華。(2)解析課後習題,提供詳盡答案。本書參考了該教材的國內外配套資料和其他教材的相關知識對該教材的課(章)後習題進行了詳細的分析和解答,並對相關重要知識點進行了延伸和歸納。(3)挑選考研真題,總結出題思路。
  • 程序語言的概念知識筆記
    1、低級語言和高級語言計算機指令程序:0、1 組成的機器指令序列。特點:效率低、可讀性差、難以維護。彙編指令:用常用的符號代替0、1 序列來 表示機器指令,例如用ADD表示加法。高級語言:面向對象設計的各類應用的程序語言。比然:Java、C、C++、C#、PHP等。2、編譯程序和解釋程序高級語言必須經過計算機翻譯才能被計算機硬體所理解。語言之間的翻譯方式有彙編、解釋、編譯。
  • 《彙編語言》——筆記(一)
    基礎知識在講彙編語言之前,先介紹下機器語言。機器語言是機器指令的集合。電子計算機的機器指令是一列二進位數字,計算機將轉變高低電平,來驅動電子器件。計算機是可以執行機器指令,進行運算的機器。這是早期的概念。現在,有一個晶片來完成上面所說的計算機的功能。這個晶片便是CPU(Central Processing Unit,中央處理單元),CPU是一種微處理器。
  • 《彙編語言程序設計》--- 王爽 學習筆記
    一個有意義的彙編程序至少要有一個段,這個段用來存放代碼。END 是一個彙編程序的結束標記,編譯器在編譯彙編程序的過程中,如果碰到了偽指令END 就結束對源程序的編譯。如果程序寫完了,要在結尾處加上偽指令END,否則,編譯器在編譯程序時,無法知道程序何處結束。ASSUME 寄存器與段的關聯假設 它假設某一段寄存器和程序中的某一個用segment。。。ends定義的段相關聯。
  • ds18b20彙編程序與c程序
    ds18b20 c程序本文引用地址:http://www.eepw.com.cn/article/172838.htm//DS1820 C51 子程序//這裡以11.0592M晶體為例,不同的晶體速度可能需要調整延時的時間//
  • C語言程序執行從彙編角度詳解
    tid=2403023011&_trace_c_p_k2_=b007fad39e354f55af484d41391c5783#/learn/announce關鍵字:棧,函數,調用,彙編,寄存器 概述:C語言程序介於彙編語言和高級語言中間面,擁有直接操縱內存入口,同時擁有高級語言易讀性
  • 彙編語言知識總結
    彙編語言作為直接在硬體(CPU、內存、埠)上工作的程式語言,可以讓我們更好地理解編程的底層原理。個人認為學習彙編最大的用處就是可以幫助我們更好地理解高級語言,比如遞歸的調用過程,debug等,還提供了從彙編角度優化程序設計的思路。
  • 彙編語言入門教程
    編譯器的作用,就是將高級語言寫好的程序,翻譯成一條條操作碼。對於人類來說,二進位程序太難閱讀了,通過代碼根本看不出來機器幹了什麼。為了解決可讀性的問題,以及偶爾的編輯需求,就誕生了彙編語言。下面我就一行一行講解這個彙編程序,建議讀者最好把這個程序,在另一個窗口拷貝一份,省得閱讀的時候再把頁面滾動上來。push 指令根據約定,程序從_main標籤開始執行,這時會在 Stack 上為main建立一個幀,並將 Stack 所指向的地址,寫入 ESP 寄存器。後面如果有數據要寫入main這個幀,就會寫在 ESP 寄存器所保存的地址。
  • 編譯原理課程教與學(教學大綱)
    本課程主要講述高級語言翻譯為計算機能執行的代碼的原理、過程、方法和技術,核心是介紹高級語言到彙編語言的翻譯。讓學生理解編譯和高級語言程序之間的關係,掌握詞法分析、語法分析、語義分析、中間代碼生成、代碼優化和目標代碼生成等各個階段的原理、方法和實現技術,真正認識計算機信息處理的實質、訓練抽象思維能力、體驗系統軟體的開發過程,進一步提升計算機科學與技術的專業素養。
  • 彙編語言入門
    雖然現在市面上關於彙編語言的書籍資料無窮多,卻無從下手?
  • 單片機彙編延時程序的理解
    單片機彙編實現延遲的程序代碼:本文引用地址:http://www.eepw.com.cn/article/171019.htmDELAY:
  • 8086/8088CPU的基本結構與其工作原理
    並且,在上一章中,著重介紹的是整個計算機系統的基本組成以及它的工作原理。由於CPU是計算機系統中的核心部件,機器指令的執行是由它來完成的,因此,細化理解CPU的基本結構以及它的工作原理成為學習指令系統的基礎。本章將針對8086/8088CPU晶片,介紹其基本構成與工作原理,為學習下一章的80868088CPU指令系統做好準備。
  • 學習彙編是怎樣的一種體驗?
    我想說得是,得彙編者得天下!就像考研,得數學者得天下一樣. 關於彙編,推薦王爽老師編著的《彙編語言》.下面從《彙編語言》課程設計2開始說起.我們先看一下課程設計2的主要任務:編寫一個可以自行啟動計算機的程序.
  • 質譜法基本知識(1)—基本原理和結構
    請點擊上方藍色字體關注化學先生   質譜法基本知識
  • 《彙編語言》
    兩個月前看完王爽著的《彙編語言》經過一段時間的休整,今天再次翻開來又有另一番滋味,趁著最近對底層原理這股熱情,對書本的內容進行一些整理。我的初衷是希望更多的理解程序集在計算機中執行的原理,我中意《深度探索C++對象模型》裡作者說的一句話,他說「我的經驗告訴我,如果一個程式設計師了解底層實現模型,他就能夠寫出效率較高的代碼,自信心也比較高。
  • 關於光學與近代物理基本知識總結筆記
    高中物理基本知識總結筆記(光學與近代物理)
  • 編譯原理筆記 01 緒論
    # 緒論計算機語言間的「翻譯官」通常來說,計算機語言分為高級語言,彙編,機器語言三種。