13完成卜列数制的转换。(1)101001108=()D=()H(2)O」1B=()D(3)25325=()B=()H(4)101101L101B=()H=()BCD解:(1)166,A6H(2)0.75(3)1111110L01B5FD4H(4)5B.AH,(10010001.011000100101)BCD1.5写出下列真值对应的原码和补码的形式。(1)X=-1110011B(2)X=-71D(3)X=+1001001B(1〉原码:1111OO11补码二1OOO11O1(2〉原F马畫11000111木卜?(马書1O111001(3〉原码:O1OO1OO1木卜码=0100190116写出符号数1O11O1O1B的反码和补码。解:11OO1O1O,11001()111.7己知X利Y的真值,求[X+Y|的补码。C1)X-111011IBY-^1011010BC2)X=56I>Y=-21D解=C1)111OOO11C2>OO1OOO112.158086/8088系统中,存储器为什么要分段?一个段最大为多少个字节?最小为多少个字节?解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。一个段最大为64KB,最小为16Bo2.16在8086/8088CPU中,物理地址和逻辑地址是指什么?已知逻辑地址为1FOO:38A0H,如何计算出其对应的物理地址?解:物理地址时CPU存取存储器所用的地址。逻辑地址是段和偏移地址形式的地址,即汇编语言程序中使用的存储器地址。若已知逻辑地址为1F00:38A0H,则对应的物理地址=1FOOI1X16+38A0H=228A0Ho247己知存储器物理地址为78A00H,计算出它所对应的逻辑地址。此结果惟一吗?解:物理地址可以对应于不同的逻辑地址。78A00H对应的逻辑地址可以是7000H:8A00H,7800H:0A00H,78A0H:0000H等.结果不是惟一的。2J9若CS=8000H,则当前代码段可寻址的存储空间的范围是多少?解(CS)=8000H时,当前代码段可寻址的存储空间范围为80000H~8FFFFHo23.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H.是多少?(1)MOVAX,BX(3)MOVAX,VAR(5)MOVAL,‘B'(7)MOVDX,[BP]请分别指出下列各条指令源操作数的寻址方式?它的物理地址(2)MOVDL,80H(4)MOVAX,VAR[BX][SI](6)MOVDI,ES:[BX]解:(1)寄存器寻址。因源操作数是寄存器,故寄存器BX就是操作数的地址.(2)立即寻址。操作数80H存放于代码段中指令码MOV之后。(3)直接寻址。(4)基址一变址一相对寻址.操作数的物理地址=(DS)X16+(SI)+(BX)+VAR=60000H+00A0H+0800H+0050H=608F0H(5)立即寻址(6)寄存器间接寻址.操作数的物理地址=(ES)X16+(BX)=20000H+0800H=20800H(7)寄存器间接寻址。操作数的物理地址=(SS)X16+(BP)=15000H+1200H=16200H(8)寄存器相对寻址.操作数的物理地址=(DS)X16+(BX)+20H=60000H+0800H+20H=60820H3.3假设(DS)=212AH,(CS)=0200H,(IP)=1200H,(BX)=0500H,位移量DATA=40H,(217A0H)=2300H,(217E0H)=0400H,(217E2H)=9000H试确定下列转移指令的转移地址.(1)JMPBX(2)JMPWORDPTR[BX](3)JMPDWORDPTR[BX+DATA]解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,以及段间的直接转移和间接转移地址。对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。(1)段内间接转移。转移的物理地址=(CS)X16+0500H=02000H+0500H=02500H(2)段内间接转移。转移的物理地址=(CS)X16+[BX]=(CS)Xl6+(217A0H)=02000H+2300H=04300H(3)段间间接转移。转移的物理地址=[BX+DATA][IP]=[DSXl6+BX+DATA[=[217E0]=(217E2H)Xl6+(217E0H)[CS]=[217E2H]=9000H=90000H+0400H=90400H3.4试说明指令MOVBX,5[BX]与指令LEABX,5[BX]的区别。解:前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.;后者是取偏移地址指令,执行的结果是(BX)=(BX)+5,即操作数的偏移地址为(BX)+5。3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSHAX后,(SP)=?,再执行指令PUSHBX及POPAX之后,(SP)=?(AX)=?(BX)=?解:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSHAX指令后,(SP)=22FEH;再执行PUSHBX及POPAX后,(SP)=22FEH,(AX)=(BX)=1234H3.6指出下列指令的错误:(1)MOVAH,CX(2)MOV33H,AL(3)MOVAX,[SI][DI](4)MOV[BX],[SI](5)ADDBYTEPTR[BP],256(6)MOVDATA[SI],E...