王爽老师 汇编语言第二版的检测点3.1 关于IP、CS 3.1的第二问,叫我们写出CPU执行指令后,CS和IP的数值。我看答案发现,(所有语句都是如下现象,我举例一条语句):第一条。
王爽汇编语言 第二版 第三章 检测点3.1最后一空 00e6+0026=000c? 为什么不是010c 为什么舍去1? add add al,bl 单独使用的时候相当于一个独立的八位空间,和ah不影响的,注意 add ax,bx 才会 是那个结果 追问: 就是说:010c 高位01,低位0c(al)?因为add al,bl=只要求。
关于王爽汇编语言检测点6.1的问题的答案解惑 第一个程序:答案是可以的。解释:我们在前边用dw 0,0,0,0,0,0,0,0,0,0,0只是申请了十个内存单元的空间,在后边将其指定为堆栈时并不一定要用完。多余的两个内存单元里边仍然存储着0,只不过不属于栈的范围;第二个程序:程序运算过程是这样的:因为在整个循环体执行过程中ss,ds寄存器中的数是不变的,只有sp和bx在变,也就是栈顶位置和内存单元指针DS:[bx]在变。所以我们只观察sp和bx的变化。第一次循环:初始时(sp=36,bx=0;1.执行push(sp=sp-2=34,bx=0);2.执行pop(sp=sp+2=36,bx=0);3.执行add(sp=36,bx=2);第二次循环:1.执行push(sp=sp-2=34,bx=2);2.执行pop(sp=sp+2=36,bx=2);3.执行add(sp=36,bx=4);所以此程序一会入栈一会出栈,栈顶就在SS:34和SS:36之间不断切换,只有寻址内存单元0:0~0:15单元的指针DS:[bx]在不断增长,直到访问至0:14结束。