首先,你应该知道debug 的简单命令:
-u 反汇编
-g [range]执行到指定。。
-d [adress] 查看内存
这样,你想看c的值,就用-d命令查看c所在的内存
下面给你截了个小图,自己试试吧!
需要注意的是数据在内存中是小端存储,简单的说,前面你把c定义成字,内存中低八位应在高八位的前面....
另外,完全可以通过系统调用将c的值显示在显示器上...
好了,给分吧!
代码没有问题!
请问你是怎么看的?
debug加载源文件,跟踪到mov c,ax,并执行,查看c的内容,看AX也一样的,然后跟踪直到退出。
c的值是0绝对超小概率事件,你运气很不错!
,
a b是标号,所以想用在代码段中,必须把他们所在的段和某寄存器联系起来,你题中是把DATA的数据段跟CS联系起来,所以,应该再用一个寄存器来作为偏移。
如
mov si, 0
然后
mov ax,a[si]
add si, 2
add ax,b[si]
这样才可以。
我的怀疑是 dw,毕竟 ax 只是16位的寄存器,不是 eax
你用的是什么编译器?用Tc的话可以用Alt+F5查看,或者在最后加getch();
用Vc的话可以采用断点标志,将光标移动到最后一行,在点击一下菜单栏里的小手,再运行就可以了