機器語言是?
什麼是機器語言
英 文: Machine Language
別 名: 低級語言,二進制代碼語言
定 義:
機器語言是直接用二進制代碼指令表達的計算機語言,指令是用0和1組成的一串代碼,它們有一定的位數,並分成若干段,各段的編碼表示不同的含義,例如某臺計算機字長為16位,即有16個二進制數組成一條指令或其它信息。16個0和1可組成各種排列組合,通過線路變成電信號,讓計算機執行各種不同的操作。
如某種計算機的指令為1011011000000000,它表示讓計算機進行一次加法操作;而指令1011010100000000則表示進行一次減法操作。它們的前八位表示操作碼,而後八位表示地址碼。從上面兩條指令可以看出,它們只是在操作碼中從左邊第0位算起的第6和第7位不同。這種機型可包含256(=2的8次方)個不同的指令。
特 點:
機器語言或稱為二進制代碼語言,計算機可以直接識別,不需要進行任何翻譯。每臺機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。它是第一代的計算機語言。機器語言對不同型號的計算機來說一般是不同的。
缺 點:
1.大量繁雜瑣碎的細節牽制著程序員,使他們不可能有更多的時間和精力去從事創造性的勞動,執行對他們來說更為重要的任務。如確保程序的正確性、高效性。禒
2.程序員既要駕馭程序設計的全局又要深入每一個局部直到實現的細節,即使智力超群的程序員也常常會顧此失彼,屢出差錯,因而所編出的程序可靠性差,且開發週期長。
3.由於用機器語言進行程序設計的思維和表達方式與人們的習慣大相徑庭,只有經過較長時間職業訓練的程序員才能勝任,使得程序設計曲高和寡。
4.因為它的書面形式全是"密"碼,所以可讀性差,不便於交流與合作。
5.因為它嚴重地依賴於具體的計算機,所以可移植性差,重用性差。
這些弊端造成當時的計算機應用未能迅速得到推廣。
機器語言;
一種cpu的指令系統,也稱cpu的機器語言。它是該cpu可以識別的一組由1和0序列構成的指令碼。用機器語言編程序,就是從實用的cpu的指令系統中挑選合適的指令,組成一個指令系列。
參考資料:baike.baidu.com/view/111847.htm
機器語言是什麼
機器語言是能被機器識別的語言,往上還有高級語言,機器語言屬於低級語言
彙編語言是不是機器語言
彙編語言是符號/標記語言,它並不是機器語言
所謂的機器語言,說白了就是010101的二進制代碼,那東西沒有幾十年經驗的人是讀不懂的(呵呵,就有那些牛人能直接讀二進制代碼的內容)
彙編語言編譯後就是機器碼了,機器就能很容易地理解機器碼。機器碼一般也很少用二進制表示,多用16進制,但無論如何,要讓人類來記憶機器碼並進行編程,還是十分困難的,可行性先不說,單單說效率就低到不能忍受了。業內普遍承認,彙編的開發效率很低(運行效率高),查錯難,可讀性差,如果再使用難理解的機器碼,就更不用說了!!!
彙編跟機器碼,幾乎是一一對應的關係,一個蘿蔔一個坑。所以,彙編語言中把標識符都稱之為助記符。“助記”二字,耐人尋味啊,呵呵。
Good Luck!
機器語言與彙編語言之間是怎麼轉化的?
機器碼與彙編一一對應,但是很複雜
參考如下地址,後面是具體解法,
www.pediy.com/bbshtml/BBS6/pediy6832.htm
MOV AX,BX 對應的機器碼為:8BC3
解法: 判斷-> 這個是8086彙編16位彙編指令格式,並且是寄存器尋址方式
查表-> 打開opcodes.html文件,找到標題為“Main Instructions”,單擊“M
”字母,然後對應查看 “MOV Reg,Reg”格式的“OpCode”項為:1000101woorrrmmm
再判斷-> 由於寄存器是AX, BX 明顯是“對字操作”,所以w=1
在查看本文章上面的“表4”,對應查到oo=11 因為是寄存器尋址方式
在查看本文章上面的“表1”,對應查到rrr的值為000 ,因為當兩個操
作數都是寄存器,那麼一般要以目的操作數為準
在查看本文章上面的“表3”, 對應查到mmm的值為011 ,因為當兩個操作數都是寄存器,那麼一般要以源操作數為準
組合結果-> w=1
oo=11
rrr=000
mmm=011
1000101woorrrmmm=1000 1011 1100 0011B ->8BC3H
參考資料:http://www.pediy.com/bbshtml/BBS6/pediy6832.htm
機器語言
我自己的看法,希望能讀完。
機器語言是語言的物理硬件,只有0和1,而不是海報,如CPU的內部工作指示。
彙編語言的開發人員,但區別與其他高級語言(C,BASIC,C + +)
彙編語言,不同的是高層次的語言跨平臺的,首先是CPU的工作是依賴於機器語言指令集(ISA),這些指令是CPU獨佔的,有些則必須接觸到外面的世界,如cpu做加法,誰補充說誰CPU不能決定必須在指定的外界之前的操作。存在的問題,困難的機器代碼控制CPU,只有0和1,程序員不得不花費大量的努力!因此,出生彙編語言被邀請。這是一個形式的話,程序員完成程序由彙編程序(類似於一個高級語言編譯器)文本轉換成機器代碼,該程序可以控制CPU,彙編語言是非常依賴於CPU I386彙編的唯一的奔跑對於i386架構CPU的支持,蘋果PowerPC彙編程序只能運行在Mac上。這就是為什麼Windows程序可以在Mac上運行,是一個相互的彙編指令集是不同的,因此不同的機器代碼。
當然,操作的計算機程序和最終的機器上運行代碼,但編程語言是非常重要的,比如寫一個簡單的程序,使用C語言,C語言編譯器(編譯器)到相應的彙編程序彙編程序(彙編)將代碼編譯成機器代碼才可以運行。
原因,高層次的語言跨平臺的,因為同一種高層次的語言在不同平臺,不同的編譯器,彙編器可以調用一個相對的平臺,平臺上運行相應的。因此,一些高級語言和彙編語言歸為一類,是不正確的。 。 。 。 。 。
想,說了很多,畢竟,剛開始學習,但也審查的方式,或停在這裡。
高級語言與機器語言的主要區別
這個問題我一步一步來給你回答:
隨著計算機語言的發展,現分為機器語言、低級語言和高級語言:
1.機器語言是計算機最原始的語言,是由0和1的代碼構成,cpu在工作的時候只認識機器語言,即0和1的代碼。
2.彙編語言,即為一種低級語言,它用人類容易記憶的語言和符號來表示一組0和1的代碼,例如AND代表加法。
3.高級語言,它是在低級語言的基礎上,採用接近於人類自然語言的單詞和符號來表示一組低級語言程序,使編程變得更加簡單,易學,且寫出的程序可讀性強。
高級語言又分為面向過程的編程語言和麵向對象的編程語言,面向過程編程在同一個功能每實現一次都要編寫一次代碼,代碼的重用性較差,而在面向對象編程中引入了類了概念,實現同樣的方法只要編寫一次代碼,用到時只需要調用該類即可,代碼重用性高,這是目前流行的編程方式。
如何用機器語言來編程
編程最後一步生成exe文件(由編譯器完成)就是把變好的程轉化成機器語言讓電腦來執行。
所以用機器語言編程本質上講很簡單,只要把每個步驟依次打出來好了,不同機器的機器語言不一樣。不過現在cpu有標準的指令集
如0000 代表 加載(LOAD)
0000 代表暫存器 A
000000001000 代表位址為 16 的內存
0000 0001 0000000001000 就是把地址為1激的內存存到暫存器A中
至於怎麼讓電腦執行的話就是編寫一個二進制文件(exe文件就是一種二進制文件),有專門的二進制文件編輯器不過很少見,編的對就能執行了,再說用1和0雖然可行到根本不現實。光一個加法運算都能讓人崩潰。具體我也不是很清楚
CPU是如何實現機器語言的呢? 20分
這個問題要說的可就多了,因為現在的計算機有好多種結構體系的,就以我們最常見的X86結構的計算機來簡單的說說。 首先我們按下開機鍵,計算機通電,電源部分給各個部件加電,這是個脈衝升壓過程,很快的。然後每個部件都返回一條指令給主板的負責自檢的模塊BIOS(BASIC Input Output System)表示加電成功,準備就緒。 然後,BIOS進行系統自檢,詳細的檢查如內存、cpu等部件的工作是否正常。自檢通過後,啟動的所有權交給磁盤上的啟動扇區,啟動扇區的數據將引導計算機執行最基本的啟動指令,然後啟動磁盤上已有的操作系統(OS,operating system),操作系統啟動成功後,將出現人機交互界面,這時計算機會接受操作員給出的指令,並進行處理,最後返回給操作員結果。 工作完畢後,操作員給出關機指令,計算機關閉。 計算機語言的種類非常的多,總的來說可以分成機器語言,彙編語言,高級語言三大類。 電腦每做的一次動作,一個步驟,都是按照以經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。 目前通用的編程語言有兩種形式:彙編語言和高級語言。 彙編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。彙編程序通常由三部分組成:指令、偽指令和宏指令。彙編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此彙編源程序一般比較冗長、複雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但彙編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經彙編生成的可執行文件不僅比較小,而且執行速度很快。 高級語言是目前絕大多數編程者的選擇。和彙編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。 高級語言主要是相對於彙編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。 高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類: 解釋類:執行方式類似於我們日常生活中的“同聲翻譯”,應用程序源代碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。 編譯類:編譯是指在應用源程序執行之前,就將程序源代碼“翻譯”成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
機器語言是什麼?
一種cpu的指令系統,也稱cpu的機器語言。它是該cpu可以識別的一組由1和0序列構成的指令碼。用機器語言編程序,就是從實用的cpu的指令系統中挑選合適的指令,組成一個指令系列
選擇C
機器語言是怎麼被人類發明出來的?
現在我們所說的計算機,其全稱是通用電子數字計算機,“通用”是指計算機可服務於多種用途,“電子”是指計算機是一種電子設備,“數字”是指在計算機內部一切信息均用0和1的編碼來表示。計算機的出現是20世紀最卓越的成就之一,計算機的廣泛應用極大地促進了生產力的發展。 一、計算工具的發展簡史 自古以來,人類就在不斷地發明和改進計算工具,從古老的“結繩記事”,到算盤、計算尺、差分機,直到1946年第一臺電子計算機誕生,計算工具經歷了從簡單到複雜、從低級到高級、從手動到自動的發展過程,而且還在不斷髮展。回顧計算工具的發展歷史,從中可以得到許多有益的啟示。 1. 手動式計算工具 人類最初用手指進行計算。人有兩隻手,十個手指頭,所以,自然而然地習慣用手指記數並採用十進制記數法。用手指進行計算雖然很方便,但計算範圍有限,計算結果也無法存儲。於是人們用繩子、石子等作為工具來延長手指的計算能力,如中國古書中記載的“上古結繩而治”,拉丁文中“Calculus”的本意是用於計算的小石子。 最原始的人造計算工具是算籌,我國古代勞動人民最先創造和使用了這種簡單的計算工具。算籌最早出現在何時,現在已經無法考證,但在春秋戰國時期,算籌使用的已經非常普遍了。根據史書的記載,算籌是一根根同樣長短和粗細的小棍子,一般長為13~14cm,徑粗0.2~0.3cm,多用竹子製成,也有用木頭、獸骨、象牙、金屬等材料製成的。算籌採用十進制記數法,有縱式和橫式兩種擺法,這兩種擺法都可以表示1、2、3、4、5、6、7、8、9九個數字,數字0用空位表示。算籌的記數方法為:個位用縱式,十位用橫式,百位用縱式,千位用橫式,……,這樣從右到左,縱橫相間,就可以表示任意大的自然數了。 計算工具發展史上的第一次重大改革是算盤,也是我國古代勞動人民首先創造和使用的。算盤由算籌演變而來,並且和算籌並存競爭了一個時期,終於在元代後期取代了算籌。算盤輕巧靈活、攜帶方便,應用極為廣泛,先後流傳到日本、朝鮮和東南亞等國家,後來又傳入西方。算盤採用十進制記數法並有一整套計算口訣,例如“三下五除二”、“七上八下”等,這是最早的體系化算法。算盤能夠進行基本的算術運算,是公認的最早使用的計算工具。 1617年,英國數學家約翰·納皮爾(John Napier)發明了Napier乘除器,也稱Napier算籌。Napier算籌由十根長條狀的木棍組成,每根木棍的表面雕刻著一位數字的乘法表,右邊第一根木棍是固定的,其餘木棍可以根據計算的需要進行拼合和調換位置。Napier算籌可以用加法和一位數乘法代替多位數乘法,也可以用除數為一位數的除法和減法代替多位數除法,從而大大簡化了數值計算過程。 1621年,英國數學家威廉·奧特雷德(William Oughtred)根據對數原理髮明瞭圓形計算尺,也稱對數計算尺。對數計算尺在兩個圓盤的邊緣標註對數刻度,然後讓它們相對轉動,就可以基於對數原理用加減運算來實現乘除運算。17世紀中期,對數計算尺改進為尺座和在尺座內部移動的滑尺。18世紀末,發明蒸汽機的瓦特獨具匠心,在尺座上添置了一個滑標,用來存儲計算的中間結果。對數計算尺不僅能進行加、減、乘、除、乘方、開方運算,甚至可以計算三角函數、指數函數和對數函數,它一直使用到袖珍電子計算器面世。即使在20世紀60年代,對數計算尺仍然是理工科大學生必須掌握的基本功,是工程師身份的一種象徵。 2. 機械式計算工具 17世紀,歐洲出現了利用齒輪技術的計算工具。1642年,法國數學家帕斯卡(Blaise Pascal)發明了帕斯卡加法器,這是人類歷史上第一臺機械式計算工具,......