循环程序设计实验(6页).doc
《循环程序设计实验(6页).doc》由会员分享,可在线阅读,更多相关《循环程序设计实验(6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-2.4 循环程序设计实验2.4.1 实验目的1、 掌握循环程序的设计方法。2、 掌握比较指令、转移指令和循环指令的使用方法。3、进一步掌握调试工具的使用方法。2.4.2 实验预习要求1、 复习比较指令、条件转移指令和循环指令。2、 复习循环程序的结构、循环控制方法等知识。3、 读懂“2.4.3 实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。4、 根据“2.4.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。5、 从“2.4.4 实验习题”中任选一道题目,编写源程序,以便上机调试。2.4.3 实验内容计算1+2+n=?,其中n通过键盘输入。要求在
2、屏幕上提供如下信息:Please input a number(1627):;出现此信息后通过键盘输入一个小于628的无符号整数1+2+.n=sum;其中n为用户输入的数,sum为所求的累加和程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32位二进制数所能表示的范围)。1、 编程指导(1) 键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换为二进制数的程序清单如下:DATA SEGMENT INF1 DB Please i
3、nput a number (0-65535):$IBUF DB 7,0,6 DUP(?)DATA ENDSCODESEGMENT ASSUME CS: CODE, DS:DATASTART:MOVAX, DATA MOV DS, AXMOV DX, OFFSET INF1MOV AH, 09HINT 21HMOV DX, OFFSET IBUF;键入一个十进制数(65535)MOV AH, 0AH INT 21HMOV CL, IBUF+1;十进制数的位数送CXMOV CH, 0MOV SI, OFFSET IBUF+2;指向输入的第一个字符(最高位)MOV AX, 0;开始将十进制数转换为
4、二进制数AGAIN: MOVDX, 10; (010+a4) 10+) 10+a0MUL DX AND BYTE PTR SI, 0FH ADD AL, SI ADC AH, 0 INC SI LOOP AGAINMOV AH,4CH INT 21HCODE ENDS END START 本程序功能:从键盘接收一个无符号十进制整数(小于65535),将其转换为二进制数,转换结果存在AX寄存器中。(2) 累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数。将二进制数转换为十进制数的程序清单如下:DATASEGMENT OBUFDB 6 DUP(?)DATA ENDSCODE
5、SEGMENT ASSUME CS: CODE, DS: DATASTART:MOVAX, DATA MOV DS, AXMOV BX, OFFSET OBUF+5MOV BYTE PTR BX,$MOV CX, 10;做(DX):(AX)/10运算LOOP1:MOVDX, 0;被除数高16位清0 DIV CXADD DL, 30H;将DL中的一位十进制数转换为ASCII码DEC BX MOV BX, DLOR AX, AXJNZ LOOP1;判断商是否为0,不为0继续MOV DX, BXMOV AH, 09H INT 21H;显示转换得到的十进制数MOV AH, 4CH INT 21HCOD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 程序设计 实验
限制150内