汇编语言中,SI DI 的作用是什么?

2024年12月05日 01:00
有2个网友回答
网友(1):

SI是源变址寄存器,用于存放源操作数的偏移地址,并且SI的内容有自动修改的功能,故称为源变址寄存器。

DI是目的寄存器,用于存放目的操作数的偏移地址,并且DI的内容有自动修改的功能,故称为目的变址寄存器。

DI和SI

这两个属于变址寄存器,可以和bx.bp联用,但是和bx连用时,段地址在DS中,和bp联用时,段地址在SS中,也可以单独使用,单独使用时,段地址默认在DS中,想要越段使用,加上段前缀即可。

在串指令操作中,si和ds联用,确定目标源地址,di和es(附加段寄存器)联用,确定传送的目的地址,就是分别寻址数据段和附加段。

在串指令中,si和di具有自加和自减功能。

扩展资料:

由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。

这部分指令用于执行算术和逻辑运算,包括加法指令ADD/ADC、减法指令SUB/SBB、加一指令INC、减一指令DEC、比较操作指令CMP、乘法指令MUL/IMUL、除法指令DIV/IDIV、符号扩展指令CBW/CWDE/CDQE、十进制调整指令DAA/DAS/AAA/AAS等。

优点

汇编语言作为机器语言之上的第二代编程语言,它也有很多优点:

1、可以轻松的读取存储器状态以及硬件I/O接口情况。

2、编写的代码因为少了很多编译的环节,可以能够准备的被执行。

3、作为一种低级语言,可扩展性很高。

缺点

1、因为代码非常单调,特殊指令字符很少,所以造成了代码的冗长以及编写的困难。

2、因为汇编仍然需要自己去调用存储器存储数据,很容易出现BUG,而且调试起来也不容易。

3、就算完成了一个程序,后期维护时候也需要耗费大量的时间。

4、因为机器的特殊性造成了代码兼容性差的缺陷。

参考资料来源:百度百科-汇编语言 (面向机器的程序设计语言)

网友(2):

SI是源变址寄存器,用于存放源操作数的偏移地址,并且SI的内容有自动修改的功能,故称为源变址寄存器。DI是目的寄存器,用于存放目的操作数的偏移地址,并且DI的内容有自动修改的功能,故称为目的变址寄存器。