计算机系统基础期中考试,计算机系统基础第二次作业.docx
文檔介紹:
計算機系統(tǒng)基礎第二次作業(yè)3、對于以下AT&T格式匯編指令,根據(jù)操作數(shù)的長度確定對應指令助記符中的長度后綴,并說明每個操作數(shù)的尋址方式。(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答:如下表所示:題目編號長度后綴源操作數(shù)目的操作數(shù)(1)w基址+比例變址+位移寄存器(2)b寄存器基址+位移(3)l比例變址寄存器(4)b基址寄存器(5)l立即數(shù)棧(6)l立即數(shù)寄存器(7)w寄存器寄存器(8)l基址+變址+位移寄存器4.使用匯編器處理以下各行AT&T格式代碼時都會產(chǎn)生錯誤,請說明每一行存在什么錯誤。(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)書寫錯誤。因為源操作數(shù)是立即數(shù)0xFF,所以需要在前面加上‘$’(2)由于源操作數(shù)(%ax)是16位,而長度后綴是字節(jié)‘b’,所以不一致,應改為‘movw’(3)目的操作數(shù)不能是立即數(shù)尋址(4)操作數(shù)位數(shù)超過16位,而長度后綴為16位的‘w’,應改為‘orl’(5)不能用8位寄存器作為目的操作數(shù)地址所在寄存器(6)源操作數(shù)寄存器與目的操作數(shù)寄存器長度不一致(7)不存在ESX寄存器(8)源操作數(shù)地址中缺少變址寄存器7.假設變量x和y分別存放在寄存器EAX和ECX中,請給出以下每條指令執(zhí)行后寄存器EDX中的結(jié)果。(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.假設以下地址以及寄存器中存放的機器數(shù)如下表所示地址機器數(shù)寄存器機器數(shù)0x80493000xfffffff0EAX0x80493000x80494000x80000008EBX0x1000x80493840x80f7ff00ECX0x100x80493800x908f12a8EDX0x80分別說明執(zhí)行以下指令或寄存中的內(nèi)容交發(fā)生改變?改變后的內(nèi)容是什么條件標志OF、SF、ZF和CF會發(fā)生什么改變。(1)指令功能為:R[edx]←R[edx]+M[R[eax]]=0x00000080+M[0x8049300],寄存器EDX中內(nèi)容改變。改變后的內(nèi)容為以下運
內(nèi)容來自淘豆網(wǎng)www.taodocs.com轉(zhuǎn)載請標明出處.
總結(jié)
以上是生活随笔為你收集整理的计算机系统基础期中考试,计算机系统基础第二次作业.docx的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中南继续教育学院计算机绘图,求答案~~机
- 下一篇: xp本地计算机策略被更改,组策略的使用方