當前位置:編程學習大全網 - 編程軟體 - 機器語言與匯編語言

機器語言與匯編語言

我自己的看法,希望閱讀完。

機器語言是硬件工作的物理語言,只有0和1,不是給人看的,比如cpu的內部工作指令。

匯編語言是給開發人員看的,但不同與其他高級語言(c,basic,c++)

匯編語言不像高級語言有跨平臺性,首先,CPU的的工作是靠機器語言的(就是指令集,ISA),而這些指令有些是cpu獨占的,而有些是必須要被外界訪問的,比如讓cpu做加法運算,誰加誰是cpu無法決定的,就必須通過外界指定才可以運算。於是問題出現了,用機器碼控制cpu太難了,只有0和1,編程人員要費很大勁!於是匯編語言應邀而生。它是文字形式的,程序員寫完程序後通過匯編器(類似於高級語言的編譯器)將文字轉化為機器碼,於是程序就可以控制cpu了,因此匯編語言很依賴cpu,i386的匯編程序只能運行在支持i386體系的cpu上,蘋果PowerPC匯編程序只能運行在蘋果機上。這也就是為什麽Windows程序不能運行在蘋果機上,就是壹位互相的匯編指令集不同,從而機器碼不同。

當然計算機程序的運行最終還是以機器碼運行的,但編程語言是無比重要的,比如用c語言寫壹個最簡單的程序,首先c語言編譯器(compiler)將程序轉化為對應的匯編,匯編器(assembler)將匯編代碼轉換為機器碼才可運行。

之所以高級語言可以跨平臺,就是因為同壹種高級語言在不同平臺的不同編譯器,可以調用相對平臺的匯編器來在對應平臺運行。因此,有人把高級語言和匯編語言分為壹類,是不對的。。。。。。

還想說很多,畢竟剛學了,也順便復習壹下,還是到此為止吧。

  • 上一篇:少兒編程是幹嘛的
  • 下一篇:天津福旺花園小區周邊配套怎麽樣?
  • copyright 2024編程學習大全網