微机课后答案整理_第1页
微机课后答案整理_第2页
微机课后答案整理_第3页
微机课后答案整理_第4页
微机课后答案整理_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章1.2把下列十进制数转换成二进制、八进制、十六进制数。6.25D=110.01B=6.2Q=6.4H1.3把下列二进制数转换成十进制数。1101.01B=13.251.4把下列八进制数转换成十进制数。776.07Q=7*8*8+7*8+6+7/64=510.1093751.5把下列十六进制数转换成十进制数。A6.DCH=166+13/16+12/256=166.8593751.8求下列带符号十进制数的8位二进制补码。127补码:07FH-1补码:0FFH 1.9求下列带符号十进制数的16位二进制补码。655补码:028FH-1补码:0FFFFH第二章2.3简述8086CPU的寄存器组织。AX累加器BX基址寄存器CX计数器DX数据寄存器SI源变址寄存器DI目的变址寄存器SP堆栈指针寄存器BP基址指针寄存器DS数据段寄存器SS堆栈段寄存器CS代码段寄存器ES附加段寄存器IP指令指针寄存器FLAGS标志寄存器2.4试述8086CPU标志寄存器各位的含义与作用。CF进位位AF辅助进位位OF溢出SF符号位PF奇偶位ZF零标志位IF中断允许TF单步DF方向2.7在8086中,CPU实际利用哪几条地址线来访问I/O端口?最多能访问多少个端口?利用最低16根地址线。最多访问65536个端口。第三章3.1机器指令分为哪几部分?每部分的作用是什么?操作码和操作数。操作码:用来说明该指令所要完成的操作。操作数:用来描述该指令的操作对象。3.2指出下列MOV指令的源操作数的寻址方式:MOV AX,1234HMOV AX,BXMOV AX,[BX]MOV AX,TABLE;TABLE;TABLE是一个变量名MOV AX,[1234H]MOV AX,[BX+1234H]MOV AX,[BP][SI]MOV AX,[BX+SI-1234H]【解】:MOV AX,1234H立即寻址MOV AX,BX寄存器寻址MOV AX,[BX]寄存器间接寻址MOV AX,TABLE;TABLE是一个变量名直接寻址方式MOV AX,[1234H]直接寻址方式MOV AX,[BX+1234H]寄存器相对寻址MOV AX,[BP][SI]基址变址寻址MOV AX,[BX+SI-1234H]相对地址变址寻址3.3设:(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址为2000AH,(SI)=0002H。求下列每条指令源操作数的存储单元地址:MOV AX,[1234H]MOV AX,[BX]MOV AX,TABLE[BX]MOV AX,[BP]MOV AX,[BP][SI]【解】:存储单元地址:(DS)×10H+EA=2000H×10H+1234H=21234H存储单元地址:(DS)×10H+(BX)=2000H×10H+0100H=20100H存储单元地址:(DS)×10H+EA=2000H×10H+0100H+000AH=2010AH存储单元地址:(SS)×10H+EA=1000H×10H+0010H=10010H储单元地址:(SS)×10H+EA=1000H×10H+0010H+0002H=10012H3.4设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式:⑴直接寻址⑵寄存器间接寻址⑶寄存器相对寻址⑷基址变址寻址【解】:(1)直接寻址(2)寄存器间接寻址(3)寄存器相对寻址(4)基址变址寻址MOVAX,ARRAY+8MOVBX,ARRAY+8MOVBX,8LEABX,ARRAYMOVAX,[BX]MOVAX,ARRAY[BX]MOVSI,8MOVAX,[BX+SI]3.7下列每组指令有何区别?MOVAX,1234H立即寻址MOVAX,[1234H] 直接寻址 (2)MOVAX,TABLE直接寻址MOVAX,[TABLE]直接寻址(3)MOVAX,TABLE将TABLE的内容送AXLEAAX,TALBE 将TABLE的偏移量送AX (4)MOVAX,BX寄存器寻址MOVAX,[BX]寄存器间接寻址3.8MOVCS,AX指令正确吗?错误。不能用CS作目的操作数。3.9写一指令序列将3456H装入DS寄存器。MOVAX,3456HMOVDS,AX不能将立即数直接送段寄存器,所以得间接。3.10若正在访问堆栈的03600H单元,则SS和SP的值各是多少?03600H=SS*10H+SP所以有多个答案。例如:SS=350HSP=0HSS=300HSP=600H3.11若(SS)=2000H,(SP)=000AH,先执行将字数据1234H和5678H压入堆栈的操作,再执行弹出一个字数据的操作,试画出堆栈区及SP的内容变化过程示意图(标出存储单元物理地址)

SS:2000HSP:0006H20006H78H

20006H78H

20007H56H20007H56H

20008H34HSS:2000HSP:0008H20008H34H

20009H12H

20009H12HSS:2000HSP:000AH2000AH栈顶

2000AH栈顶

2000AH栈顶

2FFFFH栈底

2FFFFH栈底

2FFFFH栈底3.13能用ADD指令将BX内容加到ES中去吗?不能。算术运算中段寄存器不得作为目的操作数。3.14INC[BX]指令正确吗?错误。需指明存储器操作数的类型是字节还是字。3.15若(AX)=0001H,(BX)=0FFFFH,执行ADDAX,BX之后,标志位ZF、SF、CF、OF各是什么? ZF=1SF=0CF=1OF=03.16写一指令序列完成将BL中的数据除以CL中的数据,再将其结果乘以2,并将最后为16位数的结果存入DX寄存器中。MOVAL,BLCBWDIVCLMOVCL,2MULCLMOVDX,AX3.17写一指令序列,完成将AX寄存器的最低4位置1,最高3位清0,第7、8、9位取反,其余位不变的操作。ORAX,000FHANDAX,1FFFHXORAX,0380H第四章4.1假设下列指令中所有标识符均是类型属性为字变量,请指出下列指令中哪些是非法的?它们的错误是什么?(1)MOVBP,AL错类型不一致(2)MOVWORD_OP[BX+4*3][DI],SP对

(3)MOVWORD_OP1,WORD_OP2错两存直接传(4)MOVAX,WORD_OP1[DX]错只能用BX.BPSI.DI间接寻址(5)MOVSAVEWORD,DS对

(6)MOVSP,SS:DATA_WORD[BX][SI]对

(7)MOV[BX][SI],2错需明确类型是字还是字节(8)MOVAX,WORD_OP1+WORD_OP2错必须一常数(9)MOVAX,WORD_OP1_WORD_OP2+100对

10)MOVWORD_OP1,WORD_OP1_WORD_OP2错俩标识符直连4.2假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:⑴ADDVAR1,VAR2 ⑵SUBAL,VAR1⑶JMPLAB[SI] ⑷JNZVAR1⑸JMPNEARLAB【解】:⑴ADDVAR1,VAR2 ADD两个操作数不能同时为存储单元, MOVAX,VAR1ADDAX,VAR2 ⑵SUBAL,VAR1两个操作数不匹配SUBAX,VAR1⑶JMPLAB[SI] LAB与[SI]不能相加JMPWORDPTR[SI] ⑷JNZVAR1JNZ后面应是标号,不应是变量JNZLAB⑸JMPNEARLAB缺少PTR运算符JMPNEARPTRLAB4.5假设程序中的数据定义如下:PARTNO DW?PNAME DB16DUP(?)COUNT DD?PLENTH EQU$-PARTNO问PLENTH的值为多少?它表示什么意义?PLENTH的值为22,表示从PARTNO开始到PLENTH之前所含字节数4.6有符号定义语句如下:BUFF DB1,2,3,‘123EBUFF DB0L EQUEBUFF-BUFF问L的值是多少?L值为6。BUFF DB1,2,3,‘123LEQU$-BUFFEBUFF DB04.9给出等值语句如下:ALPHA EQU 100BETA EQU 25GAMMA EQU 2下列表达式的值是多少?⑴ALPHA*100+BETA ⑵ALPHA MOD GAMMA+BETA⑶(ALPHA+2)*BETA-2 ⑷(BETA/3) MOD5⑸(ALPHA+3)*(BETAMODGAMMA) ⑹ALPHAGEGAMMA⑺BETAAND7 ⑻GAMMAOR3【解】:⑴ALPHA*100+BETA 100×10025=10025 ⑵ALPHA MOD GAMMA+BETA 100/(25+2)=19⑶(ALPHA+2)*BETA-2(100+2)*25=2548 ⑷(BETA/3) MOD5 (25/3)MOD5=3⑸(ALPHA+3)*(BETAMODGAMMA)(100+3)*(25MOD2)=103 ⑹ALPHAGEGAMMA100GZGAMMA=0FFFFH⑺BETAAND7 25AND7=1 ⑻GAMMAOR3 2OR3=3 4.10对于下面的数据定义,三条MOV指令分别汇编成什么?(可用立即数方式表示)TABLEA DW 10DUP(?)TABLEB DB 10DUP(?)TABLEC DB ’1234┇MOV AX,LENGTHTABLEAMOV BL,LENGTHTABLEBMOV CL,LENGTHTABLEC【解】:MOV AX,LENGTHTABLEAMOVAX,OOOAHMOV BL,LENGTHTABLEBMOVBL,0AHMOV CL,LENGTHTABLECMOVCL,O1H4.11对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?FLDB DB ?TABLEA DW 20 DUP(?)TABLEB DB ‘ABCD’⑴MOVAX,TYPEFLDB ⑵MOVAX,TYPETABLEA⑶MOVCX,LENGTHTABLEA ⑷MOVDX,SIZETABLEA⑸MOVCX,LENGTHTABLEB【解】:(1) MOVAX,TYPEFLDB(AX)=1(2) MOVAX,TYPETABLEA(AX)=2(3) MOVCX,LENGTHTABLEA(CX)=20(4) MOVDX,SIZETABLEA(DX)=40(5) MOVCX,LENGTHTABLEB(CX)=1第五章5.1简述8086引脚信号M/IO*、DT/R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论