文档介绍:Keil软件使用及汇编语言编程
KEIL软件使用及汇编语言编程
[键入文档副标题]
姓名:张治洪
学号:15041640
将片外数据存储器地址为1000H~1030
Keil软件使用及汇编语言编程
KEIL软件使用及汇编语言编程
[键入文档副标题]
姓名:张治洪
学号:15041640
将片外数据存储器地址为1000H~1030H的数据块,全部搬迁到片内RAM30H~60H中,并将原数据块区域全部清零。(用汇编语言编程)
跑马灯:用汇编语言编程,实现跑马灯功能。每个灯亮的时间是65ms。
【实验结果】:
(1)设内部RAM 5AH单元中有一个变量X,请编写计算下列下述函数式的程序,结果存入5BH单元。(用汇编语言编程)
ORG 0000H
LJMP START
ORG 0100H
START: CLR C
MOV A, 5AH
SUBB A, #10
JC LOWER10
CLR C
MOV A, 5AH
CJNE A, #15, IFL15
BE1015:MOV A, 5AH
MOV B, A
MUL AB
ADD A, #8
AJMP SAVE
IFL15: JNC LARGE15
SJMP BE1015
LOWER10:MOV A, 5AH
MOV B, A
MUL AB
DEC A
AJMP SAVE
LARGE15: MOV A, #41
SAVE: MOV 5BH, A
SJMP $
END
数据结果:
设有两个长度均为15的数组,分别存放在以2000H和2100H为首的存储区中,试编程求其对应项之和,结果存放到以2200H为首的存储区中。(用汇编语言编程)
ORG 0000H
JMP MAIN
ORG 0100H
MAIN:
MOV R0,#40H
MOV R1,#50H
MOV DPTR,#2000H
MOV R2,#0FH
LOOP:
MOVX A,***@DPTR
MOV ***@R0,A
INC R0
INC DPTR
DJNZ R2,LOOP
MOV R2,#0FH
MOV DPTR,#2100H
LOOP1:
MOVX A,***@DPTR
MOV ***@R1,A
INC DPTR
INC R1
DJNZ R2,LOOP1
MOV R2,#0FH
MOV R0,#40H
MOV R1,#50H
MOV DPTR,#2200H
LOOP2:
MOV A,***@R0
ADDC A,***@R1
MOVX ***@DPTR,A
INC R0
INC R1
INC DPTR
DJNZ R2,LOOP2
SJMP $
END
数据结果:
将片外数据存储器地址为1000H~1030H的数据块,全部搬迁到片内RAM30H~60H中,并将原数据块区域全部清零。(用汇编语言编程)
ORG 0000H
JMP MAIN
ORG 0100H
MAIN:
MOV DPTR,#1000H
MOV R0,#30H
MOV R2,#31H
LOOP:
MOVX A,***@DPTR
MOV ***@R0,A
ANL A,#00H
MOVX ***@DPTR,A
INC DPTR
INC R0
DJNZ R2,LOOP
SJMP $
END
数据结果:
跑马灯:用汇编语言编程,实现跑马灯功能。每个灯亮的时间是65ms。
ORG 0000H
JMP MAIN
ORG 0800H
MAIN: MOV A,#01H
MOV R5,#8
DELAY0: MOV R6,#200
DELAY1: MOV R7,#173
DELAY2: DJNZ R7,DELAY2
NOP
DJNZ R6,DELAY1
MOV 90H,A
RL A
DJNZ R5,DELAY0
JMP MAIN
END
数据结果:
实验心得:
跟着书一项一项学了汇编语言的各种指令,虽然对用法都理解,但是具体如何在工程与实践中它们是如何发挥作用的还是没什么印象。然而经过这次实验,我把代码按规则和运行原理的顺