精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

面向機器語言有哪些

姚小熊27 ? 來源:網絡整理 ? 2018-04-16 10:29 ? 次閱讀

機器語言原理

計算機的核心部件是CPU(中央處理單元),這是一個有著眾多引腳的集成電路。計算機的所有動作均由其內部的“電子運算”而最終產生。從理解的角度上,可以把CPU看作是一套“約定”的集合。當我們通過一些引腳告訴它“1”、“加”、“2”、“運算”、“輸出”等信號時,通過CPU設計制作時固定好的“約定”,在其另一些引腳上輸出“3”的信號并通知顯示設備顯示出“3”的圖象,我們就此得到了結果。——這些“約定”就是該CPU的機器語言。

不同的CPU有著不同的機器語言。不同機器語言基礎上的軟件無法通用。某一廠商新型的CPU為了軟件的通用性往往向其早期的CPU保持兼容。機器語言是一切軟件(包括操作系統)的基礎,是計算機最終識別并執行的指令。

任何的機器語言都只接受兩種信息:“指令”和“數據”;指令是告訴CPU做什么樣的動作,而數據則是動作的對象。比如上文中的“加”、“運算”等是指令,而“1”、“2”是數據。從形式上講,指令和數據都是二進制信息。但如果將數據當成指令交給CPU處理,通常CPU會無法理解而死機;反之如果將指令當成數據交給CPU則不會引起任何惡果,因為數據不會引起CPU任何的動作。

為驗證這一說法,你可以隨便將一個文件的擴展名改為COM在DOS下交給系統執行;也可以將命令處理器COMMAND.COM的擴展名改為TXT用記事本打開(切記不要存盤!)。

面向機器語言概述

面向機器語言是為特定的計算機或一類計算機而設計的程序設計語言。這種語言保留了機器語言的外形,即由操作碼和地址碼組成指令這個外形,但面向機器語言的語言是用符號形式而不用機器代碼形式。這種語言能讓使用者擺脫計算機的一些純事物性的細節問題(如無需硬記機器指令代碼、擺脫了二-十進制轉換問題和分配內存問題等),而專心考慮程序間的內在聯系。這類語言的代表是匯編語言。

面向機器語言有哪些

面向機器語言有哪些

1、機器語言

機器語言程序由機器指令構成,這些機器指令按照執行順序依次排列,運行時依次執行完成某個特定的計算或任務。

機器指令是CPU能直接識別并執行的指令。機器指令由物理部件的若干位二進制0、1狀態體現,機器指令程序運行前需要存儲到內存,正確的機器指令一旦送入CPU被譯碼后就將變成動作予以執行。

如圖1-1所示,機器指令面向機器,因機器而異。不同的機器具有不同的機器指令,因而具有不同的機器語言。所謂不同的機器,是指具有不同CPU(中央處理器)的計算機。由于機器指令與CPU緊密相關,所以不同種類的CPU所對應的機器指令也就不同,而且它們的指令系統往往相差很大。但對同一系列的CPU來說,為了滿足各型號之間良好的兼容性,設計者一般要做到:新一代CPU的指令系統必須兼容先前開發的同系列CPU的指令系統。只有這樣,先前開發出來的各類程序在新一弋CPU上才能正常運行。

面向機器語言有哪些

機器指令通常由操作碼和操作數兩部分組成,操作碼指出該指令所要完成的操作,即指令的功能,操作數指出參與運算的對象,以及運算結果所存放的位置等。由于機器指令由物理部件的若干位二進制0、1狀態體現,因此機器指令的最直接的記憶形式就是表示這一指令狀態的二進制數,這個二進制數就稱作該機器指令的二進制代碼指令。由于二進制數和八進制數,以及十六進制數的特殊關系,因此該二進制代碼指令對應的八進制數和十六進制數分別稱作該機器指令的八進制或十六進制代碼指令。

例如:B233H就是一條80*86的十六進制機器代碼指令,這條指令的功能是將33H這個十六進制數送到DL寄存器。該機器指令的二進制代碼指令是:1011001000110011,指令長度16位。

顯然二進制代碼指令與其狀態對應直觀,但記憶困難。而十六進制代碼指令則方便記憶。因此80*86的代碼指令通常都用十六進制表示。

用機器指令所寫的程序稱作機器指令程序,機器指令程序也指剛代碼指令所寫的程序。機器指令程序遵循馮·諾依曼原理:用二進制表示數,程序與數據都存儲在同樣的存儲器,程序指令一般按存取順序執行。

計算機出現初期只有一種機器語言,程序員只能用代碼指令編寫程序,即機器語言程序。用機器語言編寫程序是相當艱苦的工作,必須由經過嚴格訓練的專業技術人員承擔,這是早期計算機之所以不能夠廣泛應用的最大障礙之一。

一方面機器語言十分重要,必須了解;另一方面機器代碼指令程序使用又十分困難;因因此唯一能夠替代機器語言的匯編語言就成為計算機科技人員必須掌握的一種計算機語言。

2、匯編語言

雖然用機器語言編寫程序有許多不便,但程序執行效率高。所以,在保留“程序執行效率高”的前提下,人們開始著手研究一種能大大改善程序可讀性的編程方法。即選用能反映機器指令功能的單詞或詞組來代替該機器指令的操作碼,選用相應的符號表示CPU內部資源和內存等操作數,這就是匯編指令。

例如,匯編指令:

MOVAL,BL其對應的二進制指令為:1101100010001000,十六進制代碼指令則為D888H,可見記憶機器指令相當困難。

而匯編指令中MOV源于Move,表示傳送指令;AL、BL分別表示80x86的AL和BL寄存器。指令功能是將BL寄存器中的內容傳送到AL寄存器。如此,令人難懂的二進制機器代碼指令或十六進制機器代碼指令就可以用通俗易懂的、具有一定含義的符號指令來表示了,這就是匯編指令的原意。我們稱這些具有一定含義的符號,例如上述指令中的MOV,為助記符。用助記符、符號地址等組成的符號指令稱為匯編格式指令或匯編指令。

因此,用助記符表示的機器指令稱作匯編指令,用匯編指令編寫的程序稱作匯編指令程序。但匯編指令最終必須翻譯成機器指令才能夠在計算機上執行。

匯編語言是匯編指令集、偽指令集及其使用規則的統稱。能夠一對一地翻譯成機器指令的這種用助記符表示的機器指令稱作匯編指令。偽指令則是出現在匯編語言程序中的一些輔助性的說明,它不對應具體的機器指令,而是程序設計者與匯編過程中的翻譯程序(即匯編)、連接程序,以及執行時如何裝入的一種約定。

用匯編語言編寫的程序稱作匯編語言程序,或匯編語言源程序,也簡稱為源程序。匯編語言程序較之機器指令程序容易理解和維護。

匯編語言源程序是一個文本文件,它必須經過翻譯才能夠變成可執行的機器語言程序,這個翻譯過程稱作匯編。匯編的核心過程是將匯編指令逐條翻譯成機器指令,這正是匯編語言中“匯編”一詞的含義。

80x86匯編語言源程序擴展名為.asm,經過匯編以后生成的浮動地址二進制文件擴展名為.obj,.obj文件需要經過連接才能夠生成可執行文件.exe。.exe是一個可以由操作系統執行的機器指令程序。圖1-2給出了一個簡單匯編語言程序與其機器指令程序之間的對應關系。

盡管不同的CPU有不同的匯編語言,但不同種類的匯編語言都有其共同規律。因此,學會一種匯編語言,再學習其他匯編語言就相對容易多了。

機器語言的發展

每種計算機都有自己獨特的機器指令,比如,某種型號的計算機用8位二進制信息10001010表示加法指令,用00010011表示減法指令,等等。這些指令的執行由計算機的線路來保證,計算機在設計之初,先就要確定好每一條指令對應的線路邏輯操作。計算機處理信息的早期語言是所謂的機器語言,使用機器語言進行程序設計需要面向機器來編寫代碼,即需要針對不同的機器編寫諸如01011100這樣的指令序列。用機器語言進行程序設計是一項累人的工作,代碼難以閱讀和理解,一個簡單的任務往往蘊含著編寫大量的代碼,而且同樣的任務需要針對不同型號的計算機分別進行編寫指令,因為一種型號的計算機用10001010表示加法指令,而另一種型號的計算機可能用11110000表示加法指令。因此,使用機器語言編程也稱為面向機器編程。20世紀50年代出現了匯編語言,在編寫指令時,用一些簡單的容易記憶的符號代替二進制指令,但匯編語言仍是面向機器語言,需針對小同的機器編寫不同的代碼。習慣上稱機器語言、匯編語言是低級語言。

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

    關注

    14

    文章

    409

    瀏覽量

    35742
  • 機器語言
    +關注

    關注

    0

    文章

    35

    瀏覽量

    10745
收藏 人收藏

    評論

    相關推薦

    c語言匯編語言機器語言的轉化

    匯編語言經過匯編程序可以翻譯成及期望語言,C語言是不是必須先轉換為匯編語言,然后才能生成機器語言?還是C
    發表于 04-14 16:53

    匯編語言機器語言

    機器語言是計算機直接認識的語言,在電路中有高低電平表示,在邏輯中用0和1表示(0表示低或者開關的斷開,1表示高或者開關的閉合)機器語言是最早的機器運行的
    發表于 03-13 17:22

    C語言為什么不能直接轉換為機器語言呢?

    單片機只能識別機器語言。匯編把程序轉換為機器語言,C語言把程序轉換為匯編語言,那么為什么C語言不直接轉換為
    發表于 04-12 16:51

    機器語言如何改變單片機程序感性認知

    高級語言被編譯器變成最后的機器語言機器碼被下載軟件下載進單片機的flash,相關處理寄存器根據系統時鐘一拍一拍工作,讀取flash里的代碼。 代碼實際上是flash存儲單元的電位狀態,進而被理解為
    發表于 04-02 01:03

    什么是匯編語言

    (Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。匯編語言機器語言易于讀寫、調
    發表于 07-19 06:05

    機器語言的預處理與編譯功能怎樣

    什么是機器語言呢?機器語言的預處理與編譯功能怎樣?
    發表于 01-19 06:41

    匯編語言詳解

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

    弱類型語言哪些_和強類型、動態、靜態類型的區別在哪里

    計算機不能直接理解高級語言,僅僅能直接理解機器語言,所以必需要把高級語言翻譯成機器語言,計算機才干運行高級語言編寫的程序。翻譯的方式
    發表于 12-04 16:12 ?1.1w次閱讀
    弱類型<b class='flag-5'>語言</b><b class='flag-5'>有</b>哪些_和強類型、動態、靜態類型的區別在哪里

    機器語言是什么_機器語言指令大全

    本文開始介紹看機器語言是什么或概念,其次介紹了機器語言缺點,最后介紹了機器語言指令概述及指令大全。
    的頭像 發表于 04-16 10:08 ?7.5w次閱讀
    <b class='flag-5'>機器語言</b>是什么_<b class='flag-5'>機器語言</b>指令大全

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

    本文首先介紹了高級語言的優缺點、匯編語言的優缺點及使用匯編語言的理由,其次介紹了機器語言的優缺點,最后闡述了高級語言和匯編
    的頭像 發表于 04-16 10:28 ?3w次閱讀

    80C51單片機匯編語言程序設計總結資料免費下載

    序設計語言分:機器語言、匯編語言和中高級語言 1.機器語言:硬件識別,二進制,無需翻譯、直接執行,面向
    發表于 10-12 17:17 ?14次下載
    80C51單片機匯編<b class='flag-5'>語言</b>程序設計總結資料免費下載

    計算機的機器語言和匯編語言與高級語言的詳細資料介紹

    計算機語言通常是一個能完整、準確和規則地表達人們的意圖,并用以指揮或控制計算機工作的“符號系統”。計算機語言通常分為三類:即機器語言、匯編語言和高級
    的頭像 發表于 02-06 16:11 ?5744次閱讀

    單片機三大編程語言_單片機編程入門注意事項

    單片機的編程語言三種:機器語言、匯編語言與高級語言機器語言是計算機能夠看懂的
    發表于 08-13 15:37 ?4.2w次閱讀

    基于使用PERSEUS-3計算機自制機器語言編程

    2007年,我開發了一種名為PERSEUS-3的計算機,以克服1980年自制的機器語言計算機遭受的挫折。其功能如下。
    的頭像 發表于 05-01 10:03 ?1910次閱讀

    什么語言適合做C2工具的免殺?

    機器語言(二進制代碼)、匯編語言面向機器的程序設計語言)和符號語言。匯編
    的頭像 發表于 02-16 10:30 ?1203次閱讀