1 / 26
文档名称:

第四章 汇编语言程序设计.ppt

格式:ppt   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第四章 汇编语言程序设计.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第四章 汇编语言程序设计.ppt

文档介绍

文档介绍:第四章汇编语言程序设计
基本要求:能熟练编写各类一般难度的程序
第一节汇编语言的构成
一、汇编语言格式

[标号:] 操作码[操作数] [;注释]
LOOP:MOV A,30H ;A (30H)

可有可无;字母打头;字母、数字、下划线组成;不超过8位;不与操作码相同。
必不可少;不可更改。

可有可无;可一可二;可以是数或地址;可二进制、十进制、十六进制或ASCII码。

可有可无;可各种文字或符号。
第二节伪指令
----汇编起始
[标号:] ORG addr16
如: ORG 2000H
START:MOV A,#20H
----结束汇编
[标号:] END
----赋值
标号名称 EQU 数或汇编符号
AA EQU R1
K1 EQU 40H
----数据地址赋值
标号名称 DATA 表达式
表达式----数、地址,
不可是汇编符号
AA DATA R4
、DW、DS----定义字节、字、空间
[标号:] DB 字节常数
[标号:] DW 字常数
[标号:] DS 表达式(预留空间数)
2000H
HETA: DB 50H,85H,10,15
汇编以后有:(2000H)=50H
(2001H)=85H
(2002H)=0AH
(2003H)=0FH
例2 分析下列程序。
ORG 2000H
DS 08H
DB 30H,8AH,10,’B’
DW 54H,1F80H
----位地址符号
标号名称 BIT 位地址
如: D BIT
00H
54H
(2000H)=_____H (2008H)=_____H
(200AH)=_____H (200BH)=_____H
(200CH)=_____H (200DH)=_____H
不定
30H
0AH
42H
第三节简单程序设计
FIRST EQU 30H
SECO EQU 31H
THIR EQU 32H
MOV A,20H
MOV B,#64H
DIV AB
MOV FIRST,A
MOV A,B
MOV B,# 0AH
DIV AB
MOV SECO,A
MOV THIR,B
SJMP $
END
SJMP $ 即为
LL:SJMP LL
例3 将20H单元中8位无符号数转换成3位BCD码,并分别放到FIRST(百位)、SECO(十位)和个位THIR中。
一、顺序结构
FIRST DATA 30H
SECOND DATA 31H
ORG 0200H
MOV A, 20H
MOV B, #64H
DIV AB
MOV FIRST, A
MOV A,B
MOV B, #0AH
DIV AB
SWAP A
ORL A, B
MOV SECOND, A
SJMP $
END
例4 已知20H单元有一个二进制数,请编程把它转换为三位BCD数送入FIRST单元的低四位,十位和个位BCD数在SECOND单元中(十位在高位)。
二、分支程序设计
例5 以知VAR单元内有一个自变量X,请按如下条件编程求Y,并将它存入FUNC单元的程序段。
1 当X>0
Y= 0 当X=0
-1 当X<0
ORG 0010H
VRA DATA 30H
FUNC DATA 31H
MOV A, VAR
JZ DONE
JNB , POSI
MOV A, #0FFH
SJMP DONE
POSI: MOV A, #01H
DONE: MOV FUNC,A
SJMP $
END
例5* 将例5的方程改为如下形式,设X,Y为无符号
数,分别存放在地址X1和Y1中,试编写求值程序。
1 当X>20
Y= 0 20>=X>=10
-1 当X<10
ORG 2000H
X1 EQU 20H
Y1 EQU 21H
MOV A, X1
CJNE A, #10, NEXT1
NEXT1: JC LOOP1
CJNE A, #21, NEXT2
NEXT2:JNC LOOP2
MOV Y1, #00H
SJMP HALT
LOOP1:MOV Y1, #0FFH
SJMP HALT
LOOP2:MOV Y1, #01H
HALT: SJMP $
END
例6 将内部RAM30H开始的10个无符号字节数相加结果存入
30H单元,设和不超过8位。
MOV R7,#09H
MOV R0,#31H
MOV A,***@R0
LOOP:INC R0
ADD A, ***@R0
DJNZ R7,

最近更新