在用寄存器cx进行计数时,怎么防止其他代码更改它的值?
assume cs:codecode segment
start:
mov ax,0ffffH
mov ds,ax
mov bx,0
mov cx,12
mov dx,0
s:
mov al,ds:
inc bx
mov ah,0
add dx,ax
loop s
mov ax,4c00H
int 21H
我在学上面这段累加算法代码时,突然想到,如果在多任务系统中,上面这段程序运行被暂停,突然跳到其它程序,如果其他程序把cx的值更改了,那原来这段代码不是就出现问题了吗?这一点很令我费解。 想弄懂这个,你就去学操作系统原理吧。 我觉的栈能解决你说的这个问题,原理是,他如果干别的,就会先把cx保存起来
页:
[1]