您的当前位置:首页实验一 汇编语言程序设计实验

实验一 汇编语言程序设计实验

2023-01-15 来源:乌哈旅游


实验一 汇编语言程序设计实验

一、实验目的

1、熟悉keil开发环境

2、掌握汇编语言的常用指令

3、掌握汇编语言设计方法

二、实验器材

1、电脑一台

2、单片机实验箱

三、实验步骤

1、打开keil开发环境,新建一个工程项目。

2、新建一个xxx.asm文件,在这个文件中写入相应的程序代码

3、程序写完后,点击keil开发环境上的“Rebuild”图标,编译所写的程序,在“build output”窗口中会显示编译的相关信息,如错误警告等信息,根据相应的信息来检查所写的程序,直到没有错误和提示信息为止。

4、编译通过后,点击keil开发环境上的调试图标,进入调试界面调试程序,如与预期的结果一致,则程序编写正确,否则就要去查找程序中的错误,直到结果与预期的一致为止。

四、实验内容

(1) 请同学们分析以下指令执行之后的结果,将结果写在”;”后面,并在keil开发环境中进行验证

程序1:

ORG 0000H

START:LJMP MAIN

ORG 0030H

MAIN: MOV A,#30H ;

MOV R0,#20H ;

MOV 20H,#52H ;

MOV A,@R0 ;

MOV @R0,#05H ;

MOV DPTR,#4000H ;

MOVX @DPTR,A ;

END

程序2:思考如果改变累加器A中的数值,寄存器R1中的结果是否也会发生改变?

ORG 0000H

START:LJMP MAIN

ORG 0030H

MAIN: MOV A,#3 ;

MOV DPTR,#TABLE

MOVC A,@A+DPTR ;

MOV R1,A ;

TABLE: DB 30h,31h,32h,33h,34h

END

程序3:思考地址单元50H和51H中数据是否会发生变化?在keil的调试界面要查看某一个地址单元中的数据,如在“memory”的窗口中输入“i:0x50”,则为查看50H地址单元中数据

ORG 0000H

START:LJMP MAIN

ORG 0030H

MAIN: MOV 50H,#01H MOV 51H,#02H PUSH 50H PUSH 51H POP 50H POP 51H END

程序4:

;

;

;

;

;

;

ORG 0000H

START:LJMP MAIN

ORG 0030H

MAIN: MOV A,#83H MOV R0,#17H ;

MOV 17H,#34H ;

ANL A,#17H ;

ORL 17H,A ;

XRL A,@R0 ;

CPL A ;

END

程序5:

ORG 0000H

;

START:LJMP MAIN

ORG 0030H

MAIN: MOV 40H,#08H ;

MOV R1,#40H ;

MOV A,@R1 ;

RL A ;

MOV R0,A ;

RL A ;

RL A ;

ADD A,R0 ;

MOV @R1,A ;

END

程序6:将内部RAM中30H~33H的数依次送到70H~7FH单元中。

ORG 0000H

START:LJMP MAIN

ORG 0030H

MAIN: MOV 30H,#02H MOV 31H,#03H ;

MOV 32H,#05H ;

MOV R0,#30H ;

MOV R1,#70H ;

MOV R2,#10H ;

LOOP: MOV A,@R0 MOV @R1,A ; INC R0 ;

INC R1 ;

;

;

DJNZ R2,LOOP ;

END

五、心得体会

Example :

1. 不想编译的file,在左边工程栏里面点右键Options for File ,把右边Always Build

的勾去掉就好。

2. 在此编辑框内我们输入“字母:数字”,D、 I、 X、 C分别代表着直接寻址的片内

RAM、间接寻址的片内RAM、扩展的外部RAM和ROM。

因篇幅问题不能全部显示,请点此查看更多更全内容