微机原理练习题_2.docx

上传人:安*** 文档编号:18975764 上传时间:2022-06-03 格式:DOCX 页数:13 大小:20.06KB
返回 下载 相关 举报
微机原理练习题_2.docx_第1页
第1页 / 共13页
微机原理练习题_2.docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《微机原理练习题_2.docx》由会员分享,可在线阅读,更多相关《微机原理练习题_2.docx(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、微机原理练习题1、比拟下列两条指令,指出他们的区别。解:moveax,si;从内存读数据送eaxmovsi,eax;把eax的值写入到内存2、假设(EAX)=12345678H,写出下面每条指令单独执行后,(EAX)=?32位解:(1)andeax,0000ffffh;(eax)=00005678h(2)testeax,1;(eax)=12345678h(3)xoreax,eax;(eax)=0(4)subeax,eax;(eax)=0(5)addeax,1;(eax)=12345679h(6)oreax,1;(eax)=12345679h(7)cmpeax,0000ffffh;(eax)=1

2、2345678h(8)inceax;(eax)=12345679h(9)deceax;(eax)=12345677h(10)subeax,8;(eax)=12345670h3、假定(AX)=1234H,(BX)=00FFH,回答每条指令单独执行后,(AX)=?(BX)=?解:(1)andax,bx;(ax)=0034h(bx)=00ffh(2)testax,bx;(ax)=1234h(bx)=00ffh(3)xorax,bx;(ax)=12cbh(bx)=00ffh(4)xchgax,bx;(ax)=00ffh(bx)=1234h(5)addax,bx;(ax)=1333h(bx)=00ffh

3、(6)subbx,ax;(ax)=1234h(bx)=0eecbh(7)orbx,ax;(ax)=1234h(bx)=12ffh(8)cmpax,bx;(ax)=1234h(bx)=00ffh4、假设(EAX)=11223344H,(EBX)=11225566H,写出下面程序段每条指令执行后(EAX)=?(EBX)=?解:addeax,ebx;(eax)=224488aaH,(ebx)=11225566Haddeax,00000088h;(eax)=22448932H,(ebx)=11225566Hsubeax,ebx;(eax)=112233ccH,(ebx)=11225566Hincebx

4、;(eax)=112233ccH,(ebx)=11225567Handebx,0000ffffh;(eax)=112233ccH,(ebx)=00005567H5、对于立即寻址的指令,有8位、16位及32位的立即寻址的指令,各列举2条指令一条是传送指令,另一条是加法指令。解:8位立即寻址指令(1)MOVAH,2(2)ADDAL,316位立即寻址指令(1)MOVAX,1234H(2)ADDDX,3456H32位立即寻址指令(1)MOVEAX,12345678H(2)ADDEDX,12345678H6、将EBX中存放的值清零,实现的方法有哪一些?解:(1)SUBEBX,EBX(2)ANDEBX,0

5、(3)XOREBX,EBX7、设SS=1000H,SP=0100H,指出下列每条指令执行后,AX=?BX=?(SP)=?并且回答堆栈中的内容怎样?解:MOVAX,2233H;AX=2233H,BX不确定,(SP)=0100HPUSHAX;AX=2233H,BX不确定,(SP)=00FEHMOVBX,4455H;AX=2233H,BX=4455H,(SP)=00FEHPUSHBX;AX=2233H,BX=4455H,(SP)=00FCHPOPAX;AX=4455H,BX=4455H,(SP)=00FEHPOPBX;AX=4455H,BX=2233H,(SP)=0100H这段指令执行后将AX和BX

6、的值互换。3.4试讲明指令MOVBX,5BX与指令LEABX,5BX的区别。解:前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.后者是取偏移地址指令,执行的结果是(BX=(BX)5,即操作数的偏移地址为(BX)+5。3.5设堆栈指针SP的初值为2300H,(AX)50ABH,(BX)=1234H。执行指令PUSHAX后,(SP)?,再执行指令PUSHBX及POPAX之后,(SP)=?(AX=?(BX)?解:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSHAX指令后,(SP)=22FEH;再执行PUSH

7、BX及POPAX后,(SP)=22FEH,(AX)=(BX)=1234H3.6指出下列指令的错误:(1)MOVAH,CX(2)MOV33H,AL(3)MOVAX,SIDI(4)MOVBX,SI(5)ADDBYTEPTRBP,256(6)MOVDATASI,ES:AX(7)JMPBYTEPTRBX(8)OUT230H,AX(9)MOVDS,BP(10)MUL39H解:(1)指令错。两操作数字长不相等(2)指令错。MOV指令不允许目的操作数为立即数(3)指令错。在间接寻址中不允许两个间址寄存器同时为变址寄存器。(4)指令错。MUV指令不允许两个操作数同时为存储器操作数。(5)指令错。ADD指令要求

8、两操作数等字长。(6)指令错。源操作数形式错,寄存器操作数不加段重设符。(7)指令错。转移地址的字长至少应是16位的。(8)指令错。对输人输出指令,当端口地址超出8位二进制数的表达范围即寻址的端口超出256个时,必须采用间接寻址。(9)指令正确。(10)指令错。MUL指令不允许操作数为立即数。3.7已知(AL)=7BH,(BL)=38H,试问执行指令ADDAL,BL后,AF、CF、OF、PF、SF和ZF的值各为多少?解:AF=1,CF=0,OF=1,PF=0,SF=l,ZF=03.9试判定下列程序执行后,BX中的内容MOVCL,3MOVBX,0B7HROLBX,1RORBX,CL解:该程序段是

9、首先将BX内容不带进位循环左移1位,再循环右移3位。即相当于将原BX内容不带进位循环右移2位,故结果为:(BX)=0C02DH3.10按下列要求写出相应的指令或程序段。(1)写出两条使AX内容为0的指令。(2)使BL寄存器中的高4位和低4位互换。(3)屏蔽CX寄存器的bll,b7和b3位。(4)测试DX中的b0和b8位能否为1。解:(1)MOVAX,0XORAX,AX;AX寄存器本身相异或,可使其内容清0(2)MOVCL,4ROLBL,CL;将BL内容循环左移4位,可实现其高4位和低4位的互换(3)ANDCX,0F777H;将CX寄存器中需屏蔽的位“与0。可以用“或指令实现(4)ANDDX,0

10、101H;将需侧试的位“与1,其余“与0屏蔽掉CMPDX,0101H;与0101H比拟JZONE;若相等则表示b0和b8位同时为1.3.3假设(DS)=212AH,(CS)=0200H,(IP)=1200H,(BX)=0500H,位移量DATA=40H,(217A0H)=2300H,(217E0H)=0400H,(217E2H)=9000H试确定下列转移指令的转移地址.(1)JMP2300H(2)JMPWORDPTRBX(3)JMPDWORDPTRBX+DATA解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,以及段间的直接转移和间接转移地址。对直接转移,

11、其转移地址为当前指令的偏移地址即IP的内容加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。(1)段内直接转移。转移的物理地址=(CS)l6+2300H=02000H+2300H=04300H(2)段内间接转移。转移的物理地址=(CS)16+BX=(CS)l6+(217A0H)=02000H+2300H=04300H(3)段间间接转移。转移的物理地址=BX+DATA=(217E2H)l6+(217E0H)=90000H+0400H=90400H3.8试比拟无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?解:无条件转移指令的

12、操作是无条件地使程序转移到指定的目的地址,并从该地址开场执行新的程序段,其转移的目的地址既能够是在当前逻辑段,可以以是在不同的逻辑段;条件转移指令是在知足一定条件下使程序转移到指定的目的地址,其转移范围很小,在当前逻辑段的-128+127地址范围内。调用指令是用于调用程序中常用到的功能子程序,是在程序设计中就设计好的。根据所调用经过人口地址的位置可将调用指令分为段内调用入口地址在当前逻辑段内和段间调用。在执行调用指令后,CPU要保护断点。对段内调用是将其下一条指令的偏移地址压人堆栈,对段间调用则要保护其下一条指令的偏移地址和段基地址,然后将子程序人口地址赋给IP或CS和IP中断指令是因一些突发

13、事件而使CPU暂时中止它正在运行的程序,转去执行一组专门的中断服务程序,并在执行完后返回原被中止处继续执行原程序。它是随机的。在响应中断后CPU不仅要保护断点即INT指令下一条指令的段地址和偏移地址,还要将标志寄存器FLAGS压入堆栈保存。3.12执行下面两条指令后,标志寄存器FLAGS的六个状态位各为什么状态?MOVAX,84A0HADDAX,9460H解:执行ADD指令后,6个状态标志位的状态分别为:在两个16位数进行加法运算时,对CF、ZF、SF和OF会产生影响,但对PF和AF标志位,只要其低8位的运算影响它们的状态。各标志位的状态分别为:AF=0,PF=1,CF=1,ZF=0,SF=0

14、,OF=1。3.13将+46和-38分别乘以2,可应用什么指令来完成?假如除以2呢?解:由于对二进制数,每左移一位相当于乘以2,右移一位相当于除以2。所以,将+46和-38分别乘以2,可分别用逻辑左移指令(SHL)和算术左移指令(SAL)完成。SHL指令针对无符号数,SAL指令针对有符号数。当然,可以以分别用无符号数乘法指令MUL和有符号数乘法指令IMUL完成。假如是除以2,则进行相反操作,即用逻辑右移指令SHR或无符号数除法指令DIV实现+46除以2的运算,用算术右移指令SAR或有符号数除法指令IDIV实现-38除以2的运算。3.14已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为40H;PORT2的地址是84H,内容为85H。请指出下列指令执行后的结果。(1)OUTDX,AL(2)INAL,PORT1(3)OUTDX,AX(4)INAX,48H(5)OUTPORT2,AX解:(1)将60H输出到地址为03F8H的端口中。(2)从PORT1读入一个字节数据,执行结果:(AL)=40H。(3)将AX=8060H输出到地址为03F8H的端口中。(4)由48H端口读人16位二进制数。(5)将8060H输出到地址为84H的端口中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com