第14章 模块化程序设计.pptVIP

  • 10
  • 0
  • 约1.18万字
  • 约 64页
  • 2017-09-06 发布于江苏
  • 举报
第14章 模块化程序设计 14.1 段间调用 14.2 定义外部标识符伪指令 14.3 使用EXTRN和PUBLIC的范例 14.4 在指令段使用PUBLIC 14.5 在数据段使用PUBLIC 14.6 参数传送 14.7 C语言与汇编语言的链接 14.1 段 间 调 用 前面介绍的CALL 指令都是段内的调用,即在同一个指令段内。段内调用的CALL指令范围为0000H~FFFFH。一条段内调用指令(CALL) 的目的码是3个字节长度,例如: E8 2000 (0020) ;十六进制 十六进制E8是段内调用指令(CALL)机器指令的操作码,其操作是先把当前IP指令指针寄存器的值压入堆栈保存,这个值是CALL的下一条指令地址;然后,再把被调用的子程序的偏移地址(2000逆序)值送入IP 寄存器,IP=0020。微处理器把当前CS的值和IP的值相结合形成物理地址,此地址指向被调用子程序的第1字节。当子程序的执行中,遇到RET指令离开子程序返回时,RET指令会从堆栈中弹出IP的保留值,并把它装入IP,使程序返回到CALL的下一条指令继续执行,这个过程是段内调用。 其特点是在子程序调用、返回过程中段寄存器CS不变化,只有指令指针寄存器IP发生变化。主

文档评论(0)

1亿VIP精品文档

相关文档