收藏 分享(赏)

汇编语言程序设计步骤.doc

上传人:yjrm16270 文档编号:7360742 上传时间:2019-05-16 格式:DOC 页数:2 大小:64.50KB
下载 相关 举报
汇编语言程序设计步骤.doc_第1页
第1页 / 共2页
汇编语言程序设计步骤.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、汇编语言程序设计步骤:1、 分析问题,抽象出描述问题的数据模型2、 确定问题的算法思想3、 画出流程图或结构图4、 分配存储器和工作单元(寄存器)5、 逐条编写程序6、 静态检查,上机调试例:编程查找考生的最高分,假设所有考生分数已存入计算机内存。1、 分析问题根据条件、特点、规律数学模型本例分数已给定为 0200 之间的整数集合(考虑加试分) ,记为S,找 maxS(注:简单问题不一定写数学模型) 。2、 确定算法思想最好利用现成算法和程序设计方法,若无,则需根据实践经验总结算法思想。如本例,从成绩单第一分数往下看,边看边比较,记住较高分,舍弃较低分,直至看完,最高分存于脑中。归纳算法思想:

2、建立数据指针并指向数据区首地址。将第一数取入寄存器(如AL) ,与下一数比较,若下一数大则将其取入寄存器,否则调整指针,再与下一数比较,重复上述过程,直至比较完毕,寄存器中即最高分。读分数用 MOV 指令,比较用 CMP 指令,分析判断用条件转移指令。3、 画流程图或结构图有逻辑流程、算法流程、程序流程等,复杂问题需画模块结构。本例简单,只画出程序流程图(用模块化结构的 N-S 流程图表示):本例的 N-S 流程图开始初始化取第一数到寄存器与下一数比较下一数大?是 否取大数到寄存器修改指针,计数次数减一返回到循环体开始,直到计数次数为 0 退出循环结束图中初始化包括:设一个计数器,将分数个数减

3、一后送计数器,每比较一次减一,至零查找结束;建立一个指针指向数据区。4、 分配存储器空间和工作单元(寄存器)定义数据段、堆栈段、代码段等。工作单元一般用寄存器。本例:分数放数据段,建100字节堆栈空间,BX 作数据指针,CX 作计数器,AL 放最高分。5、 逐条编写程序DATA SEGMENTFEN DB 85,90,60,75,87,35,80,78,96,82 ;存分数MAX DB ? ;存最高分DATA ENDSSTACK SEGMENT PARA STACK STACKDB 100 DUP(?) ;100 字节堆栈STACK ENDSCODE SEGMENTASSUME CS:CODE

4、,DS:DATA,SS:STACKSTART PROC FARPUSH DSMOV AX,0PUSH AX ;为了返回 DOSMOV AX,DATAMOV DS,AX ;置数据段寄存器MOV BX,OFFSET FEN ;置数据指针MOV CX,MAX-FEN ;置计数器初值DEC CX ;N 个分数比较 N-1 次MOV AL,BX ;取第一个分数LOP: INC BX ;调整指针CMP AL,BX ;与下一数比较JAE NEXT ;大于等于则转MOV AL,BX ;否则取下一数NEXT: LOOP LOP ;计数器减一,;不为零转 LOPMOV MAX,AL ;存放最高分RET ;返回 DOSSTART ENDPCODE ENDSEND START6、 静态检查,上机调试选用指令尽量字节少,使其执行速度快。易错处应重点查,如比较次数、转移条件等。确信无错后方可上机调试。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报