汇编学习 NO6

来源:互联网 发布:exshop建站 编辑:程序博客网 时间:2024/04/28 03:45
    1. 1.ret : 用栈中的数据,修改IP内容,从而实现近转移
  1. 2.retf : 用栈中的数据,修改CS和IP中的内容,从而实现远转移

3.CPU执行ret指令相当于:pop IP; 执行retf指令相当于: pop IP pop CS

  1. 4.call指令: CPU执行call指令时,进行两步操作: ①.将当前的IP或CS和IP压入栈中
  2.                                                                  ②.转移
    1. 5.call指令不能实现短转移,除此之外,call指令实现转移的方法和jmp指令的原理相同.
  3. 6."call 标号" : 进行如下操作:  ①.(sp)=(sp)-2 ((ss)*16+(sp))=IP
  4.                                            ②.(IP)=(IP)+16位移
  5.                      CPU执行"call 标号"指令相当于:push IP;  jmp near ptr bh
  6. 7."call far ptr 标号"实现的是段间转移,进行的操作为:①.(sp)=(sp)-2
  7.                                                                            ②.((ss)*16+(sp))=(CS)
  8.                                                                            ③.(sp)=(sp)-2
  9.                                                                            ④.((ss)*16+(sp))=(IP)
  10.      CPU执行"call far ptr 标号"时,相当于进行,push CS, push IP, jmp far ptr 标号

8.call 16位 寄存器:push IP ;jmp 16位寄存器

9.call word ptr 内存单元地址 : push IP ; jmp word ptr 内存单元地址

10.call dword ptr 内存单元地址 : push CS ,push IP ; jmp dword ptr 内存单元地址

11.mul 乘法指令 : ①.两个相乘的数:两个相乘的数,要么都是8位,要么都是16位,如果是8位,一个默认放在AL中,另一个放在8位寄存器或内存字节单元中:如果是16位,一个默认在AX中,另一个放在16位寄存器或内存单元中

                           ②.如果是8位乘法,结果默认放在AX中;如果是16位乘法,结果高位默认中DX中存放,低位在AX中放.

                                                                          

 

原创粉丝点击