汇编实验三_分支循环程序设计_林娜
福建农林大学金山学院实验报告
系: 信息与机电工程系 专业: 电子信息工程 年级: 2009级 姓名: 林娜 学号: 092230028 实验课程: 汇编语言 实验室号:__1#605 实验设备号: 实验时间: 2011.5.16 指导教师签字: 成绩:
实验三 分支循环程序设计
1(实验目的和要求
1、学习调试程序,查找逻辑错误;
2、学习分支语句的编程和调试;
3、学习循环语句的编程和调试。
2(实验环境
实验的硬件环境是:
IBM—PC机及其兼容机
实验的软件环境是:
操作系统:DOS 2.0以上;调试程序:DEBUG.COM;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。
3(实验
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
及实验数据记录
1. 有10个数,统计正数的个数,存放在变量M中中。经过汇编后,形成EXE文件。在DEBUG中,先用G,0命令执行程序,用D命令查看M单元的内容,会发现结果不正确。用单步执行命令T,0,单步执行程序,查找程序中的逻辑错误,注意每一次循环中AL寄存器中值的变化是否正确。(AL寄存器中存放正数的个数)
DSEG SEGMENT
MSG DB 4, -2, -6, 0, 5, 67, 8, -3, 5, 6
M DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, DS: DSEG
START: MOV AX, DSEG
MOV DS, AX
MOV CX, 10
MOV AL, 0
LEA SI, MSG
L1: MOV BL, [SI]
CMP BL, 0
JBE NEXT
INC AL
NEXT: INC SI
LOOP L1
MOV M, AL
MOV AL, 0
MOV AH, 4CH
INT 21H
CSEG ENDS
END START
2. 数据段中是一组无符号数,将最小数存放在M单元中。按上
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
方法查找
一处逻辑错误。
DSEG SEGMENT
MSG DB 13, 15, 7, 25, 24
M DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, DS: DSEG
START: MOV AX, DSEG
MOV DS, AX
MOV CX, 4
MOV AL, MSG
MOV SI, OFFSET MSG+1
L1: CMP AL, [SI]
JB NEXT
MOV AL, [SI]
NEXT: LOOP L1
MOV M, AL
MOV AL, 0
MOV AH, 4CH
INT 21H
CSEG ENDS
END START
3. 编程:在首地址为BUF开始的内存单元中存有10个字节数,求其中0
的个数,并将结果存于RESULT中。
Y,A,B,iii,1,8 4.编程:,Ai,Bi为字节型无符号数,分别存于NUM1和NUM2
开始的连续存储单元中,结果存于REST单元中。 4(算法描述及实验步骤
相应题目的算法实现代码
5(调试过程
1
将JBE NEXT 更改为JLE NEXT后:
2
将NEXT: LOOP L1 修改为NEXT: INT SI 后
LOOP L1
3(编写程序,并运行后结果为:
6. 实验结果
1.修改程序后得到正确的试验结果
2.修改程序后得到正确的试验结果
3.编写程序并运行,实验结果与实际十个字节数中的0个数一致。 7.
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
通过试验,我懂得怎样调试程序,用—T命令一步一步执行程序,同时观察出程序中的逻辑错误,并修改使得试验结果正确。在调试过程中,对基本的操作指令还不够熟练,需要多复习记牢指令符。
附录:
3. DSEG SEGMENT
BUF DB 4, 0, 0, 0, 5, 67, 8, -3, 5, 6
RESULT DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, DS: DSEG
START: MOV AX, DSEG
MOV DS, AX
MOV CX, 10
MOV AL, 0
LEA SI, BUF
L1: MOV BL, [SI]
CMP BL, 0
JNZ NEXT
INC AL
NEXT: INC SI
LOOP L1
MOV result, AL
MOV AL, 0
MOV AH, 4CH
INT 21H
CSEG ENDS
END START