如何用一个寄存器交换两个变量的内容(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?
我是装配新手 我试图在此 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?