一、实验目的
1、掌握循环程序的设计方法。
2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。
二、实验预习要求
1、复习比较指令、条件转移指令和循环指令。 2、复习循环程序的结构、循环控制方法等知识。
3、读懂“实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。
4、根据“实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。
5、从“实验习题”中任选一道题目,编写源程序,以便上机调试。
三、实验内容
计算1+2+„„n=?,其中n 通过键盘输入。要求在屏幕上提供如下信息: Please input a number(1 627): ;出现此信息后通过键盘输入一个小于628的无符号整数
1+2+„..n=sum ;其中n 为用户输入的数,sum 为所求的累加和 程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32位二进制数所能表示的范围)。 1、 编程指导
(1) 键盘输入的
十进制数如368在计算机中是以33H ,36H ,38H 形式存放的,如何
将它们转换为一个二进制数101110000B ,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换为二进制数的程序清单如下: DATA SEGMENT
INF1 DB "Please input a number (0-65535):$" IBUF DB 7,0,6 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS: CODE, DS:DATA START: MOV AX, DATA