历些毛子种枝大” 4.6.1子程序调用和返回指令 XIDIAN UNIVERSITY ●3.子程序(过程) 的调用与返回 分两种情况: (1)指令的寻址方式为段内间接寻址,即当OPR为16位的通 用REG/16位MEM单元时,则子程序调用在段内进行; 其完成的操作有: P入栈; (IP)←(REG16)MEM。 徽机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn 12
4.6.1 子程序调用和返回指令 3.子程序(过程)的调用与返回 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn 12 分两种情况: (1)指令的寻址方式为段内间接寻址,即当OPR为16位的通 用REG/ 16位MEM单元时,则子程序调用在段内进行; 其完成的操作有: IP入栈; (IP)←(REG16)/MEM
历安毛子种枝大学 4.6.1子程序调用和返回指令 XIDIAN UNIVERSITY ●3.子程序(过程) 的调用与返回 分两种情况: (2)指令的寻址方式为段间间接寻址,即当OPR为32位的 MEM单元时,则子程序调用在段间进行; 其完成的操作有: CS入栈,P入栈; (IP)←-(MEM), (CS)←-(MEM+2)。 徽机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn 13
4.6.1 子程序调用和返回指令 3.子程序(过程)的调用与返回 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn 13 分两种情况: (2)指令的寻址方式为段间间接寻址,即当OPR为32位的 MEM单元时,则子程序调用在段间进行; 其完成的操作有: CS入栈,IP入栈; (IP)←(MEM),(CS)←(MEM+2)
历要毛子种枝大学 4.6.1子程序调用和返回指令 XIDIAN UNIVERSITY ●3.子程序(过程) 的调用与返回 子程序返回指令RET 子程序返回指令RET(Return from procedure)有三种格式: RET ;用于段内子程序的返回,完成P出栈, 即(IP)←-(SP) RETF ;用于段间子程序的返回,完成P出栈,CS出栈 RET n ;完成RET(或RETF)指令功能后,(SP)k-(SP)+n 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn 14
4.6.1 子程序调用和返回指令 3.子程序(过程)的调用与返回 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn 14 • 子程序返回指令RET 子程序返回指令RET(Return from procedure)有三种格式: RET ;用于段内子程序的返回, 完成IP 出栈, 即(IP)←(SP) RETF ;用于段间子程序的返回,完成IP 出栈,CS 出栈 RET n ;完成RET(或RETF)指令功能后,(SP)←(SP)+n
历安毛子种枝大学 XIDIAN UNIVERSITY 补充内容
补充内容
历安毛子种枝大” 8086汇编语言的完整结构 XIDIAN UNIVERSITY 用户程序的代码前一定有100个字节的程序段前 系统占用 缀(Program Segment Prefix,简称PSP),PSP给出 INT 20H 了用户的可执行文件(EXE)的若干控制信息。 程序段前缀 ·其中PSP的开始处(第1,2字节)有一条中断指令 用户数据区 NT20H的代码,通过它可以结束用户程序, 用户堆栈区 返回操作系统。 用户代码段 ·在用户程序执行完以后,通过执行NT20H指 令就可以返回DOS。 系统和 ROM占用 徽机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn
系统占用 INT 20H 程序段前缀 用户数据区 用户堆栈区 用户代码段 . . 系统和 ROM占用 • 用户程序的代码前一定有100个字节的程序段前 缀(Program Segment Prefix, 简称PSP),PSP给出 了用户的可执行文件(.EXE)的若干控制信息。 • 其中PSP的开始处(第1,2字节)有一条中断指令 INT 20H的代码,通过它可以结束用户程序, 返回操作系统。 • 在用户程序执行完以后,通过执行INT 20H指 令就可以返回DOS。 8086汇编语言的完整结构 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 dminghao@xidian.edu.cn 16