首页 > 解决方案 > 注册值未正确更新

问题描述

我编写了以下汇编语言程序来确定al中的值是否为数字

INCLUDE Irvine32.inc
.data
randVal DWORD ?
.code

main PROC

IsDigit PROC
cmp al,'0'
jb ID1 
cmp al,'9'
ja ID1 
test ax,0 
ID1: ret
IsDigit ENDP

mov al, 'x'
call IsDigit
mov bl , 'y'
main ENDP
END main

这是我在调试模式下在寄存器中看到的内容。正如我已将 x 放入 al。x = 120 in ASCII = 78。
我希望在 AL 中看到 78。但事实并非如此:
在此处输入图像描述

我定义了一个名为 IsDigit 的过程,然后使用call IsDigit调用它。
这是调用汇编语言函数的正确方法吗?另外我在寄存器窗口中只看到主寄存器
有没有办法在视觉工作室中查看所有标志

标签: visual-studioassemblymasm

解决方案


推荐阅读