汇编语言子程序是如何定义的?

汇编语言子程序是如何定义的?,第1张

这样扮蚂定义的:

程序名 PROC     NEAR|FAR

             .

              .

            RET

子程序名 ENDP

子程序名相当于标号,表示本过拆则程的符号地址。过程有NEAR和FAR两种类型,FAR型的过程可供段间调用,NEAR型过程仅供段内调用。

在一个过程中,至少要有一条返回指令RET,它可以书写在过程中的任何位置,但是过程执行的的最后一条指令一定是RET。

扩展资料:

注意事项

一、子程序调用指令

格式:CALL   [NEAR PTR]    子程序名

CALL指令的两个作用,1.将断点地址(CALL指令的下一条指令地址)压栈保存,2.转去子程序执行。

[NEAR PTR]可以省略。

二、返回指令

格式:RET     [N]

指令旅缺棚作用:实现子程序执行完后返回主程序的指令。从堆栈栈顶d出一个字数据(段内调用)送入IP作为返回地址。N是立即数,执行完RET之后,再将SP增加N,也叫“平栈”。

宏与子程序都可以用一个名字定义一段程序,以简化源程序的结构和设计。二者的区别:

1、在源程序中,通过书写宏名来引用消链宏,而子程序是通过CALL指令来调用;

2、宏调用是通过宏扩展来实现的,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现一次,调用子程序是执行同一程序段,因此,目标程序也得到大桥派相应的简化

子程序

优点:模块化,节省内存,滚贺可被多次调用,编程效率高。

缺点:额外开销(保存返回地址,计算转向地址,传递参数等)大,增加了执行时间。适用于子功能代码较长、调用比较频繁的情况。

宏调用:

优点:参数传送简单,执行效率高。

缺点:不节省空间,适用于子功能代码较短、传参较多的情况。

A.

1。增加BX,AX或AL ADD BL,类型配对

2.MOV AX 0A999H

3.MOV AX地址0F8H

4.MOV AX,1234H MOV AL,12H

5.MOV AX,[BX]

6.MOV DS,AXDS不能直接保存立即数量和皮

7.ADD [BX 10对

8.PUSH AX推不能直接推即时

9.IN AL的DX

10.OUT 40H AL

11.MUL AL

的MUL不能直接与即时12.MOV [DI],AXMOV两个内存

13.ADD DI AX

14.MOV DS,AX,CS可以不改变

15.SUB 10 SI],AXSI二不能同时

SUB [BP] BX寄存器间接寻址模式30400H

MOV [BX + DI,SI基址寻址模式10400H

地址ES:[SI,DI寄存器相对寻址方式,20200H

MOV 10 [BX] DI寄存器相对寻址模式10100H

MOV DS:[100H],BX相对基址变址寻址模式10100H

/>3。

3456H,5678H,1234H,5678H

4。

1234H,2468H,0008H,1008H,0804H,0408H,0508H,0508H

5。

01H,31H,0FFH,00H,78H,56H,FFH,FFH,00H,24H,00H,0BH,00H,0BH,19H,09H,09H

(由左到右地址)

AX = 3101H,BX = 0023H

六。

1。

装配的语言(AssemblyLanguage)面向机器的编程语言。

总成:汇编语言翻译成机器语言被称为一个汇编程序。

汇编编写汇编语言程序翻译成对应的机器语言翻译程序。输入汇编程序汇编语言编写的源代码,输出的是目标机器语言程序。大会语言为特定的计算机或计算机系列设计的面向机器的语言指令,汇编器和汇编指令的执行。汇编语言程序设计,虽然不是一个高层次的编程语言是简单的,直观的,但目标程序编译占用更少的内存和更高的工作效率,而且可以直接引用各种计算机设备资源。它通常用于书写系统的核心程序的一部分,或写作需要花费大量的运行时间和实时性要求块。

2。

3。州察

独立的CMPSB是通过横向比较耦合代表的周期比较,或比较

4。

是指任何不寻常或意外的迫切需要处理的事件在计算机系统的执行过程中让CPU暂时中断当前正在执行的程序,从而执行相应的处理程序。要处理的,然后返回到原来的中断继续调度的过程中,一个新的流程执行。

5。

宏和子程序是为了简化源代码编写的程序,以提高程序的可维护性的,但它们之间有以下本质的区别:

1,在源代码中,通过写宏名宏的CALL指令调用的子程序

2,加入其定义体的宏扩展的宏汇编器,宏引用的次数,相应扩大的次数,使该宏会不会缩短目册棚茄标程序的子程序代码在目标程序中只出现一次,调用子程序执行相同的数据块,因此,该计划的目标也得到了简化

宏引用参数,以达到通过“的说法”替换“参数”灵活的参数化形式和子程序调用的参数传递通过寄存器,堆栈或约定存储单元

4,扩展的宏引用语句,该计划的目标是不再宏引用语句,运行时,将没有额外的时间开销,和,子程序调用仍然存在,在目标程序中,子程序调用和返回需要一定的时间。

总之,当程序片段长度,速度是关键因素,可以使用宏来简化源,但是当程序片段是更长的时间,所述存储空间是关键因素的子程序的方法可以用于简化源和目标的计划。

7。

............


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12468887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存