;<.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下面的彙編,值得學習。而又不敢獨享,遂與大家分享。基於以上原因呢,就沒有表明是原創的。為什麼從第四章開始?也...