资源描述:
《微型计算机与接口技术 李伯成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、李伯成《微机原理》习题第三章本章作业参考书目:1.周明德:微型计算机IBM-PC系统原理与应用清华大学出版社19912.王永山等:微型计算机原理与应用西安电子科大出版社19983.张怀莲:IBMPC汇编语言程序设计电子工业出版社1990注:本习题解中的程序仅为代码片段,可在Emu8086version2.57环境下仿真运行,如果在MASM下进行汇编,需添加段设置以及相应的伪指令。3.1MOVAX,00H;立即寻址SUBAX,AX;寄存器寻址MOVAX,[BX];寄存器间接寻址MOVAX,TABLE;直接寻址MOVAL,AR
2、AY1[SI];寄存器相对寻址MOVAX,[BX+6];寄存器相对寻址3.2若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。程序片段如下:ORG100hMOVCX,03FFH;数据个数LEASI,TABLE;源区首地址LEADI,NEXT;目的区首地址AGAIN:MOVAL,[SI];MOV[DI],AL;搬移INCSIINCDI;移动地址指针DECCX;循环计数器递减JNZAGAIN;循环未结束转HLT;暂停TABLEDB1024dup('A');源数据区NEXTDB1024dup(0);目的数据
3、区3.3编写10个字(16位二进制数)之和的程序ORG100hLEASI,ADD1;LEADI,ADD2;LEABX,SUM;MOVCL,CONT;MOVCH,0;循环初始化CLC;进位清零MADD1:MOVAX,[SI];读加数1ADCAX,[DI]ADDSI,2;移动源区地址指针ADDDI,2;移动目的区地址指针MOV[BX],AX;回存计算结果ADDBX,2;移动“和”存储区地址指针LOOPMADD1;循环控制HLT;暂停ADD1DB0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加
4、数1ADD2DB56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加数2SUMDB10DUP(0);和存储单元CONTDB5;循环次数3.4某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS和REMAIN中。ORG100hMOVBL,2;除数初值AGAIN:MOVCX,NUM;预计最大循环次数MOVAL,BL;0、1的平方根除外MULBL;得到2的平方CMPAX,CX;大于原始数据么?JGEXIT;若原始数据小于4转EXITMOVAX,CX;读数DIV
5、BL;试除INCBL;除数递增JMPAGAIN;继续除EXIT:DECBL;去除除数自加MOVANS,BL;存商MOVAL,BL;恢复余数MULBL;SUBCX,AX;MOVREMAIN,CL;HLTNUMDW7;ANSDB?;REMAINDB?;3.5在DATA1之下顺序存放着以ASCII码表示的千位数,将其转换成二进制数。MOVCL,4;移位次数MOVCH,CL;循环次数MOVSI,OFFSETASCBINCLDXORAX,AXXORDX,DXASCB1:LODSBANDAL,7FHCMPAL,'0';不大于‘0’结束
6、转换JLERRCMPAL,'9'JGASCB2;大于‘9’转ASCB2SUBAL,30H;数字形式二进制数减30HJMPASCB3ASCB2:CMPAL,'A';大于‘9’又小于‘A’结束转换JLERRCMPAL,'F'JGERR;大于‘F’为不合理数,结束转换SUBAL,37H;字符形式ASCII数减37HASCB3:ORDL,ALROLDX,CLDECCHJNZASCB1ROLDX,CLMOVBIN,DX;存储转换结果ERR:NOPHLTASCBINDB'1','B,'4','3'BINDW?3.7编写程序将MOLT中
7、的一个8位数乘以20,乘积放在ANS中(用3种方式)。解:第一种方法:常规乘法运算ORG100hMOVAL,MOLTMOVBL,20MULBLMOVANS,AXHLTMOLTDB2ANSDW?第二种方法,将MOLT连加20次ORG100hMOVCX,20MOVBX,MOLTXORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLTDW5ANSDW?第三种方法,将“20”连加MOLT次ORG100hMOVCX,MOLTMOVBX,20XORAX,AXCLCADD1:ADCAX,BXLOO
8、PADD1MOVANS,AXHLTMOLTDW5ANSDW?3.8在DATA之下存放100个无符号的8位数,找出其最大者并将其存放在KVFF单元。ORG100hXORDL,DLLEADI,KVFF;NEXT0:LEASI,BUFFER;MOVCL,99;比较次数为N-1次NEXT1:MOVAL,[SI]