汇编语言程序设计技巧详解(附例题)

您所在的位置:网站首页 c程序设计例题 汇编语言程序设计技巧详解(附例题)

汇编语言程序设计技巧详解(附例题)

2024-06-06 23:49| 来源: 网络整理| 查看: 265

目录

1、顺序结构

2、分支结构

(1)先建立可供条件转移指令测试的条件。

(2)选用合适的条件转移指令。

(3)在转移的目的地址处设定标号。

多重分支程序

a.多次使用条件转移指令,形成两个以上判断框。

b.按分支号转移

(1)用地址表法。设分支号已存入A。

(2)转移表法。用分支转移指令 JMP @A+DPTR

3、循环结构

(1)循环初始化

(2)循环体

(3)循环控制

多重循环循环体中套循环结构

4、子程序

(1)子程序入口用标号作为子程序名。

(2)调用子程序之前设置好堆栈。

(3)用返回指令RET结束子程序,并保证堆栈栈顶为调用程序的返回地址。

(4)子程序嵌套须考虑堆栈容量。

(5)提供足够的调用信息:

1.寄存器传送参数

2.存储器传送参数

3.堆栈传送参数

模块化设计

汇编语言程序设计技巧

四种基本结构:顺序结构、分支结构、循环结构和子程序。

1、顺序结构

【例】将R0单元内的两位BCD码拆开并转换成ASCII码,存入RAM两个单元中R2 (存高位)和R1 (存低位)中 。

参考程序:

        ORG  2000H

                MOV  A,R0      ;取值

        ANL   A,#0FH  ;取低4位

        ADD  A,#30H   ;转换成ASCII码

        MOV  R1,A       ;保存结果

        MOV  A,R0       ;取值

        SWAP  A             ;高4位与低4位互换

        ANL  A,#0FH   ;取原来的高4位      

        ADD  A,#30H   ;转换成ASCII码

        MOV  R2,A       ;保存结果

        SJMP  $  

               END

2、分支结构 (1)先建立可供条件转移指令测试的条件。 (2)选用合适的条件转移指令。 (3)在转移的目的地址处设定标号。

【例】求R2中补码绝对值,正数不变,负数变补。

             MOV A,R2

             JNB ACC.7,NEXT;为正数?

             CPL A          ;负数变补

             INC A

             MOV R2,A

    NEXT:SJMP NEXT  ;结束

多重分支程序 a.多次使用条件转移指令,形成两个以上判断框。

【例】 求符号函数Y=SGN(X)

                    +1  当 X>0

SGN(X)=      0  当 X=0

                     -1  当 X



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3