jmp指令 直接跳转到指定的地方

jmp 00112244    //跳转的是地址

call指令  相当于 push IP  jmp 函数地址  或者 push CS PUSH IP JMP 函数地址

汇编学习第四讲

举个列子

这里的call地址是0040123e  执行这一句 它会先push  ip 但是实际上是push  ip+4 也就是将它的下一句保存下来 待会在出函数 ret时候就会通过这里返回到该函数的下一语句  然后 ip会进入call 指向的地址 也就是跳到执行的函数 这里是 00401110 我们看看执行结果

汇编学习第四讲

首先是ip变成了所说的地址了  

汇编学习第四讲

然后栈顶保存了 0040123e的下一位  也就是 00401243 没问题 

ret指令

相当于 pop ip  将刚入栈的ip 取出来 然后 跳转到那里去

汇编学习第四讲

mul  bx :将ax与bx相乘 然后结果保留在 dx:ax中 dx中是进位 也就是ax 中放不下的

div bx :就是将 dx:ax  来除 bx  商放到ax中 余数放在 dx中 

这里如果bx很小 但是被除数很大 比如 bx=1 商就等于 被除数  然后放在ax中 却放不下 那程序就会崩溃 这里是有问题的

 

相关文章:

  • 2021-06-26
  • 2021-04-18
  • 2021-08-20
  • 2022-12-23
  • 2021-07-04
  • 2021-04-13
猜你喜欢
  • 2021-09-16
  • 2021-07-07
  • 2021-08-07
  • 2021-12-23
  • 2022-01-11
  • 2021-12-10
相关资源
相似解决方案