《精》微机原理参考复习题.docVIP

  • 43
  • 0
  • 约3.16千字
  • 约 5页
  • 2017-01-16 发布于湖北
  • 举报
有一首地址为ARRAY的M个字符数组,试编写一段程序,求出该数组的内容之和,不考虑溢出,并把结果存入TOTAL中。 MOV CX,M MOV AX,0 MOV SI,AX START:ADD AX,ARRAY[SI] ADD SI,2 LOOP START MOV TOTAL,AX 有一字符串,存放在ASCIISTR的内存区域中,字符串的长度为L,要求在字符串中查找空格(ASCII码为20H),找到则继续运行,否则跳转到NOTFOUND中执行。 MOV CX,L MOV SI,-1 MOV AL,20H NEXT:INC SI CMP AL,STR[SI] LOOPNE NEXT JNZ ND ND:… 设有关寄存器及存储单元的内容如下: DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=10H,[20101H]=30H,[20102H]=50H, [20103H]=70H,[21200H]=3AH,[21201H]=5CH,[21202H]=0B8H,[21203H]=60H 试说明下列各条指令单独执行后相关寄存器或存储单元的内容。 MOV AX,18000H MOV AX,BX MOV BX,[1200H] MOV DX,1100[BX] MOV [BX][SI],AL MOV AX,1100[BX][SI] ANSWER: (1)AX=1800H (2)AX=BX=0100H (3)BX=[2000H×10H+1200H]=[21200H]=5C3AH (4)DX=[2000H×10H+0100H+1100H]=[21200H]=5C3AH (5)AL=[2000H×10H+0100H+0002H]=[20102H]=50H (6)AX=[2000H×10H+0100H+1100H+0002H]=[21202H]=00600B8H 将存放在0A00H单元和0A02H单元的两个无符号数相乘,结果存放在地址为0A04H开始的单元中。 MOV AL,[0A00H] MOV BL,[0A02H] MUL BL MOV [0A04H],AX 编程序将AX中的数,最高位保持不变,其余全部左移4位。 MOV BX,AX AND BX,8000H MOV CL,4 SHL AX,CL AND AX,7FFFH OR AX,BX 将0400H单元中的数,低4位置零,高4位保持不变。 MOV AL,[0400H] AND BL,0FH MOV [0400H],AL 屏幕上显示“” DATA SEGMENT STRR DB $ DATA ENDS STACK SEGMENT DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX LEA DX,STRR MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 8、 DATA SEGMENT X DB 15 Y DB 34 Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,X MUL AL MOV BX,AX MOV AL,Y MUL AL ADD AX,BX SHR AX,1 MOV Z,AX MOV AH,4CH INT 21H CODE ENDS END START 9、已知用压缩BCD码表示数a,b,c,d,Z=(a+b)-(c+d),写出程序。 MOV AL,c MOV BL,d ADD AL,BL DAA MOV BL,AL MOV AL,a MOV DL,b ADD AL,DL DAA SUB AL,BL DAS MOV Z,AL 10、已知在数据段2000H单元存储一无符号数(字节),若该数大于等于55H,存入BL中,否则存入[2010H]。 MOV AL,[2000H] CMP AL,55H JNC DAS XAO:MOV [2010H],AL JMP ED DAS:MOV BL,AL ED:… 11、寄存器AL低3位D2,D1,D0中有一位是1时,程序将转向其相应的地址AD2,AD1,AD0。 … AND AL,07H TEST AL

文档评论(0)

1亿VIP精品文档

相关文档