入口参数和出口参数 在汇编语言程序设计中,主程序与子程序之间进行参数传递的方法有哪些?
在汇编语言程序设计中,主程序与子程序之间进行参数传递的方法有哪些?
在汇编语言中,有几种方法可以在主程序和子程序之间传递参数:1。寄存器方法寄存器方法是将进入参数和退出参数存储在约定的寄存器中。优点:数据传输,读取速度快,编程方便,节省存储单元。缺点:当传递的参数太多时,寄存器数量有限,并且寄存器使用频繁,这将导致寄存器不足。应用:参数较少的子程序2。传统的单元方法:顾名思义,入口和出口参数被放置在预定的单元中。优点:无需寄存器,参数任意多,待处理数据独立存储单元,各子程序可发送结构。缺点:使用一定数量的存储单元增加了编程中变量定义的难度。三。Stack方法Stack方法使用Stack传递参数。优点:参数不占用寄存器和内存单元。参数存储在公共堆栈区域,并在处理后恢复。一般来说,参数的数目是不受限制的。但是,由于参数和子程序是混合在一起的,因此在访问参数时需要仔细计算其在堆栈中的位置。注意断点的存储和恢复。4地址表法这种方法是把一个由参数组成的参数表放在一个存储区内,然后只要主程序和子程序在第一个地址和存储区的内容上达成一致,主程序就会把这些参数传递给地址表,子程序就可以按此顺序完成操作地址表中给定的参数。
汇编语言中子程序可以调用子程序吗?
当然,汇编语言子程序可以调用其他子程序。在编程时,引入子程序的主要目的是减少重复代码,使其易于阅读,并使过程清晰。示例如下:主:MOV A,#0费莫夫R2,#8循环:LCALL KEYSCANJB00h,loop1mov P0,ARL amov R7,lcalldelaysjmp looploop1:RR amov R7,lcalldelaysjmp loopkeyscan:键检测子程序JB P1.0,键无键退出mov R7,ා20延迟子程序通过参数lcall delay调用延迟子程序JNB P1.0,$等待键解除CPL 00h,并且密钥处理位00h被反转键:RETDELAY:MOV R3,#250DJNZ R3,$DJNZ R7,延迟终止
入口参数和出口参数 子程序调用编程序例子 s7200带参数子程序编写
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。