在这里,我试图将变量X(这是一个8位变量)移动到寄存器bx(这是一个16位寄存器).在这种情况下,如何将X的值移动到寄存器bx中?
.686p
.model flat,stdcall
.stack 2048
.data
X byte 5
ExitProcess proto, exitcode:dword
.code
start:
invoke ExitProcess, 0
mov bx, X; 1>p4.asm(13): error A2022: instruction operands must be the same size
end start ;what does the end statement do?
Run Code Online (Sandbox Code Playgroud)
除了Rahul的答案之外,如果你还需要将零点清零bh并且正在处理任何80386或更新的东西(如图所示.686p):
movzx bx, X
Run Code Online (Sandbox Code Playgroud)
如果您使用X作为有符号值并且需要签名扩展bx:
movsx bx, X
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2552 次 |
| 最近记录: |