我发现了一个好办法来看汇编代码——代码分块法,用铅笔给代码打上方框块,能更快地阅读代码。
实现子程序设计的转移指令
ret用栈中的数据,修改IP的内容,实现近转移
CPU执行ret指令时:
(1)(IP)= ((ss) * 16 + (sp))
(2)(sp) =(sp) + 2
相当于pop IP
retf用栈中的数据,修改CS和IP的内容,实现远转移
CPU执行retf指令时:
(1)(IP) = ((ss)*16 + (sp))
(2)(sp) = (sp) + 2
(3)(CS) = ((ss) * 16 + (sp))
(4)(sp) = (sp) + 2
相当于pop IP
pop CS
call指令(不能用于短转移)
(1)将当前的IP或CS和IP压入栈中
(2)转移
重点:子程序的编写方法
使用方法:在code segment段中编写一段子程序,并在主程序中call这个子程序。
1、显示字符串
首先写出四个要素:
名称:
功能:
参数:
返回:
2、