我知道有兩種不同的方法可以找到兩個數字的gcd,但是我想知道哪個是最好給出程序集的命令,以及如何將該方法實現到程序中?如何編寫最大公約數程序是80x86程序集?
這是我到目前爲止有:
.586
.MODEL FLAT
INCLUDE io.h ; header file for input/output
.STACK 4096
.DATA
number1 DWORD ?
number2 DWORD ?
prompt1 BYTE "Please enter an integer for X", 0
prompt2 BYTE "Please enter an integer for Y", 0
string BYTE 40 DUP (?)
resultLbl BYTE "The greatest common divisor of X and Y is", 0
gcd BYTE 11 DUP (?), 0
.CODE
_MainProc PROC
input prompt1, string, 40
atod string
mov number1, eax
input prompt2, string, 40
atod string
mov number2, edx
mov eax, number1
mov edx, number2
Get_GCD:
xchg eax,edx
cmp eax,edx
jb Get_GCD
sub eax,edx
test edx,edx
jnz Get_GCD
ret
dtoa gcd, edx
output resultLbl, gcd
mov eax, 0
mov edx, 0
ret
_MainProc ENDP
END ; end of source code
我運行它,並沒有任何反應。
你能否詳細說明如何一點是應該解決您在張貼問題的代碼中發現任何問題(S)?代碼轉儲不能提供特別好的答案。 – Michael
我與邁克爾在這。將答案(僅用於代碼)轉儲到您的家庭作業中並沒有幫助(您的答案最初甚至不可讀),並使用原始問題未使用的庫。我已經投下了這個答案。 –