2011-11-25 85 views
1

我在彙編程序中是假的。 我需要解決下一個函數y = x^2(a + b + c); a,b,c - 從控制檯輸入 結果x必須在文件中寫入。 我不要求解決這個問題,但也許有人與我分享有用的鏈接?在彙編程序上解決函數

回答

3

嘗試編碼的東西。你甚至可以用C編寫一個函數並查看生成的彙編代碼(例如,如果在Linux上使用GCC,則使用gcc -S -fverbose-asm)。

+0

有沒有一種工具可以從Windows上的其他頂級語言生成彙編代碼? 在此先感謝。 – ASD

+0

可能是的。至少GCC通過mingw&cygwin可用,並生成彙編。並且您的編譯器上可能還有一些開關也顯示彙編代碼... –

+0

Free Pascal從Pascal/delphi生成彙編器 –

0

裝配的問題是沒有真正的輸入和輸出功能。在標準編程語言中,您可以定義要在屏幕上顯示的內容。在你的案例X中,你定義了你想要用戶輸入的內容,在你的情況下,a,b,c。然後你做一些處理並將結果賦給要輸出的值x。

標準編程語言中的所有這些步驟,在這種特定情況下,都清楚地映射到一些函數。

輸出是用Print,puts,printf或writeline等完成的。這些是輸出功能。 輸入通過輸入,獲取或readline等完成。這些是輸入功能。 處理是通過各種分配和決定完成的。在你的情況Y(=)X(^)2(*)(a(+)B(+)C)

所有簡單的高級語言。以此爲例。在裝配中,至少有三種方法可以做幾乎所有的事情。它們都不容易。使用DOS中斷,使用BIOS中斷和使用直接硬件中斷。所以至少有3種方法可以完成輸出,另外還有3種方法可以完成輸入,然後用內存去混淆計算。

不要誤解,這是非常值得的冒險,學習如何做到這一點。我讓它聽起來比實際情況困難得多。您仍然在爲您的程序的每個部分討論至少4到5行代碼。但是,一旦完成,就可以重用它們來輸出和輸入任何數量的東西,就像標準的編程語言一樣。只需一次執行,就可以完全控制整個過程。

不幸的是,沒有簡單的方法來學習組裝。但是你正在問正確的問題。

  1. 我如何得到屏幕
  2. 輸出部分的我如何從鍵盤的一些輸入
  3. 我如何做一些處理,比如x + YZ

我知道這樣做不回答你的問題如何做到這一點。但是,如果您在不發佈您首先嚐試寫入的某些彙編代碼的情況下獲得您在此尋找的答案,我會感到驚訝。