首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 組合語言

匯編基礎:程序返回操作系統的兩種實現方式

     編輯:組合語言

背景

.EXE 執行時,DOS 將控制權移交程序,結束需返回 DOS。兩種方式:

1. INT 21H 4CH 功能 (僅主程序)

MOV AH, 4CH
INT 21H

子程序不可用,否則直接退出整個程序。

2. 程序段前綴 (PSP) 返回法 (通用)

DOS 裝載 .EXE 時,在程序前建立 256 字節 PSP,DS/ES 指向 PSP。PSP 首地址含 INT 20H (終止程序)。

步驟:

  1. 主程序定義為 FAR 過程。
  2. 入口處 PUSH DS 將 PSP 段地址 (含 INT 20H) 壓棧。
  3. 過程結束用 RET,彈出 PSP 地址到 CS:IP,執行 INT 20H 返回 DOS。

此法適用於任何 FAR 過程入口,兼容性更好。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved