微机原理及应用习题及答案.docx

上传人:scccc 文档编号:13570652 上传时间:2022-01-16 格式:DOCX 页数:11 大小:53.38KB
返回 下载 相关 举报
微机原理及应用习题及答案.docx_第1页
第1页 / 共11页
微机原理及应用习题及答案.docx_第2页
第2页 / 共11页
微机原理及应用习题及答案.docx_第3页
第3页 / 共11页
微机原理及应用习题及答案.docx_第4页
第4页 / 共11页
微机原理及应用习题及答案.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《微机原理及应用习题及答案.docx》由会员分享,可在线阅读,更多相关《微机原理及应用习题及答案.docx(11页珍藏版)》请在三一文库上搜索。

1、CH02 8086 / 8088 指令系统习题与思考题1 假定 DS=2000H ES=2100H SS=1500H SI=00A0H, BX=0100H BP=0010H 数据变量 VAL 的偏移地址为0050H,请指出以下指令源操作数是什么寻址方式?源操作数在哪里?如在 存储器中请写出其物理地址是多少?1MOV AX,0ABH3MOVXX VAL5MOVXL, VALBX7MOWALSI,BX解答:2MOV AX, 100H4 MOVBX SI6 MOVCL,BXSI8MOV BPSI ,100(1) MOVXX, 0ABH寻址方式:立即寻址;源操作数在数据线上;物理地址:无(2) MOV

2、XX, 100H寻址方式:直接寻址;源操作数在存储器中;物理地址:DS* 16+100H =2000H*16+100H= 20210H(3) MOVXX, VAL寻址方式:直接寻址;源操作数在存储器中;物理地址:DS* 16+VAL =2000H*16+0050H= 20050H(4) MOV3X, SIDS* 16+SI =寻址方式:存放器间接寻址;源操作数在存储器中;物理地址:2000H*16+00A0H= 200A0H(5) MOVXL, VALBX寻址方式:变址寻址;源操作数在存储器中;物理地址:DS* 16+VAL+BX=2000H*16+0050H+0100=20210H(6) M

3、OVCL, BXSIDS* 16+BX+SI =寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:2000H*16+0100H+00A0H=201A0H(7) MOWALSI , BX寻址方式:存放器寻址;源操作数在存放器中;物理地址:无(8) MOVBPSI , 100寻址方式:立即寻址;源操作数在;物理地址:无2 设有关存放器及存储单元的内容如下:DS=2000H BX=0100H AX=1200H SI=0002H, 20210H=12H , 20211H=34H , 20212H=56H , 20213=78H , 21200=2AH , 21201H=4CH , 21202H=

4、0B7H , 21203H=65H.试说明以下各条指令单独执行后相关存放器或存储单元的内容.(1) MOVAX 1800H(2) MOVAX, BX(3) MOVBX 1200H(4) MOVDX 1100BX(5) MOVBXSI , AL(6) MOVAX, 1100BXSI解答:题号指令执行结果(1)MOVAX, 1800HAX= 1800Hr( 2)MOVAX, BXAX= 0100H(3)MOVBX, 1200HBX= 4C2AH(4)MOVDX, 1100BXDX= 4C2AHp 5)MOVBXSI , AL20212H = 00H(6)MOVAX, 1100BXSIAX= 65B

5、7H3. 假定BX=0E3H变量VALUE=79H确定以下指令执行后的结果 操作数均为无符号数.对3、6,写出相应标志位的状态.(1) ADDVALUE BX(2) AND BX, VALUE(3)CMPBX, VALUE(4)XOR BX,0FFH(5)DECBX(6) TESTBX, 01H解答:题号指令执行结果(1)ADDVALUE BXBX= 015CH(2)ANDBX, VALUEBX= 0061H(3)CMPBX, VALUEBX= OOE3H(CF=ZF=OF=SF=0 AF=PF=1)(4)XORBX, 0FFHBX= 001CH(5)DECBXBX= 00E2H(6)TEST

6、BX, 01HBX= OOE3H(CF=ZF=OF=SF=AF=PF=O)4. SS=OFFAOH SP=OOBOH先执行两条把 8057H和0F79H分别进栈的 PUSH指令,再执 行一条POF指令,试画出堆栈区和 SP内容变化的过程示意图.标出存储单元的地址 解答:堆栈段SS= OFFAOH堆栈段SS= 0FFA0HFFAABHFFAABHOOACHFFAACHOOACHFFAACHOOADHFFAADHOOADHFFAADHOOAEHFFAAEHOOAEH57HFFAAEHOOAFHFFAAFHOOAFH8OHFFAAFHOFFAO : OOBOHXFFABOHOFFAO : OOBOH

7、XFFABOH初始状态;SP= OOBOHPUSH AX ;(AX = 8057H) SP= OOAEH堆栈段SS= OFFAOH堆栈段SS= OFFAOHFFAABHFFAABHOOACH79HFFAACHOOACHFFAACHOOADHOFHFFAADHOOADHFFAADHOOAEH57HFFAAEHOOAEH57HFFAAEHOOAFH8OHFFAAFHOOAFH8OHFFAAFHOFFAO : OOBOHXFFABOHOFFAO : OOBOHXFFABOH PUSH BX;(BX = OF79H) SP= OOACHPOP BX; SP= OOAEH5. 程序段如下:MOV AX1

8、234HMOV CL4ROL AXCLDEC AXMOV CX4MUL CX试问:1每条指令执行后,AX存放器的内容是什么? 2每条指令执行后,CF, SF及 ZF的值分别是什么? 3程序运行结束时,AX及DX存放器的值为多少?指令执行结果AXCFSFZFMOVAX,1234HAX= 1234HXXX6写出实现以下计算的指令序列.MOVCL, 4AX= 1234HXXXROLAX, CLAX= 2341H100DECAXAX= 2340H100MOVCX, 4AX= 2340H100MULCXAX= 8D00H DX=0000H000假定X、Y、Z、W R都为字变量(1) Z=W+(Z+X)(

9、2)Z=W-(X+6)- ( R+9)(3) Z=( W*X /( R+6)( 4)Z= (W-X /5*Y)*2解答:1Z=W+ Z+X题号指令题号指令(1)Z=W+ (Z+X)(2)Z=W- (X+6) - (R+9)MOVAX, ZMOVDX, RMOVBX, XADDDX, 9MOVCX, WMOVBX, XADDBXADDBX, 6ADCCXMOVAX, WMOVZ, AXSUBAX, BXSUBAX, DXMOVZ, AX(3)Z= (W*X / (R+6)(4)Z= ( W-X /5*Y ) *2MOVDX, 0MOVAX, WMOVAX, WMOVBX, XMOVBX, XSU

10、BAX, BXMULBXMOVDX, 0PUSHAXMOVCL, 5MOVAX, RDIVCLADDAX, 6MOVBX, YMOVCX, AXMULBXPOPAXMOVCL, 2DIVCXMULCLMOVZ, AXMOVZ , AXMOVZ+1, DXMOVZ+1, DX7.假定DX=001B CL=3, CF=1,试确定以下各条指令单独执行后DX的值.(1)SHRDX1(2)SHLDL,1(3)SALDH1(4)SARDXCL(5)RORDXCL(6)ROLDL,CL(7)RCRDL,1(8)RCLDXCL题号指令执行结果( 1)SHRDX, 1DX=0110 0100 1101 1100

11、(64DCH)(2)SHLDL, 1DX=1100 1001 0111 0010(C972H)(3)SALDH 1DX=1001 0010 1011 1001(92B9H)(4)SARDX CLDX=1111 1001 0011 0111(F937H)(5)RORDX CLDX=0011 1001 0011 0111(3937H)(6)ROLDL, CLDX=1100 1001 1100 1101(C9CDH)(7)RCRDL, 1DX=1100 1001 1101 1100(C9DCH)(8)RCLDX CLDX=0100 1101 1100 1011(4DCFH)DX AX拼装成双字后,左

12、移&DX=1234H AX=5678H试分析以下程序执行后DX AX的值各是什么?该程序完成1234AX5678DX2340AX6780DX23456780DX : AXMOVCL,4SHLDX,CLMOVBL,AHSHLBL,CLSHRBL,CLORDL,BL解答:DX=2345HAX=6780H四位.了什么功能?该程序完成的功能如下图,将9. 试分析以下程序段:ADD AX BXJNCL2SUBAX, BXJNCL3JMPSHORTL5如果AX BX的内容给定如下:AXBX(1) 14C6H80DCH(2) B568H54B7H问该程序在上述情况下执行后,程序转向何处?解答:(1) AX=

13、 AX+BX= 14C6H+80DC比 95A2H; CF= 0;无进位,转移至 L2;(2) AX= AX+BX= B568H+54B7H= 0A仆H CF= 1;有进位,继续执行; AX= AX-BX= OA仆H+54B7H= B568H CF= 1;有借位,继续执行;无条件转移至SHORTL510. 编写一段程序,比拟两个 5字节的字符串 OLDS和NEWS如果OLDS字符串不同于 NEWS 字符串,那么执行NEW_LESS否那么顺序执行.解答:编程如下,说明:左测程序为常规编法,两个字符串在一个数据段中;右测的程序 要求OLDS在数据段中,NEW在附加段中,利用串操作的指令是可行的LE

14、A SI,OLDSLEA DI,NEWSMOV CX 5 ;NEXT MOV AL,SI;MOV BL, DI;CMP AL,BL;JNZ NEW_LESSINC SI ;LEA SI,OLDSLEA DI,NEWSMOV CX,5CLDREPE CMPSBJNZ NEW_LESSJMP EXITINC DI ;NEW_LESSLOOP NEXTEXITJMP EXITNEW LESSEXIT:11. 假设在数据段中从字节变量TABLE相应的单元开始存放了 015的平方值,试写出包含有XLAT指令的指令序列查找 N 015的平方.设N的值存放在CL中解答:MOV BX, OFFSET TABLE LEA BX,TABLEMOV CL,NMOV AL,CLXLAT12. 有两个双字数据串分别存放在ASC1 和人5.2中低字放低地址,求它们的差,结果放在ASC3中低字放低地址.ASC1 DW 578,400ASC2DW694,12ASC3DW?,?解答:编程如下,LEA SI,ASC1LEA DI,ASC2LEA BX,ASC3 MOV CX 2CLCNEXT MOV AX, SIMOV DX DI SBB AX,DXMOV BX,AXINC SIINC SIINC DIINC DIINC BXINC BXLOOP NEXT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1