计算机系统基础期中考试,计算机系统基础第二次作业.docx
文檔介紹:
計算機系統基礎第二次作業3、對于以下AT&T格式匯編指令,根據操作數的長度確定對應指令助記符中的長度后綴,并說明每個操作數的尋址方式。(1)mov8(%ebp,%ebx,4),%ax(2)mov%al,12(%ebp)(3)add(,%ebx,4),%ebx(4)or(%ebx),%dh(5)push$0xF8(6)mov$0xFFF0,%eax(7)test%cx,%cx(8)lea8(%ebx,%esi),%eax答:如下表所示:題目編號長度后綴源操作數目的操作數(1)w基址+比例變址+位移寄存器(2)b寄存器基址+位移(3)l比例變址寄存器(4)b基址寄存器(5)l立即數棧(6)l立即數寄存器(7)w寄存器寄存器(8)l基址+變址+位移寄存器4.使用匯編器處理以下各行AT&T格式代碼時都會產生錯誤,請說明每一行存在什么錯誤。(1)movl0xFF,(%eax)(2)movb%ax,12(%ebp)(3)addl%ecx,$0xF0(4)orw$0xFFFF0,(%ebx)(5)addb$0xF8,(%dl)(6)movl%bx,%eax(7)andl%esi,%esx(8)movw8(%ebp,,4),%ax答:(1)書寫錯誤。因為源操作數是立即數0xFF,所以需要在前面加上‘$’(2)由于源操作數(%ax)是16位,而長度后綴是字節‘b’,所以不一致,應改為‘movw’(3)目的操作數不能是立即數尋址(4)操作數位數超過16位,而長度后綴為16位的‘w’,應改為‘orl’(5)不能用8位寄存器作為目的操作數地址所在寄存器(6)源操作數寄存器與目的操作數寄存器長度不一致(7)不存在ESX寄存器(8)源操作數地址中缺少變址寄存器7.假設變量x和y分別存放在寄存器EAX和ECX中,請給出以下每條指令執行后寄存器EDX中的結果。(1)leal(%eax),%edx(2)leal4(%eax,%ecx),%edx(3)leal(%eax,%ecx,8),%edx(4)leal0xC(%ecx,%eax,2),%edx(5)leal(,%eax,4),%edx(6)leal(%eax,%ecx),%edx答:(1)R[edx]=x//把eax的值放到edx中去(2)R[edx]=x+y+4//把eax+ecx+4的值放到edx中去(3)R[edx]=x+8*y//把eax+8*ecx的值放到edx中去(4)R[edx]=y+2*x+12//把ecx+2*eax+12的值放到edx中去(5)R[edx]=4*x//把4*eax的值放到edx中去(6)R[edx]=x+y//把eax+ecx的值放到edx中去8.假設以下地址以及寄存器中存放的機器數如下表所示地址機器數寄存器機器數0x80493000xfffffff0EAX0x80493000x80494000x80000008EBX0x1000x80493840x80f7ff00ECX0x100x80493800x908f12a8EDX0x80分別說明執行以下指令或寄存中的內容交發生改變?改變后的內容是什么條件標志OF、SF、ZF和CF會發生什么改變。(1)指令功能為:R[edx]←R[edx]+M[R[eax]]=0x00000080+M[0x8049300],寄存器EDX中內容改變。改變后的內容為以下運
內容來自淘豆網www.taodocs.com轉載請標明出處.
總結
以上是生活随笔為你收集整理的计算机系统基础期中考试,计算机系统基础第二次作业.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中南继续教育学院计算机绘图,求答案~~机
- 下一篇: 计算机基础算术加法,2011年自考计算机