3.3汇编语言程序设计实验
实验六 分支程序设计
一、 实验目的
1. 进一步熟悉MCS-51指令系统,了解汇编语言程序设计的基本结构。 2. 掌握分支结构程序设计的方法。
3. 学会用条件转移指令、CJNE、JMP及其配合使用来编写二分支、三分支和多分支程序。 二、 实验内容
1. 二分支的条件转移程序
设变量X存放于R0,函数值Y存放在R1,其中X、Y均为二进制数。试按照下式的要求给Y赋值:
1 X>0
Y= 0 X=0 -1 X<0
程序框图如图3-5所示:
:
三、实验步骤
1. 根据实验内容和参考程序流程图,编出相应的分支结构程序。 2. 输入程序,汇编成功; 3. 用F4(执行到光标处)、F7(跟踪执行)、F8(单步执行)或断点运行等方式调试程序; 4. 观察程序的流程,记录运行结果。 四、思考题
1.CJNE指令对CY 有影响吗?用CJNE 和JC/JNC指令配合应注意什么?
在用JMP 指令前,若变址?255怎么办?
答:1)CJNE指令对CY 有影响。CJNE (目的字节),(源字节),rel 功能 :目的字节与源字节比较,相等则继续执行,不相等则转移,同时,
若目的字节>=源字节,(C)=0 若目的字节<源字节,(C)=1
2)选取好正确的direct值以便确定Cy的值
3)提前设好变址,使变址<255 2.用什么指令可以实现多分支之间的隔离?
答:控制、条件转移指令,包括JMP、CJNE、DJNZ、JC、JB等,可以转移到$或其他。
五、实验报告要求
写出题目运行结果。 六、参考程序清单
1、二分支的条件转移程序 1) 用二分支结构程序实现:
ORG 0000H
MOV A, R0
JZ LOAD ;等于零转LOAD JNB ACC.7,GO ;大于零转GO MOV A, #0FFH SJMP LOAD GO: MOV A, #01H LOAD: MOV R1, A SJMP $ END
1)赋值(R0)=00H ORG 0000H MOV A, R0 JZ LOAD (pc) (psw) (A) (P) (R1) (R0) (DPTR) (SP) 备注 C:0X0000 C:0X0001 0X00 0X00 0 0X00 0X00 0X0000 0X07 等于零转LOAD JNB ACC.7,GO MOV A, #0FFH SJMP LOAD GO: MOV A, #01H LOAD: MOV R1, A SJMP $ END C:0X0003 C:0X0006 C:0X0008 C:0X000A C:0X000C C:0X000D 0X00 运行结果:(R1)=0X00
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库河北工业大学 单片机 第三次实验内容在线全文阅读。
相关推荐: