汇编语言指令STI,MUL,STD有什么作用呀?

大哥哥,大姐姐们,帮帮我呀!
2024-12-03 12:59:19
推荐回答(2个)
回答1:

在标志寄存器FLAGS中,8086/8088的标志寄存器有9个状态字。其中的两个DF(方向标志),IF(中断标志)。

DF专用于字符串操作指令,DF=1串操作指令中操作数地址自动递减,说明字符串的处理是从高地址向低地址方向进行;DF=0使串操作指令中操作数地址自动递增,说明字符串的处理是从低地址向高地址方向进行。可通过指令STD置DF=1,CLD置DF=0。

IF中断标志为1时,允许中断,为开中断,即CPU响应可屏蔽的外部中断请求(INTR);当IF=0时,为关中断,即CPU禁止响应可屏蔽的外部中断请求(INTR),中断允许标志只对可屏蔽的外部中断请求INTR起作用。可通过指令STI置IF=1,指令CLI置IF=0。

MUL为无符号乘法。指令格式为
MUL SRC
其中,指令的操作数SRC为源操作数,可以是寄存器或存储器,目的操作数为隐含操作数,该指令是单操作数指令。
指令功能:目的操作数(为隐含操作数,该操作数只能是AL或AX或EAX)乘源操作数(SRC),结果送目的操作数AX或DX:AX或EDX:EAX。
执行的操作:
字节乘法:AX《-AL×SRC
字乘法:DX:AX《-AX×SRC
双字乘法:EDX:EAX《-EAX×SRC

回答2:

mul是乘法
std和sti就应该是置寄存器值的
在汇编书上查的到是在一个表格里面你再找找。