6 子程序定义伪指令 格式:〈过程名〉PROc[NEAR](或[FAR]) 〈过程名〉ENDP 过程名是自定义符。定义过程是为实现子程序调用 而设的。 调用格式为: CALL〈过程名〉 过程由RET指令返回,它可以不是最后一条指令, 它在过程中可以设多点返回。并且过程起始名和终 止名必须相同。 微机原理及应用
6 微机原理及应用 子程序定义伪指令 ◼ 格式:〈过程名〉PROC [NEAR](或[FAR]) ::: 〈过程名〉ENDP 过程名是自定义符。定义过程是为实现子程序调用 而设的。 ◼ 调用格式为: CALL 〈过程名〉 过程由RET指令返回,它可以不是最后一条指令, 它在过程中可以设多点返回。并且过程起始名和终 止名必须相同
例题 CODE SEG SEGMENT BEGIN PROC FAR CALL NEAR A CODE SEG1 SEGMENT B PROC FAR CALL FAR B RET BEGIN ENDP B ENDP A PROC NEAR CODE SEG1 ENDS RET A ENDP l!lllllll CODE SEG ENDS 微机原理及应用
7 微机原理及应用 例 题 CODE_SEG SEGMENT BEGIN PROC FAR … CALL NEAR A … CALL FAR B … BEGIN ENDP A PROC NEAR … RET A ENDP CODE_SEG ENDS CODE_SEG1 SEGMENT B PROC FAR … RET B ENDP CODE_SEG1 ENDS
8 定位伪指令 格式: 计算值为 非负常数 ORG〈表达式〉 该伪指令把以下语句定义的内存数据或程序,从表 达式指定的起点(偏移地址)开始连续存放,直至遇 到新的ORG指令。表达式的值是一个无符号数。 DATA SEGMENT ORG 0100H DS:010011 22 D1DB11H,22H,33H 33 DATA ENDS 微机原理及应用
8 微机原理及应用 定位伪指令 ◼ 格式: ORG 〈表达式〉 该伪指令把以下语句定义的内存数据或程序,从表 达式指定的起点(偏移地址)开始连续存放,直至遇 到新的ORG指令。表达式的值是一个无符号数。 DATA SEGMENT ORG 0100H D1 DB 11H,22H,33H DATA ENDS 11 22 33 DS:0100 计算值为 非负常数
9 43系统功能调用 Dos功能调用髙级调用,操作系统提供 B|OS功能调用低级调用 、系统功能调用概述 为给编写汇编语言源程序提供方便,MS-DOS系统 中设置了几十个内部子程序,它们可完成ⅣO设备管 理、存储管理、文件管理和作业管理等功能。其入 口地址已由系统置入中断入口地址表中,在汇编语 言源程序中可用软件中断指令调用它们。 微机原理及应用
9 微机原理及应用 4.3 系统功能调用 一、系统功能调用概述 ◼ 为给编写汇编语言源程序提供方便,MS-DOS系统 中设置了几十个内部子程序,它们可完成I/O设备管 理、存储管理、文件管理和作业管理等功能。其入 口地址已由系统置入中断入口地址表中,在汇编语 言源程序中可用软件中断指令调用它们。 DOS 功能调用 高级调用,操作系统提供 BIOS功能调用 低级调用
10 D0s功能调用 包含多个子功能的功能包,用软中断指令调 用,中断类型码固定为21H 各子功能采用功能号来区分 微机原理及应用
10 微机原理及应用 DOS 功能调用 ◼ 包含多个子功能的功能包,用软中断指令调 用,中断类型码固定为21H ◼ 各子功能采用功能号来区分