表達式:z = a + b * b-(36 /(b * b)/(1+(25 /(b * b))) 我不知道是什麼數據指示我應該爲Z80 CPU使用和以什麼順序我應該寫的代碼代碼來計算assemby中的某個算術表達式
-4
A
回答
2
C = A + B:
ld a,A
ld b,B
add a,b ; a = C
C = A * B爲68000 CPU:
MOVE.W D0,A
MOVE.W D1,B
MULS.W D1,D0 ; D0 = C
等...檢查您的目標CPU指令指南,看看什麼樣的算術運算它直接實現,什麼樣的操作數可以用於他們,你有哪些可用的寄存器,以及它們的數據類型...
看起來像你不必寫通用數學表達式解析器(這會變得棘手很快,一旦在高中時我們在編程競賽中就完成了這個任務,起初我們就像是「什麼,5小時的單一任務,我將在30分鐘內完成」......然後在5小時後,沒有人代碼通過了完整的測試套件,最好是大約80%正確)。
所以,如果只計算這個特定的表達式,你可以手工「解析」它,將其簡化爲僅涉及單個操作和中間子結果之一的特定步驟。然後用你的指令一步一步地寫出來,就像你手動計算(也要確保你符合數學表達式計算規則,你知道哪些操作比其他操作有優先權嗎?括號會覆蓋任何內容,然後多個/ ,稍後添加/分,從左到右,但這是基礎學校數學的東西,所以除非你是10y.o.,否則你不應該問這個)。
如果您的CPU沒有除法或乘法指令,只需在循環中通過減法/加法來實現。這是非常蹩腳的表現,但如果你不得不問這個問題,那麼你不能指望你甚至會理解這些更高級的算法。
+0
吼,獅子! :) – Tommylee2k
相關問題
- 1. 如何計算算術表達式
- 2. 算術表達式
- 3. 舍入算術表達式
- 4. BASH算術表達式
- 5. 解析算術表達式
- 6. 算術表達式語法
- 7. 算術表達式解析
- 8. 計算組件86的算術表達式
- 9. 如何計算下列表達式中的算術運算次數?
- 10. Prolog中的算術表達式
- 11. Tcl,Perl中的算術表達式
- 12. Javascript中的算術表達式
- 13. 派生一個算術表達式?
- 14. 如何計算算術表達式(String)並返回答案?
- 15. 將簡單計算器更改爲算術表達式
- 16. 算法來計算圖像的代碼
- 17. 用樹表示的算術表達式
- 18. 算術計算
- 19. 算術正則表達式中
- 20. 用C#計算代數表達式
- 21. 將算術表達式表示爲樹
- 22. phpMYADMIN代碼來計算行
- 23. 從值表中計算算術回報
- 24. 指針算術 - 相同的表達式?
- 25. 藥劑:(ArithmeticError)的算術表達式
- 26. 算術表達式的Bash腳本
- 27. 正則表達式中的算術運算
- 28. XPath表達式來計算獨特的後代元素
- 29. 正則表達式計算
- 30. 如何計算表達式
這是羅馬尼亞語課程嗎? –
http://digital.ubm.ro/?download=2016aclab2.pdf –