A. 匯編語言屬於應用軟體嗎c語言源程序是應用軟體嗎
不是,匯編語言(Assembly Language)是任何一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。
在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
C語言源程序既不是應用軟體也不是系統軟體。它就是文本文件。如果要變成可執行文件,需要編譯、鏈接。在不同的系統,例如Unix和Windows,生成的可執行文件是不同的,在Windows中,生成的可執行文件後綴為exe。但是,源代碼是一樣的,只是各自系統的編譯器不同。
(1)匯編語言屬於什麼程序擴展閱讀
匯編語言的特點是容易被計算機識別和執行,使用它進行編程可以減少佔用空間、提高運行速度,並能直接對硬體實施控制。在需要實時控制的時候,有著不可替代的重要地位,但匯編語言在編程和理解時要復雜、困難一些,尤其是在進行數據處理或是邏輯運算時更加凸顯出其劣勢。
高級語言是面向使用者的語言,能更准確地被程序員所理解,它的表達能力強,功能多,編程效率高,上手速度快, 自動化程度高,因而更受歡迎。
在大部分軟體開發中,使用者都採用高級語言編程,以提高編程效率。但在要求存儲空間小,執行速度快,需直接對硬體進行控制的場合,則應用匯編語言編程,以達到優化程序速度的目的。
參考資料來源:網路-匯編語言
參考資料來源:網路-c語言
B. 匯編語言是一種什麼語言
匯編語言是任何一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
(2)匯編語言屬於什麼程序擴展閱讀:
自從1946年世界上第一台電子計算機問世,人類和機器的交流方式和語言就成為了軟體工程師和計算機從業者的主要研究方向,更有效更簡便的編程語言成為了軟體工程師的新寵兒,伴隨著計算機的飛速發展,計算機的硬體升級速度也越來越快,對編程語言的要求也日益嚴格。
在過去的幾十年,編程語言有了長足的發展,至今已經有四代語言問世。大量的編程語言為了滿足不同領域的編程要求和軟體功能,經歷 了被修改,被取代,被發展等過程,最終發展成了現在編程語言的多樣化。盡管人們多次試圖尋找一個能夠適應所有編程環境的通用語言,但 是卻沒有一次成功。程序設計語言正在與現代科技日益飛躍,人類的智慧在日益彰顯。
C. 匯編語言是一種什麼程序設計語言
匯編語言是最接近硬體的語言(二進制) , 因此具有執行效率高 , 但是不易編寫復雜的大程序的特性.所以也叫低階語言.
D. 什麼是匯編程序什麼是匯編語言
最初,程序只能用機器語言編寫。用機器語言編寫程序是早期經過嚴格訓練的專業技術人員的工作,普通的程序員一般難以勝任,而且用機器語言編寫的程序不易閱讀、出錯率高、難以維護,也不能直觀地反映用計算機解決問題的基本思路。但也有優點,用機器語言編寫出來的程序執行效率高,CPU嚴格按照程序員的要求去做,沒有多餘的額外操作。所以,在以保留「程序執行效率高」為前提下,人們就開始著手研究一種能大大改善程序可讀性的編程方法。為了改善機器指令的可讀性,選用了一些能反映機器指令功能的單詞或片語來代表該機器指令,而不再關心機器指令的具體二進制編碼。與此同時,也把CPU內部的各種資源符號化,使用該符號名也等於引用了該具體的物理資源。
如此一來,令人難懂的二進制機器指令就可以用通俗易懂的、具有一定含義的符號指令來表示了,於是,匯編語言就有了雛型。現在,我們稱這些具有一定含義的符號為助記符,用指令助記符、符號地址等組成的符號指令稱為匯編格式指令(或匯編指令)。匯編語言是匯編指令集、偽指令集和使用它們規則的統稱。偽指令是在程序設計時所需要的一些輔助性說明指令,它不對應具體的機器指令。
用匯編語言編寫的程序稱為匯編語言程序,或匯編語言源程序。
E. 匯編語言是什麼語言
什麼是匯編和匯編語言?
匯編語言是一種低級計算機編程語言,說"低級"並不是指語言的功能和復雜程度,而是它出現在計算機發展史的早期,但現在仍廣泛應用於計算機開發領域,應為它是絕大多數語言的基礎.再者,它是一種面向機器的語言,即它運行與操作都與計算機硬體密切相關.
C語言是一種高級語言,它有利於人為操作,近於面向對象與面向機器之間(VB就是一種面向對象的兆爛運編程語言),它的功能更加強大,可移植性高,是當今最廣泛的語言之一.
DOS匯編是說匯編語言的操作界面是DOST系統,這也說明是匯編是更低級一些,但執行鼎度是其它語言無法相比的,就是可移植性較差.
匯編語言是什麼
計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的歷程。
1. 機器語言
電子計算機所使用的是由「0」和「1」組成的二進制數,二進制是計算機的語言的基礎。計算機發明之初,人們只能降貴紆尊,用計算機的語言去命令計算機干這干那,一句話,就是寫出一串串由「0」和「1」組成的指令序列交由計算機執行,這種語言,就是機器語言。使用機器語言是十分痛苦的,特別是在程序有錯需要修改時,更是如此。而且,由於每台計算機的指令系統往往各不相同,所以,在一台計算機上執行的程序,要想在另一台計算機上執行,必須另編程序,造成了重復工作。但由於使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。
2. 匯編語言
為了歷嫌減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、符號串來替代一個特定的指令的二進制串,比如,用「A D D」代表加法,「M O V」代表數據傳遞等等,這樣一來,人們很容易讀懂並理解程序在干什麼,糾錯及維護都變得方便了,這種程序設計語言就稱為匯編語言,即第二代計算機語言。然而計算機是不認識這些符號的,這就需要一個專門的程序,專門負責將這些符號翻譯成二進制數的機器語言,這種翻譯程序被稱為匯編程序。
匯編語言同樣十分依賴於機器硬體,移植性不好,但效率仍十分高,針對計算機特定硬體而編制的匯編語言程序,能准確發揮計算機硬體的功能和特長,程序精煉而質量高,所以至今仍是一種常用而強有力的軟體開發工具。
3. 高級語言
從最初與計算機交流的痛苦經歷中,人們意識到,應該設計一種這樣的語言,這種語言接近於數學語言或人的自然語言,同時又不依賴於計算機硬體,編出的程序能在所有族梁機器上通用。經過努力,1 9 5 4年,第一個完全脫離機器硬體的高級語言—F O RT R A N問世了,4 0多年來,共有幾百種高級語言出現,有重要意義的有幾十種,影響較大、使用較普遍的有F O RT R A N、A L G O L、C O B O L、B A S I C、L I S P、S N O B O L、P L / 1、P a s c a l、C、P R O L O G、A d a、C + +、V C、V B、D e l p h i、J AVA 等。
高級語言的發展也經歷了從早期語言到結構化程序設計語言,從面向過程到非過程化程序語言的過程。相應地,軟體的開發也由最初的個體手工作坊式的封閉式生產,發展為產業化、流水線式的工業化生產。
6 0年代中後期,軟體越來越多,規模越來越大,而軟體的生產基本上是人自為戰,缺乏科學規范的系統規劃與測試、評估標准,其惡果是大批耗費巨資建立起來的軟體系統,由於含有錯誤而無法使用,甚至帶來巨大損失,軟體給人的感覺是越來越不可靠,以致幾乎沒有不出錯閥軟體。這一切,極大地震動了計算機界,史稱「軟體危機」。人們認識到:大型程序的編制不同於寫小程序,它應該是一項新的技術,應該像處理工程一樣處理軟體研製的全過程。程序的設計應易於保證正確性,也便於驗證正確性。1 9 6 9年,提出了結構化程序設計方法,1 9 7 0年,第一個結構化程序設計語言—P a s c a l語言出現,標志著結構化程序設計時期的開始。
8 0年代初開始,在軟體設計思想上,又產生了一次革命,其成果就是面向對象的程序設計。在此之前的高級語言,幾乎都是面向過程的,程序的執行是流水線似的,在一個模塊被執行完成前,人們不能幹別的事,也無法動態地改變程序的執行方向。這和人們日常處理事物的......>>
匯編語言中@是什麼意思
#表示立即數定址。採用立即定址方式的指令,在立即數前面加上立即定址符「#」。
例如指令MOV A,#30H中30H就是立即數,指令功能為將30H賦給累加器A。
@表示寄存器的間接定址。
例如指令MOV A,@R0就使用了寄存器間接定址方式,這條指令的意義為將地址指針R0指向的內部數據存儲器單元中的數據送入累加器A中。假設R0中內容為30H,則此指令的功能是以R0寄存器的內容30H為地址,把內部RAM 30H單元中的內容傳送給累加器A。
什麼是匯編語言
匯編語言它是計算機語言,計算機語言說通俗點就是人類與計算機(CPU)溝通的橋梁,計算機它不認識人類的語言,聽不懂也讀不懂,要讓計算機替我們去完成我們的工作,就需要我們將要交給計算機完成的任務翻譯為計算機語言。匯編語言是各種語言中的一種,它屬於低級的計算機語言,這是相對於面向過程的C語言,以及面向對象的C++,java而言。它是除機器語言以外最接近硬體的計算機語言,而且可以通過學習匯編語言深入的了解操作系統的底層運行機制,並以CPU的角度思考問題。這樣可以讓你在編寫高級語言的程序的時候避免很多錯誤,並且能更深入理解高級語言的執行 原理。因為匯編語言屬於低級語言,所以既然低級就肯定不容易被普通用戶認識,這需要一定的硬體基礎知識和一些計算機工作原理的知識。以前在大學階段學過匯編語言,但沒有當回事兒,連作業都是復制加粘貼完成的(像這樣的不在少數吧:))。工作以後才發現這個語言是個好東西,它其實是個非常重要的基礎課程。所以現在有時間就把書打開多看一點,學一點。匯編語言目前常見的有兩種:一個是基於8086/88架構的DOS下的16位匯編語言,還有就是基於80386架構及其以後型號的windows下32位匯編語言。我不知道linux下有沒有匯編語言。順便說一下,不管什麼匯編語言它所編出來的程序都屬於軟體,所以不管什麼軟體都需要依賴操作系統這個基礎平台,它才可以被硬體CPU所執行,因為操作系統就是提供硬體與用戶之間的介面,所有軟體都要通過它來分配到硬體資源(不知道對不對哈:)才可以被執行)。一般先學習16位的DOS匯編,然後再學32位的windows匯編。所以我們先談談16位的DOS匯編哈。要學匯編語言首先就是要了解CPU,你只有了解了CPU才能了解匯編語言的執行,因為它基本就是直接在操作CPU的各個組成單元(像寄存器)。在 *** 上找了這個圖,如下:上面這個CPU的邏輯結構圖是8088的,8088和8086大的架構差不多,所以就以這個為例介紹下各個組成部分的作用。主寄存器:AX(AH,AL)累加寄存器,一般用作暫存數據;BX(BH,BL)基址寄存器,一般用作偏移地址存放;CX(CH,CL)計數寄存器,一般用在循環控制次數;DX(DH,DL)數據寄存器,好像和AX差不多吧;SP堆棧指針寄存器,棧指針;BP基址指針寄存器,可作SP使用;SI源變址寄存器和DI目的變址寄存器,這兩個做為BX擴展用於偏移地址存放。段寄存器: CS:代碼段寄存器,任何一個程序都是從代碼段開始執行的,CS寄存器指明了代碼段的段地址。DS:數據段寄存器,存放程序中數據部分的段地址。SS:堆棧段寄存器,堆棧是內存中特殊的內存塊,堆與棧不同,目前我只知道棧是尊循「先進後出,後進先出」的原則而使用。ES:附加段寄存器,應該是作為DS數據段寄存器的擴充吧。地址加法器: 這是用在對內存定址時所使用,它通過將段寄存器中的段地址與BX、SI、DI等寄存器中的偏移地址作一定處理從而輸出物理地址,然後就可以訪問內存單元了。匯編程序中的地址只是邏輯地址,並不是真實的內存上的地址。在程序實際運行時每次訪問內存都會先將邏輯地址轉換成物理地址才可以訪問到物理內存。關於CPU定址,邏輯地址,物理地址我也會再寫篇文章來討論。邏輯運算單元和控制單元:這是CPU最核心的單元,我們暫只記住它們是負責執行與控制就好了。內部數據,地址匯流排:CPU內部各部件之間通信的通道。外部地址匯流排:用來傳輸CPU想要讀取/寫入內存單元的物理地址。它的寬度就決定了CPU能夠訪問的內存的最大容量。外部數據和控制總......>>
匯編語言里*是什麼意思
其表示去0x804a260地址處的內存內容
參考blog.csdn/...314473
匯編語言的偽指令是什麼?
簡單理解就是匯編語言中那些沒有對應機器指令的匯編指令。
在計算機中直接運行的程序所對應的叫機器(指令)語言,如果直接按二進製表示出來就是一系列 0 和 1 。當然,用機器語言編寫程序的時代一般都使用八進制或十六進制,它們和二進制是3位對1位或4位對1位的關系,從而簡化機器語言程序代碼在書面(或屏幕)上的表示。即便如此,這種程序還是太令人望而生畏了,所以才有了「匯編」語言,其含義是用人類比較容易理解的符號來替代機器指令。假定一條加法指令的邏輯序列可用二進製表示為0110……1011,用八進制可表示為 3……3,用十六進制則表示為 6……B。而匯編語言則用 ADD x,y 這種形式來表示一條機器指令,即每一條機器指令都用一個對應的「匯編指令」來替代所形成的指令系統叫「匯編語言」,而將用匯編語言編寫的程序翻譯成機器語言的過程叫「匯編」過程。為了增加匯編語言的可讀性和協助翻譯程序對匯編源程序進行翻譯而增加的匯編指令就是「偽指令」。
匯編語言有什麼特點
匯編語言的總體特點1.機器相關性
這是一種面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。因為是機器指令的符號化表示,故不同的機器就有不同的匯編語言。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
2.高速度和高效率
匯編語言保持了機器語言的優點,具有直接和簡捷的特點,可有效地訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等,且佔用內存少,執行速度快,是高效的程序設計語言。
3.編寫和調試的復雜性
由於是直接控制硬體,且簡單的任務也需要很多匯編語言語句,因此在進行程序設計時必須面面俱到,需要考慮到一切可能的問題,合理調配和使用各種軟、硬體資源。這樣,就不可避免地加重了程序員的負擔。與此相同,在程序調試時,一旦程序的運行出了問題,就很難發現。
優點
1、因為用匯編語言設計的程序最終被轉換成機器指令,故能夠保持機器語言的一致性,直接、簡捷,並能像機器指令一樣訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等。使用匯編語言,可以訪問所有能夠被訪問的軟、硬體資源。
2、目標代碼簡短,佔用內存少,執行速度快,是高效的程序設計語言,經常與高級語言配合使用,以改善程序的執行速度和效率,彌補高級語言在硬體控制方面的不足,應用十分廣泛。
缺點
1、匯編語言是面向機器的,處於整個計算機語言層次結構的底層,故被視為一種低級語言,通常是為特定的計算機或系列計算機專門設計的。不同的處理器有不同的匯編語言語法和編譯器,編譯的程序無法在不同的處理器上執行,缺乏可移植性;
2、難於從匯編語言代碼上理解程序設計意圖,可維護性差,即使是完成簡單的工作也需要大量的匯編語言代碼,很容易產生bug,難於調試;
3、使用匯編語言必須對某種處理器非常了解,而且只能針對特定的體系結構和處理器進行優化,開發效率很低,周期長且單調。
匯編語言和高級語言的區別是什麼?
匯編語言是面向機器的程序設計語言。在匯編語合中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。於是匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟體中語言處理系統軟體。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。
高級語音:
由於匯編語言依賴於硬體體系,且助記符量大難記,於是人們又發明了更加易用的所謂高級語言。在這種語言下,其語法和結構更類似普通英文,且由於遠離對硬體的直接操作,使得一般人經過學習之後都可以編程。高級語言通常按其基本類型、代系、實現方式、應用范圍等分類。
匯編語言里#是什麼意思 比如MOV A , #21H
呵呵 俺來幫你解答:
匯編語言里#是立即數的前綴
例如: MOV A ,撫#21H
#21H 表示21H是一個立即數 該指令是將立即數21H傳送給累加器A.
匯編語言GE是什麼指令
大於等於