首页 > 代码库 > 自己总结:汇编寄存器冲突问题

自己总结:汇编寄存器冲突问题

寄存器冲突问题,解决方案:

在子程序的开始将子程序中所有用到的寄存器中的内容都保存起来,在子程序返回前再恢复。可以用栈来保存寄存器中的内容。

以后,我们编写子程序的标准框架如下:

子程序开始:子程序中使用的寄存器入栈

      子程序内容

      子程序中使用的寄存器出栈

      返回(ret、retf)

capital:    push cx    push si    change:    mov cl,[si]    mov ch,0    jcxz ok    and byte ptr [si],11011111b    inc si    jmp short changeok:    pop si    pop cx    ret

要注意寄存器入栈和出栈的顺序。

 

自己总结:汇编寄存器冲突问题