CLI 全称 Clear Interupt
STI 全称 Set Interupt
CLD 全称 Clear Director
STD 全称 Set Director
CLI和STI是用来屏蔽中断和恢复中断用的,如 设置栈基址SS和偏移地址SP时,需要CLI,因为如果这两条指令被分开了,那么很有可能SS被修改了,但由于中断,而代码跳去其它地方执行了,SP还没来得及修改,就有可能出错。
CLD和STD是在字行块传送时使用的,它们决定了块传送的方向,如
CLD
push es
pop ds
mov di,1000h
mov si,2000h
mov cx,100h
rep movsb
那么相当于
mov cx,100h
next:
mov es:[di],ds:[si]
add di
add si
loop next
所以CLD是使得传送方向从低地址到高地址,而STD就刚好相反了。
CLI和STI挺好分辨的,Clear Interupt清除中断,就相当于屏蔽了,而STI设置中断,也就是启用了。
CLD和STD要咋记。。。没想到