電工學習網

 找回密碼
 立即注冊

子程序調用指令

2015-3-22 08:56| 編輯:電工學習網| 查看: 5610| 評論: 0

摘要: 程序中有些部分可能要實現相同的功能,而且這些功能需要用到,用子程序實現這個功能是很適合的。子程序通常是與主程序分開的、完成特定功能的一段程序。當主程序(調用程序)需要執行這個功能時,就可以調用該子程序 ...
    程序中有些部分可能要實現相同的功能,而且這些功能需要用到,用子程序實現這個功能是很適合的。子程序通常是與主程序分開的、完成特定功能的一段程序。當主程序(調用程序)需要執行這個功能時,就可以調用該子程序(被調用程序);于是,程序轉移到這個子程序的起始處執行。當運行完子程序后,再返回調用它的主程序。子程序由主程序執行子程序調用指令 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;
在完成出棧操作后,還要修改堆棧指針

上一篇:循環指令下一篇:中斷指令 收藏

看過《子程序調用指令》的人還看了以下文章:

發表評論

最新評論

|電工學習網 ( )

GMT+8, 2020-3-30 18:13

Powered by © 2011-2020 www.jeefkt.live 版權所有 免責聲明 不良信息舉報

技術驅動未來! 電工學習網—專業電工基礎知識電工技術學習網站。

欄目導航: 工控家園 | 三菱plc | 西門子plc | 歐姆龍plc | plc視頻教程

返回頂部
黑龙江快乐10分开奖查询 辽宁快乐12选5 000427股票行情 广东快乐十分稳赢方 股票行情 走势图 今3d开奖结果 私募基金配资 网球*赛 浙江宝宝游戏安卓下载安装 贵阳捉鸡麻将微乐 恒大亚冠比赛直播 贵阳麻将技巧 亳州期货配资 湖北省快三开奖号码 娃哈哈股票最新价格 今天浙江20选5开 云南星悦麻将丽江卡星五