我的变量没有改变( mov [exm],400 )
my variables does not change ( mov [exm],400 )
我是汇编的新手,我正在尝试编写一个程序来计算完美平方根数的平方根。
当我立即移动某些东西时,我的变量不会改变,
检查屏幕截图中的变量框
我的代码:
.data
number dw ?
result dw ?
.code
main proc
mov [number],400
mov cx,0
calc:
mov ax,cx
mul cx
cmp ax,[number]
jz save
inc cx
jmp calc
save:
mov [7102],cx
hlt
endp
end main
我无意中找到了我的问题的答案,为了看到变量的变化,你必须在DS寄存器中保存你的数据段地址,为此你可以使用下面的代码!
mov AX,[DATA] ;[DATA] means the address of data segment like &DATA in C
mov DS,AX
注意不能直接在DS寄存器中存放数据段地址,因为DS寄存器不能直接访问内存!
我是汇编的新手,我正在尝试编写一个程序来计算完美平方根数的平方根。 当我立即移动某些东西时,我的变量不会改变, 检查屏幕截图中的变量框
我的代码:
.data
number dw ?
result dw ?
.code
main proc
mov [number],400
mov cx,0
calc:
mov ax,cx
mul cx
cmp ax,[number]
jz save
inc cx
jmp calc
save:
mov [7102],cx
hlt
endp
end main
我无意中找到了我的问题的答案,为了看到变量的变化,你必须在DS寄存器中保存你的数据段地址,为此你可以使用下面的代码!
mov AX,[DATA] ;[DATA] means the address of data segment like &DATA in C
mov DS,AX
注意不能直接在DS寄存器中存放数据段地址,因为DS寄存器不能直接访问内存!