今天看王爽老师的汇编书,有这么一道题
我在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就已经很详细的告诉我们了.........
有些事急不得,慢慢来.通过这件事希望可以帮助后来人.