汇编语言CALL是调用子程序指令,用法如下:CALL 子程序名参数的传递是通过调用者和被调用者的相互约定实现的。在51汇编语言中CALL只能实现2K范围内的调用,大于这个限制就需要用到LCALL了。比如:ORG 0000HLJMP MAIN:MAIN: MOV SP,#7FH CALL INITLOOP: JNB RI,$ CLR RI MOV A,SBUF MOV SBUF,A JB TI,$ CLR TI SJMP LOOPINIT: MOV TMOD,#20H ;定时器1做波特率发生器 MOV TH1,#0FDH ;波特率9600bps MOV TL1,#0FDH MOV SCON,#50H ;串口工作方式1,运行接受 SETB TR1 RET END

这里定义了一个名字为NUM的变量。这个变量指向的内存地址中,按字节,依次存放了4个字符。第一个字节地址的内容是30H, 也就是数字'0'这个字符。第二个字节和第三个字节,分别是字符'!'感叹号 和字符'='等于号。第四个字节,存放的是字符‘$’美元符号。在DOS系统功能调用的09H号子功能输出显示字符串功能中,对要显示的字符串的格式要求是必须用'$'字符作为显示结束的标志。
从这个变量的定义方式看,它是要用来输出显示的一个字符串。也就是说,你若用09H号功能显示NUM字串,它将显示 ‘0!=’ 三个,然后结束此次调用。