为什么add ax,1后 查看AX的数值没有改变???

xiaoxiao2021-02-28  102

今天看王爽老师的汇编书,有这么一道题

我在debug试了一下,出现了这个问题

(虽然0000:0000和0000:0010单元的数据不是和书上的不相同但没关系)

很明显,我使用的-R AX就是要看AX里面的内容的,但是AX是不是2662呢?很显然不是??

难道有错吗?没错,随后我又测试mov ax,1之后AX的值,发现AX不是期待的值,到底怎么回事????

网上找了一下相同的问题后,发现原来是自己忘了执行这条语句了,

原以为mov ax,1这条语句像shell一样一个回车后就执行了呢,原来并不是这样

需要我们自己手动执行指令! ! !! ! ! ! ! ! ! ! ! !!!!

做一个小小的测试,我们验证一下

我们在0000:0000开始的内存单元写上指令mov ax,9        功能就是把寄存器ax设置为9

我们知道cs:ip指向要指向下一条指令,

设置cs和ip的值执行刚才我们设置好的指令

-t执行该指令

具体如下

从这里我们看到AX的值确实改变了.

这个问题困惑了几个小时的时间,我以为dos和linux的终端差不多呢?

其实这件事反映更重要的事是王爽老师的书我读的太快了,细心的人可能会发现王爽老师在page43和page44就已经很详细的告诉我们了.........

有些事急不得,慢慢来.通过这件事希望可以帮助后来人.

转载请注明原文地址: https://www.6miu.com/read-57594.html

最新回复(0)