资源描述:
《微机原理陈慈发习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章习题解答4.1画出下列语句中的数据在存储器中的存储情况。ARRAYBDB63,63H,‘ABCD’,3DUP(?),2DUP(1,3)ARRAYWDW1234H,5,‘AB’,‘CD’,?,2DUP(1,3)解:地址数据地址数据ARRAYB3FH42H63H41H41H44H42H43H43H?44H??01H?00H?03H01H00H03H01H01H00H03H03H34H00H12H05H00H4.2.程序中数据定义如下:DATA1DW?DATA2DB32DUP(?)DATA3DD?DLENGTHEQU$-DATA1此时DLEN
2、GTH的值是多少?解:DLENGTH=38=26H4.3.程序中数据定义如下:ARRAYDB‘ABCDEF’RESULTDB?TABLEDW20DUP(?)则执行指令MOVAX,TYPERESULT后,AX=?MOVBX,TYPETABLE后,BX=?MOVCX,LENGTHTABLE后,CX=?MOVDX,LENGTHARRAY后,DX=?MOVSI,SIZETABLE后,SI=?MOVDI,SIZEARRAY后,DI=?解:AX=1;BX=2;CX=20;DX=1;SI=40;DI=14.4.指令ANDAX,7315HAND0FFH中,两
3、个AND有什么差别?这两个AND操作分别在什么时候执行?解:左为助记符,由CPU执行指令时运算;右为运算符,由汇编程序在汇编时运算。4.5.设BX=1034H,则执行下列指令MOV AX,BX AND 0FFHMOV CX,BX EQ 1234H后,AX和CX各为多少?若BX=1234H,则结果如何?解:AX=0034H;CX=0000H;AX=0034H;CX=FFFFH4.6.设已知语句为:ORG0024HDATA1DW4,12H,$+4则执行指令MOV AX,DATA1+4后AX的值是多少?解:AX=002CH4.7.已知数据定义语句为
4、:BUFFERDB16DUP(O,2DUP(1))则其中字数据单元内容为0100H的单元数是多少?解:16个4.8.要在以DA1为首址的数据区中依次存放下列数据;‘A’,‘B’,O,0,‘C’,‘D’,0,0请分别用DB、DW和DD语句实现。解:DATDB‘A’,‘B’,0,0,’C’,’D’,0,0DATDW‘BA’,0,’DC’,0DATDB‘BA’,’DC’4.9.试按下列要求在数据段中依次书写各数据定义语句:(1)以DA1为首字节的连接存储单元中存放20H个重复的数据序列:2,3,10个4,一个7。(2)DA2为字符串变量,用字变量(
5、DW)设置一字符串;‘STUDENTS’(按此顺序存放在各单元中)(3)用等值语句给符号COUNT赋值以DA1为首址的数据区共占有的字节数,此等值语句必须放在最后一语句。解:(1)DAT1DB20HDUP(2,3,10DUP(4),7)(2)DAT2DW‘TS’,‘DU’,’NE’,’ST’(3)COUNTEQUDATA2-DATA14.10.下面程序段是实现从键盘输入十个一位10进数后累加。最后累加和以非压缩BCD码形式存放在AH(高位)和AL(低位)中。试把程序段中所空缺的指令填上。XORBX,BXLOP:MOVAH,01H;键盘字符输入
6、INT21HMOVAH,BHADDAL,BLMOVBX,AX解:MOVCX,10AAA4.11.下面程序段的功能是把DA1数据区的数0~9转换为对应的ASCII码。试完善本程序段。DA1DBOOH,O1H,02H,03H,04H,05H,06H,07H,08H,09HASCIDB10DUP(?)CUNT=ASCI-DA1LEASI,DA1LEADI,ADCILOP1:MOYAL,[SI]MOV[DI],ALINCSIINCDILOOPLOP1解:MOVCX,COUTADDAL,30H4.12.BUFF‘ABD$QC%$A…XYZ’CONTEQ
7、U$-BUFF…CLDLEADI,BUFFMOVCX,CONTMOVAL,‘$’XORDX,DXNEXT:REPNZSCA,SBCMPCX,0JZK1INCDXJMPNEXTK1:…上述程序段运行后,DX中的值表示的意义是什么?解:DX中为$个数4.13.设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组内容的相互交换,试完善本程序。DATASEGMENTADB1,2,3,4,5,6,7,8,9,0AHDRGOO10HBDB0AH,9,8,7,6,5,4,3,2,1DATAENDS…LEASI,ALEADO,BMOVCX,10
8、LOP:LODSBXCHGAL,[DI]DECDISTOSBINCDILOOPLOP解:XCHGSI,DIXCHGSI,DI4.14.现有一子程序:SUB1PROC