1、(3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。(4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。(5) 把数0B5H与(AL)相加,并把结果送回AL中。(1) ADD DX, BX(2) ADD AL, BXSI(3) ADD BX+0B2H, CX(4) ADD WORD PTR 0524H, 2A59H(5) ADD AL, 0B5H3.3 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻
2、址(3) 基址变址寻址(1) MOV BX, OFFSET BLOCKADD BX, (61)*2MOV DX, BX(2) MOV BX, OFFSET BLOCK 改为: MOV BX, (6-1)*2MOV DX, BX+(61)*2 也可 MOV DX, BLOCKBX(3) MOV BX, OFFSET BLOCKMOV SI, (61)*2MOV DX, BXSI3.4 FFH00H80H3.6题的作图表示10H1B00:2000H2001H2002H2003H8000:FF10HFF11H?(AL)(AH)现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(2
3、0100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。(1) MOV AX, 1200H(2) MOV AX, BX(3) MOV AX, 1200H(4) MOV AX, BX(5) MOV AX, 1100BX(6) MOV AX, BXSI(7) MOV AX, 1100BXSI(1) (AX)=1200H(2) (AX)=0100H(3) (AX)=4C2AH(4) (AX)=3412H(5)
4、(AX)=4C2AH(6) (AX)=7856H(7) (AX)=65B7H3.5 给定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,试为以下的转移指令找出转移的偏移地址。(1) 段内直接寻址(2) 使用BX及寄存器间接寻址方式的段内间接寻址(3) 使用BX及寄存器相对寻址方式的段内间接寻址(1) JMP NEAR PTR 5119H ;(IP)=5119H+(IP)+03H)=7CDCH,物理地址PA=09CDCH(IP)+03H是JMP NEAR PTR 5119H指
5、令的下一条指令的首地址。(2) JMP WORD PTR BX ;(IP)=(DS)*10H+(BX)=0600H,PA=02600H(3) JMP DBX ;(IP)=(DS)*10H+(BX)+D)=098AH,PA=0298AH3.6 设当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H单元内,含有一个内容为0FF10H和8000H的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX的指令序列,并画图表示出来。MOV BX, 2000HLES BX, BXMOV AX, ES:BXMOV BX, 2000H ;图示如上所示。MOV AX, 2000H+2M
6、OV ES, AXMOV AX, ES:3.7 在0624H单元内有一条二字节JMP SHORT OBJ指令,如其中位移量为(1) 27H,(2) 6BH,(3) 0C6H,试问转向地址OBJ的值是多少?(1) OBJ=0624H+02H+27H=064DH(2) OBJ=0624H+02H+6BH=0691H(3) OBJ=0624H+02H+0C6H=05ECH ;C6H对应的负数为-3AH(向上转移,负位移量)3.8 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址为00
7、50H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?(1) MOV AX, 0ABH (2) MOV AX, BX(3) MOV AX, 100H (4) MOV AX, VAL(5) MOV AX, BX (6) MOV AX, ES:(7) MOV AX, BP (8) MOV AX, SI(9) MOV AX, BX+10 (10) MOV AX, VALBX(11) MOV AX, BXSI (12) MOV AX, VALBXSI(1) 立即方式; 操作数在本条指令中(2) 寄存器寻址方式; 操作数为 (BX)=0100H(3) 直接寻址方式; PA=20100H(4
8、) 直接寻址方式; PA=20050H(5) BX寄存器间接寻址方式; PA=20100H(6) 附加段BX寄存器间接寻址方式; PA=21100H(7) BP寄存器间接寻址方式; PA=15010H(8) SI寄存器间接寻址方式; PA=200A0H(9) BX寄存器相对寻址方式; PA=20110H(10) BX寄存器相对寻址方式; PA=20150H(11) BX和SI寄存器基址变址寻址方式; PA=201A0H(12) BX和SI寄存器相对基址变址寻址方式; PA=201F0H3.9 在ARRAY数组中依次存储了七个字数据,紧接着是名为ZERO的字单元,表示如下:ARRAY DW 23
9、, 36, 2, 100, 32000, 54, 0ZERO DW ?(1) 如果BX包含数组ARRAY的初始地址,请编写指令将数据0传送给ZERO单元。(2) 如果BX包含数据0在数组中的位移量,请编写指令将数据0传送给ZERO单元。(1) MOV AX, BX+(7-1)*2MOV BX+(7)*2, AX(2) MOV AX, ARRAY BXMOV ARRAY BX+2, AX3.10 0AH14H1EH28H32HTABLETABLE+33.11题的TABLE存储方式如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,试问以下两条指令有什么区别?指令执行完后AX寄
10、存器的内容是什么?MOV AX, TABLELEA AX, TABLEMOV AX, TABLE是将TABLE单元的内容送到AX,(AX)=1234HLEA AX,TABLE是将TABLE单元的有效地址送到AX,(AX)=0032H3.11 执行下列指令后AX寄存器中的内容是什么?TABLE DW 10, 20, 30, 40, 50 ;000AH, 0014H, 001EH, 0028H, 0032HENTRY DW 3MOV BX, OFFSET TABLEADD BX, ENTRYMOV AX, BX(AX)=1E00H (TABLE的存储方式如右图所示)3.12 下列ASCII码串(包
11、括空格符)依次存储在起始地址为CSTRING的字节单元中:CSTRING DB BASED ADDRESSING请编写指令将字符串中的第1个和第7个字符传送给DX寄存器。MOV DH, CSTRINGMOV DL, CSTRING+7-13.13 已知堆栈段寄存器SS的内容是0FFA0H,堆栈指针寄存器SP的内容是00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令。试画出堆栈区和SP的内容变化过程示意图(标出存储单元的物理地址)。堆栈区和SP的内容变化过程示意图如下左图所示。79H0FH57HFFAACHFFAB0H3.13题的堆栈区和SP的内容变化过程
12、示意图FFAAEH首次进栈(SP)(SP)-2再次进栈(SP)(SP)-2出栈时(SP)(SP)+28000H20003.14题的存储区情况2B00HX20022B00:80003.14 设(DS)=1B00H,(ES)=2B00H,有关存储单元的内容如上右图所示。请写出两条指令把字变量X装入AX寄存器。MOV BX, 2000H3.15 求出以下各十六进制数与十六进制数62A0H之和,并根据结果设置标志位SF、ZF、CF和OF的值。(1) 1234H (2) 4321H (3) CFA0H (4) 9D60H(1) 和为74D4H;SF=0,ZF=0,CF=0,OF=0(2) 和为A5C1H;SF=1,ZF=0,CF=0,OF=1(3) 和为3240H;SF=0,ZF=0,CF=1,OF=0(4) 和为0000H;SF=0,ZF=1,CF=1,OF=03.16 求出以下各十六进制数与十六进制数4AE0H的差值,并根据结果设置标志位SF、ZF、CF和OF的值。(1) 1234H (2) 5D90H (3) 9090H (4) EA04H(1) 差为C754H;SF=1,ZF=0,CF=1,OF=0(2) 差为12B0H;(3) 差为45B0H;SF=0,ZF=0,CF=0,OF=1(4) 差为9F24H;SF=1,ZF=0
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1