組合語言程式設計的一般概念

2021-08-31 17:22:24 字數 1089 閱讀 5227

馮、諾依曼體系的計算機:採用二進位制**表示資料和指令,採用儲存程式工作方式。

計算機最終執行的程式:包含指令序列和資料。

指令:指示計算機完成某種基本操作的命令。

機器語言:計算機硬體能夠直接識別的語言,使用二進位制**表示。

組合語言:是一種符號語言,與機器語言一一對應,使用助記符表示相應的操作。

各進製數之間的轉換:

1.非十進位制數轉換為十進位制數:

按權相加法:先將各個數碼與權值相乘,在將各位的乘積相加。

例如:100011.1 = 1*(2的5次方)+1*2+1*1+1*(2的-1次方)

2.十進位制數轉換為任意進製數:

整數小數分別轉換。整數部分除基取餘法,小數部分乘基取整法

3.二進位制數與十六進製制數之間的轉換:

用四位二進位制數表示一位十六進製制數。

4.二進位制數與八進位制數之間的轉換:

用三位二進位制數表示一位八進位制數。

計算機中數值資料分為無符號數和有符號數兩種:

無符號數不討論。

有符號數有原碼,補碼,反碼三種表示形式:

正數的符號位用0表示,負數用1.

對於整數,三種表示形式一樣,區別在於負數。

原碼表示法:

數值位:真值的絕對值加上符號位。

補碼表示法:

帶符號數x的的補碼表示形式為:m+x(mod m)

模數m又機器的位數n確定,如n=8,m=2的8次方。

例子:八位二進位制表示。

+59的補碼表示形式:2的8次方+00111011(真值),

正數的補碼與他的原碼是一樣的。

負數的補碼為2的n次方-|x|

原碼變補碼:正數的原碼和補碼形式相同。負數符號位不變,有效值按位取反,最低位加1.

非數值資料的表示形式:在計算機中必須以二進位制的形式儲存。

ascii(美國標準資訊交換碼):採用7位二進位制**對字元進行編碼。最高位作奇偶校驗位或設為0,a-z及0-9的編碼按順序遞增,有利於檢索。

基本邏輯運算:

邏輯變數:具有真與假邏輯含義的變數叫邏輯變數。其值只有0和1兩種。

計算機中設有邏輯運算指令,對邏輯變數進行運算和操作,基本邏輯運算有:與、或、非、異或。

組合語言程式設計

1.彙編語句的三種基本型別 2.標號相關 3.變數相關 4.運算元定址方式 buffer dw 500 x 17 rept 500 這是乙個重複巨集,以下重複彙編500遍 x x 979 mod 65535 這句話我也不懂 dw x endm 巨集在這裡結束transto10 proc near 函...

組合語言程式設計

乙個完整的源程式通常由若干邏輯段組成,包括資料段 附加段 堆疊段和 段。它們分別對映到儲存器中的物理段上。每個邏輯段以segment語句開始,以ends結束,整個源程式用end語句結尾。段中存放源程式的所有指令碼 資料 變數等則放在資料段和附加段中。程式中可以定義堆疊段,也可以直接利用系統中的堆疊段...

組合語言程式設計實驗一

經過過去的五周的組合語言的學習,現在對intel 80x86的基本指令已經了解得差不多了。對組合語言的指令的學習,相當於對c 中的cout 邏輯運算子 關鍵字和算術運算子等的學習。同時還學習了組合語言編寫程式的基本框架,就如同對c 中的main函式 子函式等的學習,這個學習過程主要了解用組合語言編寫...