汇编语言循环程序实验报告.docVIP

  • 2
  • 0
  • 约4.29千字
  • 约 8页
  • 2023-10-14 发布于湖北
  • 举报
东 北 大 学 计算机硬件技术基础实验报告 专业班级: 姓名: 学号: 实验题目: 循环程序设计 日期: 2011年11月30日 一、实验目的 (1) 加深对循环结构的理解; (2) 掌握循环程序的设计方法; (3) 熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。 二、实验内容 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 2.设STR字符串是以0结尾。试编写一个把字符串中的所有大写字母改为小写字母的程序并将转换后的字符串显示输出。 3.试编程从自然数1开始累加,直到累加和大于5050为止,统计被累加的自然数的个数,并把统计的个数送入COUNT单元,累加和送入TOTAL单元。三、算法描述流程图 实验内容1、2、3的流程图分别为图1、图2、图3。 图3图2图1 图3 图2 图1 四、实验步骤 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 1)输入源程序: DATA SEGMENT BUF DW 23,123,-12,-210,45,0,90,-453 BUF1 DW 8 DUP(0) BUF2 DW 8 DUP(0) A DW ? B DW ? DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX LEA BX, BUF LEA SI, BUF1 LEA DI, BUF2 MOV A,0 MOV B,0 MOV CX,8 L0: MOV AX,[BX] CMP AX,0 JGE L1 MOV [DI],AX ADD DI,2 INC B JMP NEXT L1: MOV [SI],AX ADD SI,2 INC A NEXT: ADD BX,2 LOOP L0 MOV AH, 4CH INT 21H CODE ENDS END START 2)运行程序。 3)检查结果无错误后将结果记录下来。 2.设STR字符串是以0结尾。试编写一个把字符串中的所有大写字母改为小写字母的程序并将转换后的字符串显示输出。 1)输入源程序: DATA SEGMENT STR DB HOW arE YoU!,0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET STR AGAIN:MOV DL,[SI] OR DL,DL JZ OK CMP DL,A JB NEXT CMP DL,Z JA NEXT ADD DL,20H MOV [SI],DL NEXT: MOV AH,2 INT 21H INC SI JMP AGAIN OK: MOV AH,4CH INT 21H CODE ENDS END START 2)运行程序。 3)检查结果无错误后将结果记录下来。 3.试编程从自然数1开始累加,直到累加和大于5050为止,统计被累加的自然数的个数,并把统计的个数送入COUNT单元,累加和送入TOTAL单元。1)输入源程序: DATA SEGMENT COUNT DW ? TOTAL DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,0 M

文档评论(0)

1亿VIP精品文档

相关文档