第3章作业打印稿.docx
《第3章作业打印稿.docx》由会员分享,可在线阅读,更多相关《第3章作业打印稿.docx(21页珍藏版)》请在冰豆网上搜索。
![第3章作业打印稿.docx](https://file1.bdocx.com/fileroot1/2022-11/23/df10d136-5fc6-41eb-af66-8681005e4488/df10d136-5fc6-41eb-af66-8681005e44881.gif)
第3章作业打印稿
第三章作业答案
3.1
寻址方式有效地址(EA)
(1)立即寻址无
(2)直接寻址7237H
(3)BX寄存器寻址无
(4)BX寄存器间接寻址637DH
(5)BX寄存器相对寻址0D5B4H
(6)基址变址寻址8E18H
(7)相对基址变址寻址004FH
3.2
(1)ADDDX,BX
(2)ADDAL,[BX][SI]
(3)ADD[BX+OB2H],CX
(4)ADDWORDPTR[0524H],2A59H
(5)ADDAL,0B5H
3.3
(1)LEABX,BLOCK+(6-1)*2
MOVDX,[BX]
(2)LEABX,BLOCK
MOVDX,[BX+10]
(3)MOVSI,10
LEABX,BLOCK
MOVDX,[BX][SI]
3.4
(1)1200H
(2)0100H
(3)4C2AH
(4)3412H
(5)4C2AH
(6)7856H
(7)65B7H
3.5
(1)EA=(IP)+D=7CD9H
(2)物理地址=16×DS+(BX)=224A0HIP=0600H
(3)物理地址=16×DS+(BX)+D=275B9HIP=098AH
3.6
MOVBX,2000H
LDSSI,[BX]
MOVAX,[SI]
10
FF
00
80
1D000H
1D001H
1D002H
1D003H
AX
8FF10H
8FF11H
8FF12H
8FF13H
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)相对基址变址寻址201F0H
3.9
(1)MOVAX,[BX+12]
MOVZERO,AX
(2)MOVAX,ARRAY[BX]
MOVZERO,AX
3.10
(1)1234H
(2)0032H
3.11
1E00H
3.13
SP57H0FFAAEH
80H0FFAAFH
SP0FFAB0H
(1)初始
(2)8057H入栈
SP
79H0FFACH79H0FFACH
0FH0FFADH0FH0FFADH
57H0FFAEHSP57H0FFAEH
80H0FFAFH80H0FFAFH
(3)0F79H入栈(4)0F79H出栈
3.15
62A0H62A0H62A0H62A0H
+1234H+4321H+CFA0H+9D60H
74D4HA5C1H3240H
(1)0000H
SF0100
ZF0001
CF0011
OF0100
3.17
(1)MOVAX,Z
SUBAX,X
ADDAX,W
MOVZ,AX
(2)ADDX,6
ADDR,9
MOVAX,W
SUBAX,X
SUBAX,R
MOVZ,AX
(3)MOVAX,W
IMULX
ADDY,6
MOVBX,Y
IDIVBX
MOVZ,AX
MOVR,DX
(4)MOVBX,W
SUBBX,X;(BX)=W-X
MOVAX,Y
MOVCX,5
IMULCX;(DX,AX)=Y×5
MOVCXAX
MOVAX,BX;BX扩展到EAX(32位)
CWD;被除数扩展到64位
IDIVCX;除数Y限制为字(16位)
SALAX,1
MOVZ,AX;可以认为AX能存储下结果
3.19
程序
AX
CF
SF
ZF
0F
MOVAX,0
0000H
----
----
----
----
DECAX
FFFFH
----
1
0
1
ADDAX,7FFFH
7FFFH
1
0
0
0
ADDAX,2
8000H
0
1
0
1
NOTAX
7FFFH
0
1
0
1
SUBAX,0FFFFH
8000H
1
1
0
1
ADDAX,8000H
0000H
1
0
1
1
SUBAX,1
FFFFH
1
1
0
0
ANDAX,58D1H
58D1H
0
0
0
0
SACAX,1
B1A2H
0
1
0
1
SARAX,1
D8D1H
0
1
0
0
NEGAX
272FH
1
0
0
0
RORAX,1
9397H
1
1
0
1
3.21NOTAX
NOTDX
ADDAX,1
ADCDX,0
3.23
(1)BX=009AH
(2)BX=0061H(3)BX=00FBH(4)BX=001CH(5)BX=0000H(6)BX=0001H
3.25
(1)+53×2MOVAL,35H
(2)-49×2MOVAL,CFH
SALAL,1SALAL,1
结果为6AH=106D结果为9EH=-98D
(3)+53÷2MOVAL,35H(4)-49÷2MOVAL,CFH
SARAL,1SARAL,1
结果为1AH=26D结果为E7H=-24D
3.27
(1)DX=0000000001011100B
(2)DX=0000000000010111B
(3)DX=0000010111001000B
(4)DX=0000000001110010B
(5)DX=0001000000010111B
(6)DX=0000000011001101B
(7)DX=0000000010111001B
(8)DX=0000010111001100B
(9)DX=0000000011011100B
3.29p112
(1)LEASI,CONAME
LEADI,PRLINE
MOVCX,20
CLD
REPMOVSB
(2)LEASI,CONAME+19
LEADI,PRLINE+19
MOVCX,20
STD
REPMOVSB
(3)LEASI,CONAME+3
STD
LODSB
MOVAH,AL
LODSB
(4)LEADI,PRLINE+5
CLD
STOSB
MOVAL,AH
STOSB
(5)LEADI,CONAME
MOVCX,20
MOVAL,20H
CLD
REPNZSCASB
JNZNOFOUND
MOVBH,20H
************************************
3.30P112
LEADI,STRING
MOVCX,18
MOVAL,'&'
CLD
REPNZSCASB
JNZNOFOUND
DECDI
MOV[DI],20H
************************************
3.31P112
(1)LEASI,PRINT_LINE
MOVAL,20H
MOVCX,132
CLD
REPLODSB
(2)LEADI,STUDENT_ADDR
MOVCX,9
MOVAL,'_'
CLD
REPNZSCASB
(3)LEADI,STUDENT_ADDR+8
MOVCX,9
MOVAL,'_'
STD
REPNZSCASB
(4)LEASI,STUDENT_NAME
CLD
MOVCX,30
AGA:
LODSB
CMPAL,20H
JZNEXT
JMPSHORTNEXT1
NEXT:
LOOPAGA
NEXT1:
JNZEXIT
LEADI,STUDENT_NAME
MOVAL,'*'
MOVCX,30
CLD
REPSTOSB
EXIT:
(5)LEASI,STUDENT_NAME
LEADI,PRINT_LINE
MOVCX,30
CLD
REPMOVSB
LEASI,STUDENT_ADDR+8
LEADI,PRINT_LINE+131
MOVCX,9
STD
REPMOVSB
3.31另一参考答案
(1)CLD
(2)LEADI,STUDENT_ADDR
MOVCX,132MOVAL,‘-’
MOVAL,20HMOVCX,9
LEADI,PRINT_LINECLD
REPSTOSBREPNESCASB
第一个‘—’在DI-1中
(3)LEADI,STUDENT_ADDR+8STD
MOVAL,‘-’REPNESCASB
MOVCX,9最后一个‘-’在DI-1中
(4)LEADI,STUDENT_NAME(5)CLD
MOVAL,20HMOVCX,30
MOVCX,30LEASI,STUDENT_NAME
CLDLEADI,PRINT_LINE
REPESCASBREPMOVSB
JNENO-MATCHSTD
MOVCX,30MOVCX,9
LEADI,STUDENT_NAMELEASI,STUDENT_ADDR+8
MOVAL,‘﹡’LEADI,PRINT_LINE+131
REPSTOSBREPMOVSB
NO-MATCH:
HLT
************************************
3.32P112
LEASI,OLDS
LEADI,NEWS
MOVCX,5
CLD
REPZCMPSB
JNZNEW_LESS
************************************
3.33P112参看教材90页-91页内容
(1)CMPDX,CX
JAEXCEED
(2)CMPBX,AX
JGEXCEED
(3)CMPCX,0
JZZERO
(4)CMPBX,AX
JOOVERFLOW
(5)CMPBX,AX
JLEEQ_SMA
(6)CMPDX,CX
JBEEQ_SMA
************************************
3.34P112
(1)L1
(2)L1
(3)L2
(4)L5
(5)L5
************************************
3.35P112参看教材90页-91页内容
(1)JNBJBEJNLJLE
(2)JNBJBEJNLJLE
(3)JNBJNBEJLJLE
(4)JNBJNBEJNLJNLE
(5)JNBJNBEJNLJNLE
(6)JBJBEJLJLE
(7)JBJBEJLJLE
(8)JNBJNBEJLJLE
3.35答案另一种表现形式
AX
BX
JB
JNB
JBE
JNBE
JL
JNL
JLE
JNLE
1F52H
1F52H
×
√
√
×
×
√
√
×
88C9H
88C9H
×
√
√
×
×
√
√
×
FF82H
007EH
×
√
×
√
√
×
√
×
58BAH
020EH
×
√
×
√
×
√
×
√
FFC5H
FF8BH
×
√
×
√
×
√
×
√
09A0H
1E97H
√
×
√
×
√
×
√
×
8AEAH
FC29H
√
×
√
×
√
×
√
×
D367H
32A6H
×
√
×
√
√
×
√
×
************************************
3.36P112
2P>=qAX=1
2p************************************
3.37P112
MOVAL,STATUS
NOTAL
TESTAL,2AH
JZROUTINE_1
TESTAL,0AH
JZROUTINE_2
TESTAL,22H
JZROUTINE_2
TESTAL,28H
JZROUTINE_2
TESTAL,02H
JZROUTINE_3
TESTAL,08H
JZROUTINE_3
TESTAL,20H
JZROUTINE_3
JMPROUTINE_4
************************************
3.38P112
(1)LOOPL20
AX=5BX=10HDX=0CX=0
(2)LOOPEL20
AX=2BX=4DX=1CX=3
(3)LOOPNEL20
AX=3BX=7DX=0CX=2
3.39参看教材101页例3.82,教材98-99页内容
(1)
(2)
0400H
0A00H
0400H
(3)(4)
0100H
B200H
0A00H
0400H
0100H
B200H
0A00H
0400H
(5)(6)
0100H
0C00H
0A00H
0400H
0100H
0C00H
0A00H
0400H
0100H
0C00H
0A00H
0400H
(7)(8)
0100H
0C00H
0A00H
0400H
(9)
0100H
0C00H
0600H
1000H
39。
图略,请参看教材P101。
40.。
(1)00003100H
(2)5100H(3)7100H
41。
(1)目的地址:
2004H内容依次为:
56HF4H23H98H
(2)目的地址:
384CH内容依次为:
91H34HF2H01H
(3)目的地址:
寄存器,无物理地址~内容依次为:
92H6DHA2H4CH
42。
(1)PUSHAX
(SP)<------(SP)-2
(SP+1)<-----(AH)(SP)<------(AL)
(2)POPESI
(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)<-------(EDX)
(ESP-12)<-------(EBX)
(ESP-16)<-------(ESP);这里指的是指令执行前的ESP
(ESP-20)<-------(EBP)
(ESP-24)<-------(ESI)
(ESP-28)<-------(EDI)
(ESP)<-------(ESP)-32
(5)POPDS
(DS)<------((SP)+1,(SP))
(SP)<------(SP)+2
(6)PUSH4
(SP)<-------(SP)-2
(SP+1)<-----0
(SP)<------4
43。
(1)2CEFF93H
(2)24B76A0H
(3)9090804H(4)6F13ADH
44。
(1)0FFFFFFFCH
(2)0FFFFFFF8H
(3)00000007H(4)00000099H
45。
(EAX)=0(EBX)=25d
46。
(AX)=3d(DX)=7d
47。
ADDECX,EDX
ADDECX,ESI
MOVEDI,ECX
48。
IMULBX,DX,100H执行的操作是:
(BX)<-------(DX)*100H
49。
程序实现:
MOVAL,BL
CBW
IDIVCL
IMUL2
MOVDX,AX
50。
JMPDI是直接跳转,执行的操作是:
(IP)<-----(IP)+(DI)
JMP[DI]是间接跳转,执行的操作是:
(IP)<----(IP)+([DI])跳转到DI中所指向的内存单元中的指令地址~
51。
假设数组名为NUMBERS,程序如下~
MOVBX,0;后面用到~
MOVCX,100H;把循环次数放入CX
MOVAL,42H
MOVSI,0;初始化SI
;CHECK用来实现查找功能~
CHECK:
CMPAL,NUMBERS[SI]
INCSI
JBSTORE1;大于42H的数的个数存入UP
JASTORE2;小于42H的的数的个数存入DOWN中~
LOOPCHECK;相等继续循环~
STORE1INCBL;找到一个大于42的数,BL值增加1~
MOVUP,BL
LOOPCHECK
STORE2INCBH
MOVDOWN,BH
LOOPCHECK
52。
图略。