如何用一个寄存器交换两个变量的内容(asm-simulator toy ISA)?

How to swap contents of two variables with one register (asm-simulator toy ISA)?

我是装配新手 我试图在此 link 中移动变量 https://schweigi.github.io/assembler-simulator/ 我试图改变 char1 和 char3

的内容
JMP start
char1: db "A"  
char2: db "B"
char3: db "C"
start:
    MOV A, [char1]
    MOV B, [char3]
    MOV [char3],A
    MOV [char1],B

现在我只想用一个寄存器来做(没有B),可以定义另一个变量 但我不明白如何在 2 个变量之间移动内容
能请教一下吗?

感谢 Vane

    JMP start
char1: db "D"  
char2: db "O"
char3: db "G"
start:
    MOV A, [char1]  
    PUSH A 
        MOV A, [char3]
    MOV [char1], A
    POP A
    MOV [char3], A

这里是(不推荐)异或方法

MOV A, [char1]
XOR A, [char3]
XOR [char1], A
XOR [char3], A

XOR 方法的讨论在这里:

  • How does XOR variable swapping work?