大型機彙編益智
回答
答案是「(a)」。 乘法後寄存器0的值爲0。
當「x」和「y」是相同的寄存器時,「MR x,y」的解釋:它實際上並沒有將寄存器自身相乘(儘管您自然會認爲它是這樣),因爲第一個操作數被乘數)實際上在R 1 + 1是而第二(乘數)是在R 2:
參見Principles of Operation,7.5.52 MULTIPLY
...被乘數是從一般寄存器R 1 + 1中取出。
因此,當MR爲兩個操作數指定相同的寄存器時,被乘數和乘數的值實際上可能完全不同!
在IBM的「操作原理」手冊中,寄存器命名約定使用等於指令中寄存器位置的下標。所以,「MR R 1,R 2」(sub1,sub2)只是表示該指令指定了兩個寄存器,其中「R 1」是第一個,「R 2」是第二個。一些指令,如BXH和BXLE,甚至指定了三個寄存器,在這種情況下,第三個指定爲R 3。
但「R 1」不一定是「寄存器1」。實際上,對於MR,其一定不是是,因爲第一個操作數指定「偶偶對的偶數寄存器」,「奇數」部分爲「R 1 + 1」。而且令人驚訝的是,「R 1」中的值本身並不參與計算!它僅用於指定將64位結果放入其中的64位寄存器對。無論它是否包含零值,非零值或甚至負值,都不會改變指令的結果!因此,儘管「MR 0,0」似乎用於計算一個身份的平方,但它實際上是計算兩個單獨值的乘積:一個在R 1 + 1中,另一個在R 2中,這可能完全不同!這是ESA/390操作原理中MR指令規範的直接鏈接。 ESA/390是一個32位體系結構,與z/OS(64位)手冊相比,其描述更容易理解:[PoP]http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DZ9AR001/7.5.52
由於IBM堅持向上兼容,此處定義的機器指令今天與當時完全相同,實際上對於System/360(1964)以來的所有機器指令都是如此。
你的代表因爲某人低估了你的答案而失敗了。 –
- 1. MySQL的彙總益智
- 2. 組測序類型益智
- 3. 泛型益智遊戲
- 4. 泛型類型轉換益智
- 5. MonoTouch AVFoundation益智
- 6. 遞歸益智
- 7. javascript ken ken益智發電機
- 8. 抽象類型的益智遊戲
- 9. CreateJS - 益智遊戲
- 10. 益智與PictureBoxes bug
- 11. 短節目益智
- 12. 有趣的益智
- 13. WPF控制益智
- 14. SWI-Prolog的益智
- 15. SQL Server CTE益智
- 16. 序言Cryptarithmetic益智
- 17. J2ME益智遊戲
- 18. 聯機彙編
- 19. IBM大型機彙編 - 使用MVC與寄存器位移
- 20. 益智遊戲與圖像像15-益智(十五的遊戲)
- 21. 十五個益智遊戲
- 22. A *和N - 益智優化
- 23. 網格算法的益智
- 24. VS c#益智遊戲
- 25. SQL連接益智遊戲
- 26. 組合益智遊戲
- 27. Circle Summation(30分)InterviewStree益智
- 28. 一個Python益智遊戲
- 29. 益智遊戲算法
- 30. 字搜索益智遊戲
這不是一個難題。這是一個簡單的裝配作業。什麼似乎是問題?你有多遠?你卡在哪裏?請告訴我們你到目前爲止做了什麼。 –
這個迷你的參考文獻是否與您的知識相關? http://geraldine.fjfi.cvut.cz/~oberhuber/data/mainframe/prezentace/pmf/hlasmref.pdf我沒有看到像「LA 0,1」這樣的東西。第一個論據應該是一個註冊。 – akg
akg:尼斯鏈接! 是的,兩個參數都是寄存器。 「0」是寄存器0,「1」是寄存器1. – dstaudacher