汇编课内实验报告精要.docVIP

  • 1
  • 0
  • 约5.34千字
  • 约 15页
  • 2017-05-07 发布于湖北
  • 举报
汇编课内实验报告精要

汇编语言与接口技术课程实验报告 实验类别 课内实验 专业/班级 软件41 学 号 2141601019 学生姓名 祝超 提交日期 2016.11.29 1 实验一 3 1.1 实验题目 3 1.2 问题分析与程序设计 3 1.3 结果分析 4 2 实验二 5 2.1 实验题目 5 2.2 问题分析与程序设计 5 2.3 结果分析 7 3 实验三 8 3.1 实验题目 8 3.2 问题分析与程序设计 8 3.3 结果分析 8 4 实验四 8 4.1 实验题目 8 4.2 问题分析与程序设计 8 4.3 结果分析 8 5. 实验总结 8 在10个数中找出最大数。 1.2 问题分析与程序设计 (1)设计方法和关键问题解决方法 程序的主要思想是将十个数字存入数组,用一个指针指向这个数组。将最大值初始化为0,依次循环,每次都将当前最大值和指针指向的数字进行比较,如果最大值比当前值小,则更新最大值,直至十次循环结束,得到这个数组的最大值。 (2)程序流程图及主要源代码 .model small .stack 64 .data data1 db 12h,13h,14h,15h,69h,23h,34h,35h,47h,22h max db ? .code main proc far mov ax,@data mov ds,ax mov si,offset data1 mov cx,0Ah sub al,al lp: cmp al,[si] ja next mov al,[si] next: inc si dec cx jnz lp mov max,al mov ax,4ch int 21h main endp end main 1.3 结果分析 (1)运行结果 (2)结果分析/说明 偏移地址为00H开始存储的是16进制表示的十个大小为一个字节的数字,偏移地址为10H开始存储的是十个数字中的最大值,即69H 2 实验二 2.1 实验题目 求100以内能被7整除的所有正数之和。 2.2 问题分析与程序设计 (1)设计方法和关键问题解决方法 设置循环计数器的初始值为100,每次循环都检查计数器当前值能否被7整除,如果能就存入数组,同时将该值和sum相加,然后进行自减操作;否则直接进行自减操作,直至计数器值为0结束循环。Sum存储的即为要求值。 (2)程序流程图及主要源代码 DATAS SEGMENT ORG 10H DATA1 DB 7 DATA2 DB 0 QOUT DB ? REMAIN DB ? ORG 20H NUM DB 20 DUP(?); ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;求100以内7的倍数 MOV DL,100 MOV SI,OFFSET NUM LP: MOV AL,DL SUB AH,AH DIV DATA1 CMP DATA2,AH JNE NEXT MOV [SI],DL INC SI NEXT: DEC DX JNZ LP ;此处输入代码段代码 MOV AH,4CH INT 21H CODES ENDS END START 2.3 结果分析 (1)运行结果 (2)结果分析/说明 偏移地址为20H开始记录的是100以内能够被7整除的数字,偏移地址为30H开始记录的是这些100以内能够被7整除的数字的和,即02DFH。 3 实验三 3.1 实验题目 求出 Fibonacci数列的前20个数,Fibonacci数列的性质如下: 1) F(n)=F(n-1)+F(n-2) 2)其任意一项平方数为其前项和后项的积加一或者减一 F(n)*F(n)

文档评论(0)

1亿VIP精品文档

相关文档