现在的位置: 首页 > 综合 > 正文

循环程序设计

2019年05月17日 ⁄ 综合 ⁄ 共 1272字 ⁄ 字号 评论关闭

实验二 循环程序设计

实验目的:

1.掌握循环结构程序设计方法

2.掌握循环结构程序调试方法

实验步骤:

1.编辑

利用编辑器(记事本,也可采用其它编辑器)建立一个名为ASM2.ASM的文本文件,内容如下:

DATAS SEGMENT
 STRING DB 11,-2,3,-4,5,-6,7,9,-8,8,7,-3,2,-1,9
 
 COUNT EQU $-STRING
 STRING1 DB 20 DUP(?)
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
   MOV AX,DATAS
   MOV DS,AX
 
   LEA SI,STRING
   LEA DI,STRING1
 llp:  
   mov AL,[SI]
   test AL,80H
   JZ  ZHENGSHU
   INC SI
   LOOP  llp
   
 ZHENGSHU: MOV [DI],AL
            INC SI
            INC DI
            JMP llp
 
CODES ENDS
   END START
;该程序能实现选出正数功能,缺点是不知何时结束该查看d ds:0000

2.复制

要求将first行中的非负数复制到second行,画出流程图并编写程序。

利用DEBUG调试正确。

3.排序

要求将second行中的数据按升序重新排列,画出流程图并编写程序。

利用DEBUG调试正确。

DATAS SEGMENT
    ;此处输入数据段代码
    BUF DB 6,4,2,87,0,3,1,8,5,9  
    COUNT EQU $-BUF
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    MOV DX,COUNT-1
   SORT1:  MOV BL,0
           MOV SI,OFFSET BUF
           MOV CX,DX
   SORT2:  MOV AL,[SI]
              CMP AL,[SI+1]
              ;JNA NOXHG
              JNB NOXHG
              XCHG AL,[SI+1]
              XCHG AL,[SI]
              MOV BL,0FFH
   NOXHG:  INC SI
              LOOP SORT2
              DEC DX
              CMP BL,0
              JNE SORT1
               MOV AH,4CH
            INT 21H
   
CODES ENDS
    END START

预习:

1. 学习DEBUG命令。

2. 按要求编写程序。

实验报告要求:

1. 根据步骤2和步骤3中的要求,画出流程图、写出源程序。

2. 记录调试的操作及其结果。

3. 回答以下问题:

利用DEBUG命令连续、单步、带断点运行程序,在步骤2和步骤3的调试中各有什么优缺点。

【上篇】
【下篇】

抱歉!评论已关闭.