新《考研资料》作业6答案.doc
第6次作业1执行下列指令后,标志寄存器中AF、CF、OF、SF、ZF标志位分别是什么状态?解: MOV AX,84A0H ADD AX,9460H1000010010100000+ 1001010001100000 1 0001100100000000 (1900H)AF=0,CF=1,OF=1, SF=0,ZF=02 写出把首址为BLOCK的字数组的第6个字送入AX的指令,要求使用下列寻址方式(1) 寄存器间接寻址 (2) 基址寻址 (3)相对基址变址寻址 (4) 直接寻址解:(1) LEA BX,BLOCK MOV AX,BX(2) MOV BX,0 MOV AX,BLOCKBX(MOV AX,BX+BLOCK)(3) MOV BX,0 MOV SI,0 MOV AX,BX+SI+BLOCK(4) MOV AX,BLOCK3 已知AX=8060H,DX=580H,端口PORT1的地址为40H,内容为4FH,端口PORT2的地址为45H,执行下列指令后的结果在哪儿?为多少?解:(1) OUT DX,AL ; 580H端口,输出数据60H(2) OUT DX,AX 580H端口,输出数据60H , 581H端口,输出数据80H (3) IN AL,PORT1 ;结果在AL寄存器,内容为4FH (4) IN AX,40H;结果在AX中,AL=4FH,AH为41H端口的内容(5) OUT PORT2,AL ;结果是45H端口输出数据60H (6) OUT PORT2,AX;结果为45H端口输出数据60H,46H端口输出数据80H4 已知数据如图所示,数据低位低地址,按要求编写程序段(1) 完成NUM1和NUM2的两个双字数据相加,结果存放在NUM1中。解:MOV AX,NUM2 ADD NUM1,AXMOV AX,NUM1+2ADC NUM1+2,AX(2) 完成NUM1单元开始的连续4个字节数据相加,和不超过一个字节,放在RES单元。解: MOV CX,4 MOV AL,0 LEA BX,NUM1AGAIN: ADD AL,BX INC BX LOOP AGAIN MOV RES,AL(3) 完成NUM1单元开始的连续8个字节数据相加,和为16位数,放在RES和RES+1单元。解: MOV CX,8 MOV AX,0 MOV BX,OFFSET NUM1AGAIN: ADD AL,BX ADC AH,0 INC BX LOOP AGAIN MOV RES,AX