利用存储器
发布时间:2016/7/12 20:57:33 访问次数:435
当传送的数据量比较大时,可以利用存储器实现参数的传递。在这种方式中,事先要EP3C40F484I7建立一个参数表,用指针指示参数表所在的位置。当参数表建立在内部RAM时,用RO或R1作参数表的指针。当参数表建立在外部RAM时,用DPTR作参数表的指针。
将RO和R1指向的内部RAM中两个3字节无符号整数相加,结果送到由R0指向的内部RAM中。入口时,R0和R1分别指向加数和被加数的低位节;出口时,RO指向结果的高位字节。低字节在高地址,高字节在低地址。
实现程序:
在调用子程序前,用PUsH指令将子程序中所需数据压入堆栈,进入执行子程序时,再用PoP指令从堆栈中弹出数据。
把内部RAM中⒛H单元中的1字节十六进制数转换为2位AsCII码,存放在31H和32H两个单元中。分析:十六进制数0~9的ASCII码为30H~39H,即十六进制数(0~9)=AsCII码-30H;十六进制数A~F的ASCⅡ码为41H~46H,即十六进制数(A~F)=AsCII-37H。根据此对应 关系,编写如下程序.
当传送的数据量比较大时,可以利用存储器实现参数的传递。在这种方式中,事先要EP3C40F484I7建立一个参数表,用指针指示参数表所在的位置。当参数表建立在内部RAM时,用RO或R1作参数表的指针。当参数表建立在外部RAM时,用DPTR作参数表的指针。
将RO和R1指向的内部RAM中两个3字节无符号整数相加,结果送到由R0指向的内部RAM中。入口时,R0和R1分别指向加数和被加数的低位节;出口时,RO指向结果的高位字节。低字节在高地址,高字节在低地址。
实现程序:
在调用子程序前,用PUsH指令将子程序中所需数据压入堆栈,进入执行子程序时,再用PoP指令从堆栈中弹出数据。
把内部RAM中⒛H单元中的1字节十六进制数转换为2位AsCII码,存放在31H和32H两个单元中。分析:十六进制数0~9的ASCII码为30H~39H,即十六进制数(0~9)=AsCII码-30H;十六进制数A~F的ASCⅡ码为41H~46H,即十六进制数(A~F)=AsCII-37H。根据此对应 关系,编写如下程序.
上一篇:子程序调用有以下几个优点
上一篇:高级语言是采用模块化的程序设计