弗原創IT教育中心 对下段程序进行手工汇编 地址 指令代码 源程序 ORG 2000H 2000H D291 START: SEtB P1. 2002H 753003 DL mov 30H.#03H 2005H 7531F0 DLO: MOv 31H, #OFOH D008H D5 31 rel1 DLl:D小NZ31H,Dl 200BH D5 30 rel2 dnZ 30H, DLO 200EH B291 CP 200H 空空2 AJMP DL
对下段程序进行手工汇编
弗原創IT教育中心 四.程序设计的基本方法 编写程序要求: 不仅要完成规定的功能任务,而且还要求: 执行速度快、占用内存少、条理清晰 阅读方便、便于移植、巧妙而实用。 般应按以下几个步骤进行: ①1)分析问题,确定算法或解题思路 2)画流程图 (3)编写源程序 (4)汇编和调试
四. 程序设计的基本方法 编写程序要求: 不仅要完成规定的功能任务,而且还要求: 执行速度快、占用内存少、条理清晰、 阅读方便、便于移植、巧妙而实用。 一般应按以下几个步骤进行: ⑴ 分析问题,确定算法或解题思路 ⑵ 画流程图 ⑶ 编写源程序 ⑷ 汇编和调试
弗原創IT教育中心 流程图符号和说明 符号 名称 亵示的功能 起止框 程序的开始或结束 外理框 各种处理操作 判断框 条件转移搡作 输入输出框 输入输出操作 流程线 描述程序的流向 引入引出连接线流程的连接
流程图符号和说明:
弗原創IT教育中心 第二节汇编语言程序设计举例 顺序程序 顺序程序是指按顺序依次执行的程序,也 称为简单程序或直线程序。 顺序程序结构虽然比较简单,但也能完成 定的功能任务,是构成复杂程序的基础
第二节 汇编语言程序设计举例 一. 顺序程序 顺序程序是指按顺序依次执行的程序,也 顺序程序是指按顺序依次执行的程序,也 称为简单程序或直线程序。 称为简单程序或直线程序。 顺序程序结构虽然比较简单,但也能完成 顺序程序结构虽然比较简单,但也能完成 一定的功能任务,是构成复杂程序的基础。 一定的功能任务,是构成复杂程序的基础
弗原創IT教育中心 已知16位二进制负数存放在R1R0中,试求其 补码,并将结果存在R3R2中。 解:二进制负数的求补方法可归结为“求反加1”,符号 位不变。利用CP指令实现求反;加1时,则应低8位先加 高8位再加上低位的进位。注意这里不能用INC指令 因为INC指令不影响标志位。 程序如下: CONT: MOV A RO 读低8位 CPL A 取反 ADD A,#1 加1 MOV R2A 存低8位 MOV A R1 读高8位 CPL A 取反 ADCA,#8OH加进位及符号位 MOV R3.A 存高8位 RET
CONT: MOV A,R0 ;读低8位 CPL A ;取反 ADD A,#1 ;加1 MOV R2,A ;存低8位 MOV A,R1 ;读高8位 CPL A ;取反 ADDC A,#80H ;加进位及符号位 MOV R3,A ;存高8位 RET ; 已知16位二进制负数存放在R1R0中,试求其 补码,并将结果存在R3R2中。 解:二进制负数的求补方法可归结为“求反加1”,符号 位不变。利用CPL指令实现求反;加1时,则应低8位先加 1,高8位再加上低位的进位。注意这里不能用INC指令, 因为INC指令不影响标志位。 程序如下: