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、因为机器的特殊性造成了代码兼容性差的缺陷。
参考资料来源:百度百科-汇编语言 (面向机器的程序设计语言)
SI是源变址寄存器,用于存放源操作数的偏移地址,并且SI的内容有自动修改的功能,故称为源变址寄存器。DI是目的寄存器,用于存放目的操作数的偏移地址,并且DI的内容有自动修改的功能,故称为目的变址寄存器。