汇编语言:BX,BP,SP,基址寄存器,基址指针,堆栈指针。他们的段寄存器默认都为SS? 那么这几个寄存器之间
1个回答
展开全部
只有BP作为间址寄存器时,段寄存器才缺省使用SS。
用BX, SI, DI这三个寄存器作为间址寄存器时,都缺省使用DS作为段寄存器。
SP是不可以作为间址寄存器使用的。它只是在堆栈操作时(比如PUSH,CALL等)与SS配合指示栈顶。它也可作为一般数据寄存器存放数据和参与运算。不过,由于堆栈的重要性,一般除了特别需要处理堆栈时才使用外,应尽量避免用它作数据寄存或运算。
要看出标志位的值,最好是掌握标志位的英文表示。
比如:
溢出标志OF是Overflow Flag的缩写,在DEBUG中用"NV"表示Not oVerflow(OF=0),用"OV"表示OVerflow(OF=1)
方向标志DF表示串操作时地址改变的方向,DF=0是地址增加,向上调整,用"UP"表示。DF=1是减小,用"DN"(DowN)
"EI"是Enable Interrupt,允许中断,IF=1. "DI"是Deny Interrupt ,拒绝中断,IF=0
"ZR"是Zero,运算结果为0,ZF=1。 “NZ”是Not Zero,结果不是0,ZF=0
其它几个都类似这样,一般教材上都有解释。
这样搞懂英文含义去记,就容易了。
当然,也可以死记硬背,只是效率低,难记,且记不牢。
用BX, SI, DI这三个寄存器作为间址寄存器时,都缺省使用DS作为段寄存器。
SP是不可以作为间址寄存器使用的。它只是在堆栈操作时(比如PUSH,CALL等)与SS配合指示栈顶。它也可作为一般数据寄存器存放数据和参与运算。不过,由于堆栈的重要性,一般除了特别需要处理堆栈时才使用外,应尽量避免用它作数据寄存或运算。
要看出标志位的值,最好是掌握标志位的英文表示。
比如:
溢出标志OF是Overflow Flag的缩写,在DEBUG中用"NV"表示Not oVerflow(OF=0),用"OV"表示OVerflow(OF=1)
方向标志DF表示串操作时地址改变的方向,DF=0是地址增加,向上调整,用"UP"表示。DF=1是减小,用"DN"(DowN)
"EI"是Enable Interrupt,允许中断,IF=1. "DI"是Deny Interrupt ,拒绝中断,IF=0
"ZR"是Zero,运算结果为0,ZF=1。 “NZ”是Not Zero,结果不是0,ZF=0
其它几个都类似这样,一般教材上都有解释。
这样搞懂英文含义去记,就容易了。
当然,也可以死记硬背,只是效率低,难记,且记不牢。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询