己知(DS)=1234H,(SI)=0124H,(12464H)=30ABH,(12484H)=0464H,程序段如下: LEA SI,[SI]
时间: 2023-08-21 17:05:50 浏览: 69
这段程序的作用是将 SI 寄存器的值(0124H)加载到 SI 寄存器中,也就是说,SI 寄存器的值并没有发生改变。指令的具体含义如下:
LEA SI,[SI]:将以 SI 寄存器的值(0124H)为基址,以 SI 寄存器的值(0124H)为偏移地址的内存地址(即(0124H+0124H)=0248H)的值加载到 SI 寄存器中。由于该地址处的数据是未知的,因此该指令的作用仅仅是将 SI 寄存器的值加载到 SI 寄存器中。
相关问题
2.己知(DS)=1234H,(SI)=0124H,(12464H)=30ABH,(12484H)=0464H,程序段如下: LEA SI,[SI] MOV AX,[SI] MOV [SI+22H],1200H LDS SI,[SI+20H] ADD AX,[SI] 请问:上述程序段执行后(DS)=(1),(SI)=(2),(AX)=(3)。
好的,让我来帮你分析一下这段程序的执行过程和结果。
首先,根据程序段中的第一条指令 LEA SI,[SI],可以得知将 SI 寄存器的值(0124H)加载到了 SI 寄存器中,也就是说,SI 的值并没有发生改变。
接下来的指令是 MOV AX,[SI],将 SI 寄存器中的值(0124H)作为偏移地址,将该地址处的内容(30ABH)加载到 AX 寄存器中,因此,此时 AX 的值为 30ABH。
然后是 MOV [SI+22H],1200H,将 AX 寄存器中的值(30ABH)存储到以 SI 寄存器的值(0124H)为基址,偏移地址为 22H 的内存单元中,也就是(12464H+22H=12486H)的位置,因此,(12486H)的值变为了 1200H。
接下来的指令是 LDS SI,[SI+20H],将以 SI 寄存器的值(0124H)为基址,偏移地址为 20H 的内存单元中的数据读取到 DS 寄存器和 SI 寄存器中,因此,此时 DS=0464H,SI=1234H。
最后一条指令是 ADD AX,[SI],将 SI 寄存器中的值(1234H)作为偏移地址,将该地址处的内容(0464H)加到 AX 寄存器中,因此,此时 AX 的值变为 30ABH+0464H=3B6FH。
因此,最终的结果是:(DS)=0464H,(SI)=1234H,(AX)=3B6FH。
希望这个例子能够帮助你理解微型计算机指令系统的相关知识。
在实模式下,假设(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H,有以下程序段: LEA SI,[SI] MOV AX,[BX] MOV [SI+22H],1200H LDS SI,[SI+20H] ADD AX,[SI] 上述程序段执行后 (DS)= , (SI)= , (AX)= 。
根据程序段执行后的结果,我们可以逆推出程序执行前的内存状态。
首先,LEA指令将SI的值更新为[SI],即124H处的值30ABH。因此,此时(SI)=30ABH。
接着,MOV AX,[BX]将[BX]处的值读入AX寄存器。由于程序段中没有给出[BX]的值,我们无法确定AX的值。
然后,MOV [SI+22H],1200H将1200H写入[SI+22H]处,即30ABH+22H=30CDH处。因此,此时(30CDH)=1200H。
继续执行,LDS SI,[SI+20H]指令将[SI+20H]处的值作为地址加载到DS:SI中。由于此时(SI)=30ABH,因此DS:SI指向(30ABH+20H)=30CBH处的内存单元。根据该内存单元中的值,将DS设置为464H,SI设置为1234H。因此,此时(DS)=464H,(SI)=1234H。
最后,ADD AX,[SI]将AX和[SI]处的值相加,并将结果存回AX中。由于此时(SI)=1234H,因此[SI]处的值为(1234H)=464H。因此,AX的值为原来的值加上464H。
综上所述,程序段执行后,(DS)=464H,(SI)=1234H,(AX)的值取决于[BX]的值,无法确定。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)