汇编编写

来源:百度知道 编辑:UC知道 时间:2024/07/06 20:10:45
请问一下
EXPRE PROC FAR
START: PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
请问这一个段的功能到底是什么,详细点,谢谢了。每个程序怎么都有这个段。

EXPRE PROC FAR ;函数远调用,DOS规定用户函数必须是远
;调用,而不能用 near
START: PUSH DS ;DS入栈,因为是远调用
SUB AX,AX ;将AX置0,当然AH也为0
PUSH AX ;AX入栈
MOV AX,DATA ;接下来两句是把数据段DS置为DATA(就是首地址)
MOV DS,AX
;其实这是把主函数看成一个过程,即DOS系统的一个子过程
;(或者说函数),一般的写法是 :
main proc far
mov ax,data
mov ds,ax
;中间代码
;........
mov ah,4ch
int 21h

相当于初始化