成绩
单片机原理及应用
实验报告
实验名称 汇编语言指令 实验班级 姓 名 学号(后两位) 指导教师 实验日期
实验一 汇编语言指令
一、实验目的
1、掌握KEIL软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等。 2、熟悉AT89C51单片机的指令系统。
二、实验内容
完成以下内容:
1、假定外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器A中的内容是( 80H ): ORG 0000H
MOV DPTR,#2000H MOV A,#80H MOVX @DPTR,A MOV P2,#20H MOV R0,#00H MOVX A,@R0 END
注意:完成本实验,需完成题目的“假定”条件,将外部数据存储器2000H单元预先赋值,如何实现?
2、假定(SP)=60H,(ACC)=25H,(B)=80H,执行下列指令: ORG 0000H MOV SP,#60H MOV ACC,#25H MOV B,#80H PUSH ACC PUSH B END
后,(SP)的内容是( 62H ),61H单元的内容是(25H ),62H单元的内容是( 80H ).
注意:完成本实验,需完成题目的“假定”条件,将SP、ACC和B中赋好值,如何实现?
3、 假定(A)=85H,(R0)=20H,(20H)=0AFH,执行下列指令: ORG 0000H MOV A,#85H MOV R0,#20H MOV 20H,#0AFH ADD A,@R0 END
后,A的内容是(34H ),CY的内容是(1 ),AC的内容是( 1),OV的内容是(1 )。
注意:完成本实验,需完成题目的“假定”条件。
4、假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H,执行下列指令: MOV R3,#0FH MOV 30H,#0F0H MOV R0,#40H MOV 40H,#00H INC A INC R3 INC 30H INC @R0 END
后,A的内容是(00H),R3的内容是(10H),30H的内容是(0F1H),40H的内容是(01H)。
注意:完成本实验,需完成题目的“假定”条件。
5、假定(A)=059H,(R5)=73H,执行下列指令: ORG 0000H MOV A,#059H MOV R5,#73H ADD A,R5 DA A END
后,A的内容是(32H),CY的内容是(1)。
6、程序如下: MOV A, #0BFH MOV 20H, #85H SETB C ADDC A, 20H
结果为:(A)= 45H CY= 1 AC= 1 OV= 1 P= 1
7、程序如下: MOV A, #0BFH MOV 20H, #85H
SETB C SUBB A, 20H
结果为:(A)= 39H CY= 0 AC= 0 OV= P= 0
8、假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH,执行下列指令: ORG 0000H MOV A,#0FH MOV R7,#19H MOV 30H,#00H MOV R1,#40H MOV 40H,#0FFH DEC A
DEC R7 DEC 30H DEC @R1 END
后,A的内容是(0EH),R7的内容是(18H),30H的内容是(FFH),40H的内容是(FEH)。
注意:完成本实验,需完成题目的“假定”条件。
9、 假定(A)=0FH,(B)=0A0H,,执行下列指令: ORG 0000H MOV A,#0FH MOV B,#12H MUL AB END
后,A的内容是(0DH),B的内容是(11),AC的内容是(0),OV的内容是(0)。
注意:完成本实验,需完成题目的“假定”条件。
10、假定(A)=0FBH,(B)=12H,,执行下列指令: ORG 0000H MOV A,#0FBH MOV B,#12H DIV AB END
后,A的内容是(0D),B的内容是(11),AC的内容是(0),OV的内容是(0)。 注意:完成本实验,需完成题目的“假定”条件。
11、 假定(A)=0C5H,执行下列指令: ORG 0000H MOV A,#0C5H SWAP A END
后,A的内容是(5C),AC的内容是(0 ),OV的内容是(0 )。 注意:完成本实验,需完成题目的“假定”条件。
12、假定(A)=83H,(R0)=17H,(17H)=34H,执行下列指令: ORG 0000H
MOV A,#83H ;(A)=83H MOV @R0,#17H ;((R0))=17H MOV 17H,#34H ;(17H)=34H ANL A,#17H ; (A)=03H ORL 17H,A ;(17H)=17H XRL A,@R0 ; (A)=34H CPL A ; (A)=0CBH END
后,A的内容是(0CBH )。写出每条指令执行后的目的操作数的内容。 注意:完成本实验,需完成题目的“假定”条件。
13、执行下列指令:
MOV 71H,#17H ;(71H)=17H MOV R0,#71H ;(R0)=71H MOV A,@R0 ;A=((R0)) RL A ;(A)=2E MOV R1,A ;((R1))=2E RL A ;A=5CH RL A ;A=0B8H ADD A,R1 ;A=0E6H MOV @R0,A ;((R0))=0E6H
后,实现的功能是(将71H中的内容17H扩大10倍 )。写出每条指令执行后的目的操作数的内容。
14、下列程序执行后,SP=?A=?B=?,解释每一条指令的作用,给最终执行结果的合理解释。
ORG 0000H ;程序从0000开始
LJMP MAIN ;长跳转至MAIN
ORG 0100H ;程序从0100开始
MAIN: MOV SP,#40H ;将40H赋值给SP
MOV A,#30H ;将30H赋值给寄存器A LCALL 0300H ;长调用子程序
ADD A,#04H ;将寄存器A的内容加上04H后赋值给A MOV B,A ;将A的值赋值给B
SJMP $ ;原地等待
ORG 0300H ;程序从0300H开始 MOV DPTR, #0039H ;将0039H赋值给DPTR
PUSH DPL ;SP加1后赋值给SP,将DPTR的低位值送到SP指示的
内部单元中
PUSH DPH ;SP加1后赋值给SP,将DPTR的高位值送到SP指示
的内部单元中 RET ;从子程序返回 程序执行后,SP=42H,A=30H,B=00H。
三、实验总结
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机实验—— 汇编语言指令在线全文阅读。
相关推荐: