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

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

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

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

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

      子程序内容

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

      返回(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 change

ok:
    pop si
    pop cx
    ret

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

原文地址:https://www.cnblogs.com/LittleRedPoint/p/4019330.html