1、第3章作业打印稿 第三章作业答案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, BXSI(3) ADD BX+OB2H, CX(4) ADD WORD PTR0524H, 2A59H(5) ADD AL,0B5H3.3(1) LEA BX, BLOCK+(6-1)*2MOV DX, BX(2) LEA BX, BLOCKMOV DX,
2、 BX+10(3) MOV SI, 10LEA BX, BLOCKMOV DX, BXSI3.4(1) 1200H(2) 0100H(3) 4C2AH(4) 3412H(5) 4C2AH(6) 7856H(7) 65B7H3.5(1) EA=(IP)+D=7CD9H(2) 物理地址=16DS+(BX)=224A0H IP=0600H(3) 物理地址=16DS+(BX)+D=275B9H IP=098AH3.6MOV BX, 2000HLDS SI, BXMOV AX, SI 10 FF 00 80 1D000H1D001H1D002H1D003H AX 8FF10H8FF11H8FF12H8F
3、F13H3.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) 寄存器相对寻址 20000H0100H+0AH2010AH(10) 寄存器相对寻址 20150H(11) 基址变址寻址 201A0H(12) 相对基址变址寻址 2
4、01F0H3.9(1) MOV AX, BX+12MOV ZERO, AX(2) MOV AX, ARRAYBXMOV ZERO, AX3.10(1) 1234H(2) 0032H3.111E00H3.13 SP 57H 0FFAAEH 80H 0FFAAFHSP 0FFAB0H (1)初始 (2)8057H入栈SP 79H 0FFACH 79H 0FFACH 0FH 0FFADH 0FH 0FFADH 57H 0FFAEH SP 57H 0FFAEH 80H 0FFAFH 80H 0FFAFH (3)0F79H入栈 (4)0F79H出栈3.15 62A0H 62A0H 62A0H 62A0H
5、+1234H +4321H +CFA0H +9D60H 74D4H A5C1H 3240H (1)0000HSF 0 1 0 0ZF 0 0 0 1CF 0 0 1 1OF 0 1 0 03.17(1) MOV AX, Z SUB AX, XADD AX, WMOV Z, AX(2) ADD X, 6ADD R,9MOV AX, WSUB AX, XSUB AX, RMOV Z, AX(3) MOV AX, W IMUL XADD Y, 6MOV BX, YIDIV BXMOV Z, AXMOV R, DX(4) MOV BX, W SUB BX, X ;(BX)=W-XMOV AX, YMO
6、V CX, 5IMUL CX ;(DX,AX)=Y5MOV CX AXMOV AX, BX ;BX扩展到EAX(32位)CWD ;被除数扩展到64位IDIV CX ;除数Y限制为字(16位)SAL AX,1MOV Z, AX ;可以认为AX能存储下结果3.19 程序 AX CF SF ZF 0F MOV AX, 0 0000H - - - - DEC AX FFFFH - 1 0 1 ADD AX, 7FFFH 7FFFH 1 0 0 0 ADD AX, 2 8000H 0 1 0 1 NOT AX 7FFFH 0 1 0 1 SUB AX, 0FFFFH 8000H 1 1 0 1 ADD
7、AX, 8000H 0000H 1 0 1 1 SUB AX, 1 FFFFH 1 1 0 0 AND AX, 58D1H 58D1H 0 0 0 0 SAC AX, 1 B1A2H 0 1 0 1 SAR AX, 1 D8D1H 0 1 0 0 NEG AX 272FH 1 0 0 0 ROR AX, 1 9397H 1 1 0 1 3.21 NOT AX NOT DX ADD AX, 1 ADC DX, 0 3.23 (1) BX=009AH (2) BX=0061H (3) BX=00FBH (4) BX=001CH (5) BX=0000H (6) BX=0001H 3.25(1) +
8、532 MOV AL, 35H (2) -492 MOV AL, CFHSAL AL, 1 SAL AL, 1结果为6AH106D 结果为9EH-98D(3) +532 MOV AL, 35H (4) -492 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(
9、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 p112(1) LEA SI,CONAME LEA DI,PRLINE MOV CX,20 CLD REP MOVSB(2) LEA SI,CONAME+19 LEA DI,PRLINE+19 MOV CX,20 STD REP MOVSB(3) LEA SI,CONAME+3 STD LODSB MOV AH,AL LODSB(4) LEA DI,PRLINE+5 CLD
10、 STOSB MOV AL,AH STOSB(5) LEA DI,CONAME MOV CX,20 MOV AL,20H CLD REPNZ SCASB JNZ NOFOUND MOV BH,20H*3.30 P112 LEA DI,STRING MOV CX,18 MOV AL,& CLD REPNZ SCASB JNZ NOFOUND DEC DI MOV DI,20H*3.31 P112(1) LEA SI,PRINT_LINE MOV AL,20H MOV CX,132 CLD REP LODSB(2) LEA DI,STUDENT_ADDR MOV CX,9 MOV AL,_ CLD
11、 REPNZ SCASB(3) LEA DI,STUDENT_ADDR+8 MOV CX,9 MOV AL,_ STD REPNZ SCASB(4) LEA SI,STUDENT_NAME CLD MOV CX,30AGA: LODSB CMP AL,20H JZ NEXT JMP SHORT NEXT1NEXT: LOOP AGANEXT1: JNZ EXIT LEA DI,STUDENT_NAME MOV AL,* MOV CX,30 CLD REP STOSBEXIT:(5) LEA SI,STUDENT_NAME LEA DI,PRINT_LINE MOV CX,30 CLD REP
12、MOVSB LEA SI,STUDENT_ADDR+8 LEA DI,PRINT_LINE+131 MOV CX,9 STD REP MOVSB3.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中 (3) LEA DI, STUDENT_ADDR+8 STD MOV AL, REPNE SCASBMOV CX,9 最后一个在DI-1中 (4) LEA DI, STUDENT_
13、NAME (5) CLDMOV AL, 20H MOV CX, 30MOV CX, 30 LEA SI, STUDENT_NAMECLD LEA DI, PRINT_LINEREPE SCASB REP MOVSBJNE NO-MATCH STDMOV CX, 30 MOV CX, 9LEA DI, STUDENT_NAME LEA SI, STUDENT_ADDR+8MOV AL, LEA DI, PRINT_LINE+131REP STOSB REP MOVSBNO-MATCH:HLT*3.32 P112 LEA SI,OLDS LEA DI,NEWS MOV CX,5 CLD REPZ
14、CMPSB JNZ NEW_LESS*3.33 P112 参看教材90页-91页内容(1) CMP DX,CX JA EXCEED(2) CMP BX,AX JG EXCEED(3) CMP CX,0 JZ ZERO(4) CMP BX,AX JO OVERFLOW(5) CMP BX,AX JLE EQ_SMA(6) CMP DX,CX JBE EQ_SMA*3.34 P112(1) L1(2) L1(3) L2(4) L5(5) L5*3.35 P112 参看教材90页-91页内容(1)JNB JBE JNL JLE(2)JNB JBE JNL JLE(3)JNB JNBE JL JLE(
15、4)JNB JNBE JNL JNLE(5)JNB JNBE JNL JNLE(6)JB JBE JL JLE(7)JB JBE JL JLE(8)JNB JNBE JL JLE3.35 答案另一种表现形式 AX BX JB JNB JBE JNBE JL JNL JLE JNLE1F52H1F52H 88C9H88C9H FF82H007EH 58BAH020EH FFC5HFF8BH 09A0H1E97H 8AEAHFC29H D367H32A6H *3.36 P112 2P=q AX=1 2pq AX=2*3.37 P112 MOV AL,STATUS NOT AL TEST AL,2A
16、H JZ ROUTINE_1 TEST AL,0AH JZ ROUTINE_2 TEST AL,22H JZ ROUTINE_2 TEST AL,28H JZ ROUTINE_2 TEST AL,02H JZ ROUTINE_3 TEST AL,08H JZ ROUTINE_3 TEST AL,20H JZ ROUTINE_3 JMP ROUTINE_4*3.38 P112(1) LOOP L20 AX=5 BX=10H DX=0 CX=0(2) LOOPE L20 AX=2 BX=4 DX=1 CX=3(3) LOOPNE L20 AX=3 BX=7 DX=0 CX=23.39 参看教材10
17、1页例3.82 ,教材98-99页内容(1) (2)0400H0A00H0400H (3) (4) 0100H B200H 0A00H 0400H 0100HB200H 0A00H 0400H(5) (6) 0100H 0C00H 0A00H 0400H 0100H 0C00H 0A00H 0400H 0100H 0C00H 0A00H 0400H(7) (8)0100H 0C00H 0A00H 0400H (9) 0100H 0C00H0600H 1000H39。图略,请参看教材P101。40.。(1)0000 3100H (2)5100H (3)7100H41。(1)目的地址:2004H
18、内容依次为: 56H F4H 23H 98H (2)目的地址: 384CH 内容依次为: 91H 34H F2H 01H (3)目的地址: 寄存器,无物理地址 内容依次为:92H 6DH A2H 4CH42。(1)PUSH AX(SP)-(SP)-2 (SP+1)-(AH) (SP)-(AL)(2)POP ESI (ESI)-(ESP)+3,(ESP)+2,(ESP)+1, (ESP) (ESP)-(ESP)+4(3)PUSH BX(SP)-(SP)-2 (SP+1)-(BX+1) (SP)-(BX)(4) PUSHAD (ESP)-(EAX) (ESP-4)-(ECX) (ESP-8)-(E
19、DX) (ESP-12)-(EBX) (ESP-16)-(ESP) ;这里指的是指令执行前的ESP (ESP-20)-(EBP) (ESP-24)-(ESI) (ESP-28)-(EDI) (ESP)-(ESP)-32(5)POP DS(DS)-(SP)+1,(SP)(SP)-(SP)+2(6) PUSH 4(SP)-(SP)-2(SP+1)-0(SP)-443。(1) 2CE FF93H (2) 24B 76A0H (3)909 0804H (4) 6F 13ADH44。(1)0FFFF FFFCH (2)0FFFF FFF8H (3)0000 0007H (4)0000 0099H45。
20、(EAX)=0 (EBX)=25d46。 (AX)=3d (DX)=7d47。ADD ECX,EDX ADD ECX,ESI MOV EDI ,ECX48。 IMUL BX,DX,100H执行的操作是: (BX)-(DX)*100H49。程序实现:MOV AL,BLCBWIDIV CLIMUL 2MOV DX,AX50。JMP DI 是直接跳转,执行的操作是: (IP)-(IP)+(DI)JMP DI是间接跳转,执行的操作是: (IP)-(IP)+(DI)跳转到DI中所指向的内存单元中的指令地址51。假设数组名为NUMBERS,程序如下MOV BX,0 ;后面用到MOV CX,100H ;把循环次数放入CXMOV AL,42HMOV SI,0 ;初始化SI;CHECK 用来实现查找功能CHECK : CMP AL ,NUMBERSSIINC SIJB STORE1 ;大于42H的数的个数存入UPJA STORE2 ;小于42H的的数的个数存入DOWN中LOOP CHECK ;相等继续循环STORE1 INC BL ;找到一个大于42 的数,BL值增加1 MOV UP,BL LOOP CHECKSTORE2 INC BH MOV DOWN ,BH LOOP CHECK 52。图略。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1