实验名称: 逻辑及布尔指令和控制转移类指令练习
实验目的:
1. 熟悉掌握逻辑及布尔和控制转移指令的功能及编程;
2. 熟悉单片机接口中各位信号的逻辑操作
3. 掌握字节数据的拼接、转换及组合。
实验要求:
按照实验安排准时参加实验,按照实验步骤操作,仔细观察及记录实验过程及结果,回答实验相关问题,最终根据实验结果撰写实验指导书。
实验内容:
1、 从教材上任意选择一程序,将之输入,练习程序调试的基本方法,体会STEP INTO,STEP OVER,运行到光标处,全部运行,设置断点,清除断点,等等基本的调试方法。
2、 将教材中关于逻辑操作与控制转移指令分别逐条进行实验,注意体会指令语法要求以及所执行的操作。
3、 30H,31H单元用非压缩BCD码表示两位的十进制数,将其转换成十进制数存入32H单元;将其转换成十六进制数存入33H单元。(30H为高位,31H为低位)
实验过程:
1. 熟悉MOV指令,在KEIL软件里建立新工程并输入:
ORG 0
MOV A.#00110000B
MOV B.#7FH
MOV SP.#07H
MOV DPTR.#010FH
MOV R0.#A2H
MOV A.@R0
MOV B.@DPH
MOV A.@DPL
END
2. 分步运行,观察寄存器A,B,DPTR,堆栈指针SP和程序计数器PC的值。
3. 30H,31H单元用非压缩BCD码表示两位的十进制数,将其转换成十进制数存入32H单元;将其转换成十六进制数存入33H单元。(30H为高位,31H为低位)
输入:
ORG 0
MOV 30H,#00001000B
MOV 31H,#00001001B;用非压缩的BCD码在30H和31H里表示89D
MOV A,30H
RRC A
RRC A
RRC A
RRC A
MOV R2,30H
ADDC A,R2
DA A
MOV 33H,A
END