第三章习题答案3.1寻址方式有效地址(EA)(1)立即寻址无(2)直接寻址7237H(3)BX寄存器寻址无(4)BX寄存器间接寻址637DH(5)BX寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址寻址004FH3.2(1)ADD DX, BX(2)ADD AL, [BX][SI](3)ADD [BX+OB2H], CX(4)ADD WORD PTR[0524H], 2A59H(5)ADD AL,0B5H3.3(1)LEA BX, BLOCK+(6-1)*2MOV DX, [BX](2)LEA BX, BLOCKMOV DX, [BX+10](3)MOV SI, 10LEA BX, BLOCKMOV DX, [BX][SI]3.4(1)1200H(2)0100H(3)4C2AH(4)3412H(5)4C2AH(6)7856H(7)65B7H3.5(1)EA=(IP)+D=7CD9H(2)物理地址=16×DS+(BX)=224A0H IP=0600H(3)物理地址=16×DS+(BX)+D=275B9H IP=098AHMOV BX, 2000HLDS SI, [BX]MOV AX, [SI]3.7(1)0626H+27H=064DH(2)0626H+6BH=0691H(3)0626H+0FFC6H=05ECH (注意符号扩展)3.8寻址方式物理地址(1) 立即数寻址无(2) 寄存器寻址无(3)直接寻址20100H(4)直接寻址20050H(5)寄存器间接寻址20100H(6)寄存器间接寻址21100H(7)寄存器间接寻址15010H(8)寄存器间接寻址200A0H(9)寄存器相对寻址20000H+0100H+0AH=2010AH (10)寄存器相对寻址20150H(11)基址变址寻址201A0H(12)相对基址变址寻址201F0H3.9(1)MOV AX, [BX+12]MOV ZERO, AX(2)MOV AX, ARRAY[BX]MOV ZERO, AX3.10(1)1234H(2)0032H1E00H3.130FFAAEH0FFAAFH0FFADH0FFAEH0FFAFH3.1562A0H 62A0H 62A0H 62A0H+1234H +4321H +CFA0H +9D60H74D4H A5C1H 3240H (1)0000H SF 0 1 0 0ZF 0 0 0 1 CF 0 0 1 1 OF 0 1 0 03.17(1)MOV AX, ZSUB AX, XADD AX, WMOV Z, AX(2)ADD X, 6ADD R,9MOV AX, WSUB AX, XSUB AX, RMOV Z, AX(3)MOV AX, WIMUL XADD Y, 6MOV BX, YIDIV BXMOV Z, AXMOV R, DX(4)MOV BX, WSUB BX, X ;(BX)=W-XMOV AX, YMOV CX, 5IMUL CX ;(DX,AX)=Y×5MOV CX AXMOV AX, BX ;BX扩展到EAX(32位)CWD ;被除数扩展到64位IDIV CX ;除数Y限制为字(16位)SAL AX,1MOV Z, AX ;可以认为AX能存储下结果3.193.21NOT AXNOT DXADD AX, 1ADC DX, 03.23(1) BX=009AH (2) BX=0061H (3) BX=00FBH (4) BX=001CH (5) BX=0000H (6) BX=0001H3.25(1)+53×2 MOV AL, 35H (2) -49×2 MOV AL, CFHSAL AL, 1 SAL AL, 1 结果为6AH=106D 结果为9EH=-98D(3) +53÷2 MOV AL, 35H (4) -49÷2 MOV AL, CFHSAR AL, 1 SAR AL, 1 结果为1AH=26D 结果为E7H=-24D3.27(1)DX=0000 0000 0101 1100B(2)DX=0000 0000 0001 0111B(3)DX=0000 0101 1100 1000B(4)DX=0000 0000 0111 0010B(5)DX=0001 0000 0001 0111B(6)DX=0000 0000 1100 1101B(7)DX=0000 0000 1011 1001B(8)DX=0000 0101 1100 1100B(9)DX=0000 0000 1101 1100B3.29(1)LEA SI, CONAME (2) LEA SI, CONAME (3) LEA SI, CONAMELEA DI, PRLINE ADD SI, 19 ADD SI, 2MOV CX, 20 LEA DI, PRLINE LODSWCLD ADD DI, 19REP MOVSB STDREP MOVSB(4) LEA DI, PRLINE (5) LEA DI, CONAMEADD DI, 5 MOV AL, 20HSTOSW MOV CX, 20CLDREPNE SCASBJNZ NO-FOUNDMOV BH, AL…….NO-FOUND:3.31(1)CLD (2) LEA DI, STUDENT_ADDRMOV CX, 132 MOV AL, ‘-’MOV AL, 20H MOV CX, 9LEA DI, PRINT_LINE CLDREP STOSB REPNE SCASB第一个‘—’在DI-1中STDMOV AL, ‘REPNE SCASBDI-1中(4) LEA DI, STUDENT_NAME (5) CLDMOV AL, 20H MOV CX, 30MOV CX, 30 LEA SI, STUDENT_NAME CLD LEA DI, PRINT_LINE REPE SCASB REP MOVSBJNE NO-MATCH STDMOV CX, 30 MOV CX, 9LEA DI, STUDENT_NAME LEA SI, STUDENT_ADDR+8 MOV AL, ‘﹡’LEA DI, PRINT_LINE+131 REP STOSB REP MOVSBNO-MATCH:HLT3.37MOV AL, STA TUSTEST AL, 00101010BJZ ROUTINE-4 ;当全为0时JP ROUTINE-2 ;偶转移,当有2个1时(0的情况前一条已经跳转)CMP AL, 00101010BJZ ROUTINE-1 ;当为3个1时JMP ROUTINE-3 ;剩余情况,1个1时。
3.39(1) (2)(3) (4)(5) (6)(7) (8)(9)3.29(1) LEA SI,CONAME LEA DI,PRLINEMOV CX,20 CLDREP MOVSB(2) LEA SI,CONAME+19 LEA DI,PRLINE+19 MOV CX,20 STDREP MOVSB(3) LEA SI,CONAME+3 STD LODSB MOV AH,AL LODSB(4) LEA DI,PRLINE+5 CLD STOSB MOV AL,AHSTOSB(5) LEA DI,CONAMEMOV CX,20MOV AL,20HCLDREPNZ SCASBJNZ NOFOUNDMOV BH,20H************************************ 3.30 P112LEA DI,STRINGMOV CX,18MOV AL,'&'CLDREPNZ SCASBJNZ NOFOUNDDEC DIMOV [DI],20H************************************ 3.31(1) LEA SI,PRINT_LINEMOV AL,20HMOV CX,132CLDREP LODSB(2) LEA DI,STUDENT_ADDRMOV CX,9MOV AL,'_'CLDREPNZ SCASB(3) LEA DI,STUDENT_ADDR+8MOV CX,9MOV AL,'_'STDREPNZ SCASB(4) LEA SI,STUDENT_NAMECLDMOV CX,30AGA: LODSBCMP AL,20HJZ NEXTJMP SHORT NEXT1NEXT: LOOP AGANEXT1: JNZ EXITLEA DI,STUDENT_NAMEMOV AL,'*'MOV CX,30CLDREP STOSBEXIT:(5) LEA SI,STUDENT_NAMELEA DI,PRINT_LINEMOV CX,30CLDREP MOVSBLEA SI,STUDENT_ADDR+8LEA DI,PRINT_LINE+131MOV CX,9STDREP MOVSB************************************ 3.32LEA SI,OLDSLEA DI,NEWSMOV CX,5CLDREPZ CMPSBJNZ NEW_LESS************************************ 3.33(1) CMP DX,CXJA EXCEED(2) CMP BX,AXJG EXCEED(3) CMP CX,0JZ ZERO(4) CMP BX,AXJO OVERFLOW(5) CMP BX,AXJLE EQ_SMA(6) CMP DX,CXJBE EQ_SMA************************************ 3.34(1) L1(2) L1(3) L2(4) L5(5) L5************************************ 3.35(1)JNB JBE JNL JLE(2)JNB JBE JNL JLE(3)JNB JNBE JL JLE(4)JNB JNBE JNL JNLE(5)JNB JNBE JNL JNLE(6)JB JBE JL JLE(7)JB JBE JL JLE(8)JNB JNBE JL JLE************************************ 3.362P>=q AX=12p<q AX=2************************************ 3.37MOV AL,STATUSNOT ALTEST AL,2AHJZ ROUTINE_1TEST AL,0AHJZ ROUTINE_2TEST AL,22HJZ ROUTINE_2TEST AL,28HJZ ROUTINE_2TEST AL,02HJZ ROUTINE_3TEST AL,08HJZ ROUTINE_3TEST AL,20HJZ ROUTINE_3JMP ROUTINE_4************************************ 3.38(1) LOOP L20AX=5 BX=10H DX=0 CX=0(2) LOOPE L20AX=2 BX=4 DX=1 CX=3(3) LOOPNE L20AX=3 BX=7 DX=0 CX=2************************************11。