文档详情

第4章习题解答.doc.doc

发布:2017-04-18约6.57千字共10页下载文档
文本预览下载声明
第4章习题解答 4.1 画出下列语句中的数据在存储器中的存储情况。 ARRAYB DB 63,63H,‘ABCD’, 3DUP(?),2 DUP(1,3) ARRAYW DW 1234H,5,‘AB’,‘CD’,?, 2DUP(1,3) 解: 地址数据地址数据ARRAYB3FH42H63H41H41H44H42H43H43H ?44H ? ?01H ?00H ?03H01H00H03H01H01H00H03H03H34H00H12H05H00H 4. 2. 程序中数据定义如下: DATA1 DW ? DATA2 DB 32DUP(?) DATA3 DD ? DLENGTH EQU $-DATA1 此时DLENGTH的值是多少? 解: DLENGTH=38=26H 4. 3. 程序中数据定义如下: ARRAY DB ‘ABCDEF’ RESULT DB ? TABLE DW 20 DUP(?) 则执行指令 MOV AX,TYPE RESULT后,AX=? MOV BX,TYPE TABLE后,BX=? MOV CX,LENGTH TABLE后,CX=? MOV DX,LENGTH ARRAY后,DX=? MOV SI,SIZE TABLE后,SI=? MOV DI,SIZE ARRAY后,DI=? 解: AX=1; BX=2; CX=20; DX=1; SI=40; DI=1 4. 4. 指令AND AX,7315H AND 0FFH中,两个AND有什么差别?这两个AND操作分别在什么时候执行? 解: 左为助记符,由CPU执行指令时运算; 右为运算符,由汇编程序在汇编时运算。 4. 5. 设BX=1034H,则执行下列指令 MOV AX,BX AND 0FFH MOV CX,BX EQ 1234H 后,AX和CX各为多少?若BX=1234H,则结果如何? 解: AX=0034H; CX=0000H; AX=0034H;CX=FFFFH 4. 6. 设已知语句为: ORG 0024H DATA1 DW 4,12H,$+4 则执行指令MOV AX,DATA1+4后AX的值是多少? 解: AX=002CH 4. 7. 已知数据定义语句为: BUFFER DB 16 DUP(O,2DUP(1)) 则其中字数据单元内容为0100H的单元数是多少? 解: 16个 4. 8. 要在以DA1为首址的数据区中依次存放下列数据; ‘A’,‘B’,O,0,‘C’,‘D’,0,0 请分别用DB、DW和DD语句实现。 解: DAT DB ‘A’, ‘B’,0,0,’C’,’D’,0,0 DAT DW ‘BA’,0,’DC’,0 DAT DB ‘BA’,’DC’ 4. 9. 试??下列要求在数据段中依次书写各数据定义语句: 以DA1为首字节的连接存储单元中存放20H个重复的数据序列:2,3, 10 个4,一个7。 DA2为字符串变量,用字变量(DW)设置一字符串;‘STUDENTS’(按 此顺序存放在各单元中) 用等值语句给符号COUNT赋值以DA1为首址的数据区共占有的字节数,此等值语句必须放在最后一语句。 解: (1) DAT1 DB 20H DUP (2,3,10 DUP (4),7) (2) DAT2 DW ‘TS’, ‘DU’ ,’NE’,’ST’ (3) COUNT EQU DATA2-DATA1 4. 10. 下面程序段是实现从键盘输入十个一位10进数后累加。最后累加和以非压缩BCD码形式存放在AH(高位)和AL(低位)中。试把程序段中所空缺的指令填上。 XOR BX,BX LOP: MOV AH,01H ;键盘字符输入 INT 21H MOV AH,BH ADD AL,BL MOV BX,AX 解: MOV CX, 10 AAA 4. 11. 下面程序段的功能是把DA1数据区的数0~9转换为对应的ASCII码。试完善本程序段。 DA1 DB OOH,O1H,02H,03H,04H,05H,06H,07H,08H,09H ASCI DB 10 DUP(?) CUNT=ASCI-DA1 LEA SI,DA1 LEA DI,ADCI LOP1: MOY AL,[SI]
显示全部
相似文档