安防监控知识
电气知识|子程序调用指令
2017-01-20  浏览:65
安防之家讯:程序中有些部分可能要实现相同的功能,而且这些功能需要用到,用子程序实现这个功能是很适合的。子程序通常是与主程序分开的、完成特定功能的一段程序。当主程序(调用程序)需要执行这个功能时,就可以调用该子程序(被调用程序);于是,程序转移到这个子程序的起始处执行。当运行完子程序后,再返回调用它的主程序。子程序由主程序执行子程序调用指令 CALL 来调用;而子程序执行完后用子程序返回指令 RET ,返回主程序继续执行。 CALL 和 RET 指令均不影响标志位。

子程序结构相当于高级语言中的过程。为便于模块化程序设计,往往把程序中某些具有独立功能的部分编写成独立的程序模块,称为子程序。

1 .子程序调用指令 CALL

(1)段内直接调用

格式: CALL DST

执行操作: PUSH (IP)

(IP)<-(IP)+D16

DST 给出转向地址, D16 为机器指令中的位移量,是转向地址和返回地址之间的差值。

(2) 段内间接调用

格式: CALL DST

执行操作: PUSH (IP)

(IP)<-(EA)

指令中的 DST 可使用寄存器寻址方式或任一种存储器寻址方式,由指定的寄存器或存储单元的内容给出转向地址。

(3) 段间直接调用

格式: CALL DST

执行操作: PUSH (CS) PUSH (IP)

(CS)<-DST 指定段地址

(IP)<-DST 指定偏移地址

(4) 段间间接调用

格式: CALL DST

执行操作: PUSH (CS)

PUSH (IP)

(IP)<- ( EA )

(CS)<- ( EA+2 )

EA 是由 DST 的寻址方式确定的有效地址,可用任一种存储器寻址方式来取得。 2 .返回指令 RET

(1)语句格式: RET ; (IP)<-POP()

(2)语句格式: RET EXP;

在完成出栈操作后,还要修改堆栈指针

安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 安防 的产品:
  • 安防监控资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved