Windows組合語言程式設計同步練習 1

2021-04-12 14:42:55 字數 863 閱讀 3316

;<.data

dtemp1      dword   91       ;臨時變數,用來存放輸入的值a。

dtemp2      dword   49       ;臨時變數,用來存放輸入的值b。

szfmt       byte    '最大公約數是:%d', 0ah, 0

.code

start: 

cmp dtemp1, 0

jle b10         ;dtemp1 <= 0

cmp dtemp2, 0              

jle b10         ;dtemp2 <= 0                      

cmp dtemp1, 0

jg  b30         ;dtemp1 > 0

jmp b60         ;結束。

b10:

mov dtemp2, 1

jmp b60           

b30:

mov eax, dtemp1

cmp eax, dtemp2

je  b60         ;dtemp1 != dtemp2

jg  b50         ;dtemp1 > dtemp2

sub dtemp2, eax ;b-=a

jmp b30

b50:

sub eax, dtemp2 ;a-=b

mov dtemp1, eax

jmp b30                       

b60:

invoke printf, offset szfmt, dtemp2

retend         start 

組合語言程式設計

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語句結尾。段中存放源程式的所有指令碼 資料 變數等則放在資料段和附加段中。程式中可以定義堆疊段,也可以直接利用系統中的堆疊段...

《組合語言程式設計》說明

組合語言程式設計說明 我只是對其中的大部分東西作簡要的摘錄。一方面害怕自己忘記而沒有書籍查證 這本書是向圖書館借的 另一方面是現在大部分組合語言是基於win32平台的,而這本書是基於linux下面的彙編,值得學習。而又不敢獨享,遂與大家分享。基於以上原因呢,就沒有表明是原創的。為什麼從第四章開始?也...