2、执行以下程序,当执行了“LDS BX,[SI+2]”指令后,DS=?BX=?LDS指令是否可以被“LDS BX,VAR1+2”指令所取代?最后请画出数据段的存储示意图。 DSEG SEGMENT VAR1 DD 12345678H VAR2 DD 23456789H DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,VAR1 LDS BX,[SI+2] MOV AH,4CH INT 21H CSEG ENDS END START
时间: 2024-01-27 07:06:13 浏览: 114
将地址指针装到DS和另一个寄存器的指令-单片机指令系统
执行完“LDS BX,[SI+2]”指令后,DS的值不变,仍为DSEG的段地址;而BX的值被设置为VAR1+2的内存地址处的值,即BX=3456789H。
“LDS BX,VAR1+2”指令不能替代“LDS BX,[SI+2]”指令,因为LDS指令将一个内存地址及其所在的段地址装入寄存器,而VAR1+2是一个地址计算表达式,无法直接获取内存地址及其所在的段地址。
数据段的存储示意图如下:
```
+--------+
VAR1: | 78 |
+--------+
| 56 |
+--------+
| 34 |
+--------+
| 12 |
+--------+
VAR2: | 89 |
+--------+
| 67 |
+--------+
| 45 |
+--------+
| 23 |
+--------+
```
阅读全文