请问为什么cmpxchg8b执行不正常?
.model small
.586
.stack 64
.data
t db 31h, 32h, 33h, 34h, 35h, 36h, 37h, 38h, '$'
.code
.startup
mov eax, 31323334h
mov ebx, 35363738h
mov ecx, 35363738h
mov edx, 31323334h
cmpxchg8b qword ptr t
;这段是测试用的,看cmpxchg8b执行后zf到底是1还是0
mov ah, 2
jz a10
mov dl, '!'
jmp a20
a10:
mov dl, '?'
a20:
int 21h
lea dx, t
mov ah, 9
int 21h
.exit 0
end
那段测试结果表明zf=0,但是执行的结果始终是12345678