第四章 汇编语言程序设计 §4-1 汇编语言程序设计基础 §4-2 伪指令 ...

38
第第第 第第第第第第第第 §4-1 第第第第第第第第第第 §4-2 第第第 §4-3 第第第第第第第第第第

description

第四章 汇编语言程序设计 §4-1 汇编语言程序设计基础 §4-2 伪指令 §4-3 典型应用程序设计举例. §4-1 汇编语言程序设计基础  返回 一、汇编语言程序设计步骤 用汇编语言编程时,编程者可以直接操作到机器内部的寄存器及存储单元,能把处理过程刻画得非常具体。因而通过优化能编制出高效率的程序,既可节省存储空间又可提高程序执行的速度。因此,在实时控制的场合下通常采用汇编语言进行程序设计。微型机的监控程序多采用汇编语言编写。对于单片机应用系统,通常都用汇编语言编写程序。用汇编语言编制程序的过程,称为汇编语言程序设计。 - PowerPoint PPT Presentation

Transcript of 第四章 汇编语言程序设计 §4-1 汇编语言程序设计基础 §4-2 伪指令 ...

Page 1: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

第四章 汇编语言程序设计

§4-1 汇编语言程序设计基础 §4-2 伪指令

§4-3 典型应用程序设计举例

Page 2: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

§4-1 汇编语言程序设计基础 返回 一、汇编语言程序设计步骤 用汇编语言编程时,编程者可以直接操作到机器内部的寄存器

及存储单元,能把处理过程刻画得非常具体。因而通过优化能编制出高效率的程序,既可节省存储空间又可提高程序执行的速度。因此,在实时控制的场合下通常采用汇编语言进行程序设计。微型机的监控程序多采用汇编语言编写。对于单片机应用系统,通常都用汇编语言编写程序。用汇编语言编制程序的过程,称为汇编语言程序设计。

通常,汇编语言程序设计的步骤如下: 1 、 建立数学模型 建立数学模型就是根据设计任务或将控制对象的物理过程归纳、

抽象为数学表达式。 2 、 选择适当的算法 一个数学表达式,往往可用不同的算法实现,此时应结合所用的

机器的指令系统,对不同的算法进行分析比较,选择一种最佳算法(即实现此算法的程序所占内存少且执行速度快,但是两者往往是相互矛盾的,应根据具体情况进行选择)。

Page 3: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

3 、 程序结构的设计 程序结构设计是把所采用的算法转化为汇编语言程序的准备阶

段。如果课题较小且算法简单,这一步骤可以省掉,直接编写程序,如果是大型课题,由于情况复杂,所以需要进行程序结构设计。它可以分模块化程序设计、结构程序设计及自顶向下设计等。

4 、 编制汇编语言程序的调试 根据确定的算法及所选用的程序结构就可以绘制流程图(如算

法简单,这一步骤可省略),根据流程图并结合所选用的指令系统就可写出相应的汇编语言源程序。

5 、 汇编语言程序的调试• 当一个汇编语言程序编好后必须进行调试,因为所编制的程序难免

有错误并且程序需要优化。

Page 4: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

整个汇编程序设计的流程见图 4-1 :

图 4-1 汇编语言程序设计流程图

Page 5: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

二、编制程序流程图 1 、程序流程图的作用 由于流程图采用图解表示法,因此它能直观形象地表示各部分的逻

辑关系及程序结构,利用流程图能方便地发现和分析程序算法存在的错误。另外,它便于掌握和进行交流。所以,它是程序设计的重要工具。

2 、程序流程图的组成 程序流程图是用几何图形(方框和圆框),流线及文字说明来描述计算

过程的框图。它不但能形象地描述程序执行的过程而且清楚地表达程序结构的内在联系。流程中所采用的各种常用符号如下:

1 )端点框 如图 4-2 ( 1 )所示,表示程序的开始或结束。

2 )流程线 如图 4-2 ( 2 )所示,表示程序执行的流向。 3 )处理框 如图 4-2 ( 3 )所示,表示一种处理功能或过程。

Page 6: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

4 )判断框 如图 4-2 ( 4 )所示,用于批示一个判定点,从这点开如产生分支。

5 )连接框 如图 4-2 ( 5 )所示,表示流程中止而并非流程结束。通常用于连接 同一而的流程。以避免流程线的交叉;也可用于连接不同页上的流 程,注意连接处的连接框的标识符要相同。

6)子程序框 如图 4-2 ( 6)所示,表示调用子程序。在该框内填入相应的子

程序 名称或入口地址。

Page 7: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

§4-2 伪指令及汇编 返回 一、伪指令 “伪指令”是用于告诉汇编程序(汇编程序是一种翻译程序,将用汇

编语言写的程序翻译成机器程序语言程序)如何进行汇编的指令,它既不控制机器的操作也不能被汇编成机器代码(汇编语言的指令和机器语言的指令有一一对应的关系),只能被汇编程序所识别并指导如何进行,故称为“伪指令”。MCS-51 系列单片机的常用伪指令如下:

1 、起始地址伪指令 ORG(Origin) 格式: [ 标号: ] ORG 16 位地址 功能:用于规定目标程序段或数据块的起始地址。 2 、汇编结束伪指令 END 格式: [ 标号: ] END 功能: END是汇编语言源程序的汇编结束标志,在它后面所写的指令均不处理。在一个程序中只能出见一条 END语句,而且必须安排在源程序的末尾。

Page 8: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

3 、赋值伪指令 EQU 格式:字符名称 EQU 数或汇编符号 功能:将一个数或特定的汇编符号赋予规定的字符名称。先定义后使

用。 4 、定义字节伪指令 DB 格式: [ 标号: ] DB 8 位(二进制)数据表 功能:定义程序存储器从标号开始的连续单元,用来存放常数、字符

和表格。 5 、定义字伪指令 DW 格式: [ 标号: ] DW 16 位(二进制)数据表 功能:同 DB,不同的是为 16 位数据。 由于一个字长为 16 位,故要占据两个存储单。在 MCS-51 单片机系统

中, 16 位数据的高 8 位存入低地址单元,低 8位存入高地址单元。

Page 9: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

6、数据地址赋值伪指令 DATA 格式:字符名称 DATA 表达式 功能:将数据地址或代码地址赋予规定的字符名称 DATA 伪指令的功能和 EQU 伪指令,但 DATA 伪指令所定义的符号可先使用后定义,在程序它常用来定义数据地址。该语句一般放在程序的开头或末尾。

7、定义空间伪指令 DS 格式: DS 表达式 功能:从指定的地址单元开始,保留由表达式指定的若干字节空间作为

备用空间。 注意:对于 MCS-51 系列单片机, DB、 DW、 DS 伪指令只能用于程

序存储器而不能用于数据存储器。 8、位地址赋值伪指令 BIT 格式:字符名称 BIT 位地址 功能:把位地址赋予规定的字符名称,常用于位处理的程序中。

Page 10: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

• 二、汇编程序的汇编过程 用汇编语言编写的源程序必须通过汇编程序的汇编才能将源程序转换

成相应的目标程序。 大多数微型机的汇编程序是两次扫描汇编程序。在汇编程序中要借助

于一些表格才能实现汇编。这些表格是设置在汇编程序中。在汇编时对它们进行检索和查询。第一次扫描是检查语法错误并确定符号名字,在扫描过程中建立该源程序使用的全部符号名字。在符号表中,每一个符号名字后面跟着一个对应的值(或为存储单元地址或为数)。第二次扫描是在第一次扫描所得到符号名字表的基础上将符号地址转换在真地址(称为代真);种用操作码表将助记符转换成相应的目标操作码。

Page 11: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

简单的计算机系统中,常常不配备汇编程序,为了运行汇编语言程序可进行人工汇编。由程序员根据指令表一条一条地将汇编语言程序的语句翻译成机器代码指令,最后得到可运行的目标程序。在人工汇编时同样采用两次汇编方法:第一次汇编确定各条指令(第一字节)的地址并翻译出各条指令的机器码,对于程序中出现的各种标号暂不处理,仍用原来的符号,而对其中有明确定义者,则用其定义值来代替;第二次汇编进行标号的“代真”,即求出标号所代表的具体地址或者地址偏移量,经过两次汇编可将源程序转换成相应的目标程序。

Page 12: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

§4-3 典型应用程序的设计 返回

汇编语言是面向机器的语言,汇编语言程序设计与所用的机器、机器所采用的微处理器的内部结构都有密切的关系,单片机的汇编语言程序设计也是如此,必须充分了解所使用机器的“硬件环境”,才能着手进行汇编语言程序设计。特别是编制 I/0接口程序时还需了解接口电路、机器及外设的外特性例如:输入、输出信号、负载能力等。另外,对于同一个问题往往编制出不同的程序,那么如何判断一程序的优劣呢?通常从三个方面来衡量:

其一、该程序所占用的存储空间,以少为好; 其二、程序运行的时间,以短为好; 其三、程序的编制、调试及排错所需时间,以短为好。 除此以外,还要求程序清晰易读以及易于移植等。 为了设计一个高质量的程序,必须掌握程序设计的一般方法。在汇编

语言程序设计中,普通采用结构化程序设计方法。这种设计方法只有一个入口和出口(见图 4-3 ),整个程序也只有一个入口和出口。结构程序设计的特点是程序的结构清晰,易于读写,易于验证,可靠性高,一面主要介绍结构化程序设计中的三种基本的程序设计方法。

Page 13: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例
Page 14: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

一、简单程序的设计 例 4-1 已知两个压缩BCD码分别放在内部 RAM的 31H30H和 33H 32H等 4 个单元中,试编程求和,结果存入 R4R3R2 中。 分析:流程如右图所示: 程序如下: ORG 0000H LJMP MAIN ORG 0040H MAIN: MOV A, 30H ADD A, 32H DA A MOV R2 , A MOV A, 31H ADDC A, 33H DA A

Page 15: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

MOV R3 , A CLR A MOV ACC.0, C MOV R4 , A HERE: SJMP HERE END 例 4-2 利用查表指令将内部 RAM中 20H单元的压缩 BCD 码拆开,转换成相应的 ASCII 码,存入 21H、 22H中,高位存在 22H。

分析:控制流程图(略),程序如下: START: MOV DPTR, #TABLE MOV A, 20H ANL A, #0FH MOVC A, @A+DPTR MOV 21H, A MOV A, 20H ANL A, #0F0H SWAP A MOVC A, @A+DPTR

Page 16: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

MOV 22H, A SJMP $ TABLE : DB 30H , 31H , 32H , 33H , 34H

DB 35H, 36H, 37H, 38H, 39H

二 、分支程序设计 1 、单分支程序 单分支结构程序使用转移指令实现,即根据条件对程序的执行进

行判断,满足条件是转移执行,否则按顺序执行。 在MCS-51 指令系统中条件转移指令有: ( 1 )判 A转移指令 JZ、 JNZ ; ( 2 )判位转移指令 JB、 JNB、 JBC、 JC、 JNC; ( 3 )比较转移指令 CJNE; ( 4 )减 1 不为 0转移指令 DJNZ;

Page 17: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

例 4-3 假定在外部 RAM中有 ST1 、 ST2 和 ST3共 3 个连续单元,其中ST1 、 ST2 单元中分别存放着两个 8 位无符号数,要求找出其中的大数并存入 ST3 单元。

分析:两个无符号数的大小比较可利用两数相减是否有借位来判断,流程图和程序如下所示: START: CLR C

MOV DPTR, #ST1 MOVX A, @DPTR MOV R7, A INC DPTR MOVX A, @DPTR SUBB A, R7 JC BIG1 MOVX A, @DPTR SJMP BIG2 BIG1 : XCH A, R7 BIG2 : INC DPTR MOVX @DPTR, A SJMP $

Page 18: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例
Page 19: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

2 、多分支程序 ( 1 )嵌套分支结构 例 4-4 设变量 X存放于 30H单元,函数值 Y存放 31H单元。试按照式: 1 X>0 Y= 0 X=0 的要求给 Y赋值 -1 X<0 分析: X是有符号数,判断符号位是 0 还是 1 可利用 JB或 JNB

指令。 判断 X是否等于 0 则直接可以使用累加器 A的判 0指令。

流 程、程序如下页:

Page 20: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

START : MOV A , 30HJZ OVER

JNB ACC.7, LAB1 MOV A, #0FFH SJMP OVER LAB1 : MOV A, #1 OVER: MOV 31H, A SJMP $

Page 21: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

( 2 )多重分支结构 利用 MCS-51 单片机的散转指令 JMP @A+DPTR,可方便地实现多

重分支控制,因此,又称为散转程序。假定多路分支的最大序号为 n,则分支的结构如图所示。

Page 22: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

例 4-5 根据条件 0、 1 、 2 …、 n,分别转向处理程序 PRG0、 PRG1 、…、 PRGn,条件K设在 R2 中。 START: MOV DPRT, #TABLE MOV A, R2 ADD A, R2 JNC NEXT INC DPH NEXT: JMP @A+DPTR TABLE: AJMP PRG0 … … AJMP PRGn PRG0: … … … PRGn: …

Page 23: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

三、循环程序设计 1 、循环程序的结构 循环程序包括以下四个部分: 置循环初值 循环体 循环控制变量修改 循环终止控制 常用于循环控制的指令有: DJNZ、 CJNE、 JC、 JNC 等控制类指令。

Page 24: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

2 、单循环 终止循环控制采用计数的方法,即用一个寄存器作为循环次数计数器,每次循环后计数加 1 或减 1 ,达到终止值后退出循环。

例 4-6 计算 50个 8 位二进制数(单字节)之和。 要求: 50个数存放在 30H开头的内部 RAM中,和放在 R6R7中。 分析:采用 DJNZ 循环体的流程框图如下页所示,在参考程序中, R0为数据地址指针, R2 为减法循环计数器。

在使用 DJNZ控制时,循环计数器初值不能为 0,当为 0时,第一次进入循环执行到 DJNZ时,减 1使 R2变为 FFH,循环次数成了 256,显然不合题意。

START: MOV R6, #0 MOV R7, #0 MOV R2 , #50 MOV R0, #30H LOOP: MOV A, R7 ADD A, @R0

Page 25: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

MOV R7, A CLR A ADDC A, R6 MOV R6, A INC R0 DJNZ R2, LOOP SJMP $ 其流程图如右图所示。

Page 26: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

3 、多重循环 如果在一个循环程序中嵌套了其他的循环程序,称为多重循环程序。

在用软件实现延时时显得特别有用。例 4-7 设计 1秒延时子程序,假设 fosc=12MHz。 分析:软件延时与指令的执行时间关系密切,在使用 12MHz 晶振时,

一个机器周期的时间为 1us,执行一条 DJNZ指令的时间为 2us,我们可以采用三重循环的方法写出延时 1秒的子程序流程、程序如下所示:

DELAY: MOV R7, #10 ; DL3 : MOV R6, #200 ; DL2 : MOV R5 , #250 ; DL1 : DJNZ R5 , DL1 ; DJNZ R6, DL2 ; DJNZ R7, DL3 ; RET

Page 27: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

其程序流程图如图所示:

Page 28: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

4 、按条件转移控制的循环 例 4-8 把内部 RAM中从 ST1 地址开始存放的数据传送到以 ST2

开始的存储区中,数据块长度未知,但已知数据块的最后一个字节内容为00H,而其它字节均不为 0。并设源地址与目的地址空间不重复。

分析:显然,我们可以利用判断每次传送的内容是否为 0 这一条件来控制循环。也可用 CJNE来比较与 0是否相等设计。利用判 A转移控制的循环流程图如下图所示

Page 29: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

其程序为: START: MOV R0, #ST1 MOV R1 , #ST2 LOOP: MOV A, @R0 JZ ENT MOV @R1 , A INC R0 INC R1 SJMP LOOP ENT: RET

Page 30: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

四、查表程序设计 用于查表的指令有两条: MOVC A,@A+ PC; MOVC A,@A+ DPTR; 当使用 DPTR作为基址寄存器时查表比较简单,查表的步骤分三步 1 )基址(表格首地址)送 DPTR数据指针; 2 )变址值(在表中的位置是第几项)送累加器 A; 3 )执行查表指令 MOVC A,@A+ DPTR,进行读数,查表结果送回累加器 A。

当使用 PC作为基址寄存器时,由于 PC 本身是一个程序计数器,与指令的存放地址有关,查表时其操作有所不同。查表的步骤也分三步:

1 )变址值(在表中的位置是第几项)送累加器 A; 2 )偏移量(查表指令的下一条指令的首地址到表 格首地址之间的字节

数) + A → A;(修正) 3 )执行查表指令MOVC A,@A+ PC。 例 4-9 二位十六进制数与 ASCII 码的转换程序。设数值在 R2 中,结果低位存在 R2 中,高位存在 R3 中。

分析:对于 2位 16进制数必须进行 2次查表,因此,取数后通过屏蔽的方法来实现高低位分开。

Page 31: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

1 、利用 DPTR作基址的参考程序如下 HEXASC: MOV DPTR, #TABLE MOV A, R2 ANL A,#0FH MOVC A,

@A+DPTR ;查表 XCH R2, A ANL A, #0F0H SWAP A

MOVC A, @A+DPTR ;查表 MOV R3 , A

RET TABLE: DB 30H, 31H, 32H, 33H, 34H ; ASCII表 DB 35H, 36H, 37H, 38H, 39H DB 41H, 42H, 43H, 44H, 45H, 46H

Page 32: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

2 、利用 PC作基址的参考程序如下: HEXASC: MOV A, R2 ANL A , #0FH

ADD A, #9 MOVC A, @A+PC ;查表 XCH R2, A ANL A, #0F0H

SWAP A ADD A, #2 MOVC A, @A+PC ;查表 MOV R3 , A

RET TABLE: DB “0”,“ 1”,…,“ F” ;ASCII表

Page 33: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

例 4-10 利用查表指令,根据 R2 的分支序号找到对应的转向入口地址送DPTR,清 ACC后,执行散转指令 JMP @A+DPTR,转向对应的分支处理,假定分支处理程序在 ROM 64KB的范围内分布。

程序如下: ORG 1000H START: MOV DPTR, #TAB MOV A, R2 ADD A, R2 JNC ST1 INC DPH ST1 : MOV R3 , A MOVC A, @A+DPTR ;查表 XCH A, R3 INC A

Page 34: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

MOVC A, @A+DPTR MOV DPL, A MOV DPH, R3 CLRA JMP @A+DPTR TAB: DW PRG0 DW PRG1 … …

Page 35: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

五、模拟组合逻辑的程序设计 在测控系统中单片机能够充分发挥它的长处。在 MCS-51 指令系

统中具有位操作指令。位操作指令的一个典型应用就是模拟组合逻辑电路(逻辑仿真)。在进行逻辑仿真之前,必须把逻辑图或真值表转化为相应的布尔表达式;再进行化简,以优化仿真程序。用软件模拟组合逻辑电路的优点就是成本低、灵活性好,但输出与输入之间有一定的时间延迟。

例 4-11 试用软件模拟图 4-4 所示的组合逻辑电路的功能 分析:无论组合逻辑电路的复杂程序如何,当 用软件模拟其功能时,可以以每个逻辑门为单位逐 级进行模拟。这样编程规律较强而且不容易出错。 本题的解是用软件实现 的逻辑功能。逻辑式中的 Xi为输入变量, 在实际应用中它们可以是单片机 I/O 口线的状态 或是 SFR中的某些控制位,也可以是用户在片内 RAM中定义的某些位,

在使用它们之前必须先定义。否则程序不能正常运行。相应的程序如下:

Page 36: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

ORG 1000H X0 BIT 30H X1 BIT 31H X2 BIT 32H X3 BIT 33H X4 BIT 34H X5 BIT 35H X6 BIT 36H MOV C, X2 ORL C, /X1 ANL C, X0 MOV F, C MOV C, X4 ANL C, /X3

Page 37: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

MOV E, C MOV C, X5 ORL C, X6 ANL C, /E ORL C, F CPL C MOV F, C END。

Page 38: 第四章  汇编语言程序设计   §4-1   汇编语言程序设计基础   §4-2   伪指令   §4-3   典型应用程序设计举例

本章小结 1 、程序设计基本概念 1)标号、操作码、操作数、注解 2)伪指令:ORG、DB、DW 3)程序状态字PSW 2 、简单程序设计、循环程序设计、分支程序设计、查表程序设计、

应用程序设计。 重点:汇编程序结构、控制流程设计,汇编程序阅读、设计,应用

程序设计。 难点:汇编程序结构、控制流程,应用程序设计。