微机原理与接口技术上机报告.docx
《微机原理与接口技术上机报告.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术上机报告.docx(9页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术上机报告
《微机原理与接口技术》
上机报告
系部:
机电工程学院
**********************
学号:
*********
*************************
第一次上机报告
一、上机时间与地点
时间:
第五周,九十节
地点:
02实验楼F机房
二、上机目的
熟悉汇编语言的基本语法、汇编程序的建立过程和计数控制循环法的常见操作方法。
掌握常用标志寄存器的含义和用途及各类运算对标志位的影响。
三、上机内容
编写一个程序,使用MOV及ADD操作,调试确定各标志位。
四、程序举例
MOVAX5623H
ADDAX0CFA8H
五、调试过程
MOVAX5623H(AX=5623H)
ADDAX0CFA8H(AX=25CBH)
CF=1OF=0SF=OZF=OAF=0PF=1
六、运行结果
25CBH
七、收获与改进
常用标志寄存器的含义和用途。
其中,CF表示进位标志位;PF表示奇偶标志位;AF表示辅助进位标志位;ZF表示零标志位;SF表示符号标志位;OF溢出标志位。
通过上机更加形象直观的感受到各个标志位的功用和意义。
第二次上级报告
一、上机时间与地点
第六周周日晚上9,10节
02实验楼F机房
二、上机目的
练习逻辑运算指令、数学运算指令、移位运算指令
三、上机内容
用轻松汇编这个软件作为编程环境,用汇编语言来完成编辑一些循环运算指令,数学运算指令,移位运算指令
四、程序举例
完成从1加到100(即1+2+3+4+5+6+…+99+100)的操作,结果保存在数据段的SUM单元。
STACKSSEGMENTSTACK;堆栈段
DW128DUP(?
);注意这里只有128个字节
STACKSENDS
DATASSEGMENT;数据段
SUMDW?
DATASENDS
CODESSEGMENT;代码段
ASSUMECS:
CODES,DS:
DATAS
START:
MOVAX,DATAS;初始化
MOVDS,AX
SUBAX,AX
MOVCX,100
CLC
LP:
INCAX
ADCSUM,AX
LOOPLP
MOVAH,4CH
INT21H
MOVAX,4C00H;退出程序
INT21H
CODESENDS
ENDSTART
五、调试过程
先保存-命名文件名-编译-链接-生成
那部分出错了,就改正那部分的,直到完全正确
六、运行结果
5050
七、收获与改进
从这个程序的编辑过程中我感受到了汇编语言的强大,很直观的就可以读懂程序的含义,但代码比较难记,而且语法严谨,我调试的过程中犯了一点错误,修改的次数较多,希望我以后可以不再犯同样的错误,也是因为我练的比较的少,还很生疏,我以后一定多加练习,把汇编学好。
第三次上级报告
一、上机时间与地点
第七周周日晚上9,10节
02实验楼F机房
二、上机目的
熟练运用轻松汇编软件,通过程序汇编,练习使用循环位移指令
三、上机内容
练习程序汇编设计,学习使用循环右移指令,并巩固对各项指令运用
四、程序举例
MOVAL,5DH
MOVCL,2
RORAL,C
五、调试过程
MOVAL,5DH(AL=01011101B)
MOVCL,2(CL=2)
RORAL,CL(AL=01010111B)CF=0
六、运行结果
AL=57H,CF=0
七、收获与改进
通过程序汇编,熟练掌握运用轻松汇编软件的方法,学会了使用循环位移指令的方法,并巩固了对各项指令运用。
某些地方掌握不牢,有待学习提高。
第四次上机报告
一、上机时间与地点
第八周周日晚上9,10节
02实验楼F机房
二、上机目的
学习使用汇编软件进行程序调试
三、上机内容
编写一个程序,编译、链接及调试程序,调试确定各标志位。
计算5X7=?
四、程序举例
MOVEAL,05H
MOVBL,07H
MULAL,BL
AAM
五、调试过程
MOVEAL,05H(AL=05H)
MOVBL,07H(BL=07H)
MULAL,BL(AX=0023H)
AAM(AH=03H,AL=05H)
六、运行结果
0023H=35
七、收获与改进
通过运行程序,了解了各个寻址方式的区别与联系,了解汇编语言语法错误的改进方法及常用寄存器和存储器之间的关系,熟悉汇编语言的基本语法和指令的用途。
第五次上级报告
一、上机时间与地点
第9周周日晚上9,10节
02实验楼F机房
二、上机目的
练习循环程序的设计
三、上机内容
验证例4-5,例4-7,例4-8,并完成课后习题4-9,4-10
四、程序举例
从自然数1开始累加,知道累加到大于1000为止,统计被累加的自然数的个数,并把统计的个数,送入单元n中,把累加和送入单元sum中。
DW128DUP(?
);注意这里只有128个字节
STACKSENDS
DATASSEGMENT;数据段
NDW?
SUMDW?
DATASENDS
CODESSEGMENT;代码段
ASSUMECS:
CODES,DS:
DATAS
START:
MOVAX,DATAS;初始化
MOVDS,AX
MOVAX,0
MOVBX,0
LOOPT:
INCBX
ADDAX,BX
INCCX
CMPAX,1000
JBELOOPT
MOVN,CX
MOVSUM,AX
MOVAX,4C00H;退出程序
INT21H
CODESENDS
ENDSTART
五、调试过程
先保存-命名文件名-编译-链接-生成
那部分出错了,就改正那部分的,直到完全正确
六、运行结果
Sum=1035,n=46
七、收获与改进
从这个程序的编辑过程中我感受到了汇编语言的强大,很直观的就可以读懂程序的含义,但代码比较难记,而且语法严谨,我调试的过程中犯了很多错误,修改的次数较多,希望我以后可以不再犯同样的错误,也是因为我练的比较的少,还很生疏,我以后一定多加练习,把汇编学好。
第六次上机报告
一、上机时间与地点:
时间:
第10周,九十节
地点:
02实验楼F机房
二、上机目的:
初步掌握汇编语言软件的应用,了解汇编语言的基本结构和语法,学会如何编写程序调试程序。
三、上机内容:
编写一个程序,编译、链接及调试程序,调试确定各标志位。
计算5X7=?
四、程序举例:
MOVEAL,05H
MOVBL,07H
MULAL,BL
AAM
五、调试过程
MOVEAL,05H(AL=05H)
MOVBL,07H(BL=07H)
MULAL,BL(AX=0023H)
AAM(AH=03H,AL=05H)
六、运行结果
0023H=35
七、收获与改进:
通过运行程序,了解了各个寻址方式的区别与联系,了解汇编语言语法错误的改进方法及常用寄存器和存储器之间的关系,熟悉汇编语言的基本语法和指令的用途。
第七次上机报告
一、上机时间与地点
第11周周日晚上9,10节
02实验楼F机房
二、上机目的
综合编程:
熟悉掌握各类标志器的用途及各类运算队标志器的影响
三、上机内容
编写一个程序,使用MOV和ADD操作,调试确定各标志位
四、程序举例
MOVAX,5623H
ADDAX,0CFA8H
五、调试过程
MOVAX5623H(AX=5623H)ADDAX0CFA8H(AX=25CBH)CF=1OF=0SF=OZF=OAF=0PF=1
六、运行结果
25CBH
七、收获与改进常用标志寄存器的含义和用途。
其中,CF表示进位标志位;PF表示奇偶标志位;AF表示辅助进位标志位;ZF表示零标志位;SF表示符号标志位;OF溢出标志位。
第八次上级报告
一、上机时间与地点
第12周周日晚上9,10节
02实验楼F机房
二、上机目的
学会运用轻松汇编软件,通过程序汇编设计,掌握顺序结构的应用,并巩固对各项指令运用
三、上机内容
练习程序汇编设计,学习使用顺序结构,并巩固对各项指令运用
四、程序举例
DATASSEGMENT
MSGDB'welcome','$';定义大写字母字符串
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS
START:
MOVAX,DATAS
MOVDS,AX
MOVBX,0;BX=0指向第一个字母
LOOP1:
SUBMSG[BX],'a'-'A';小写字母减20H转换为大写
INCBX;指向下一个字母
CMPMSG[BX],'$';下一个字符不是'$'则继续转换
JNZLOOP1
MOVDX,OFFSETMSG;调用9号功能显示字符串
MOVAH,9
INT21H
MOVAH,7
INT21H
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
五、调试过程
通过单步调试,认识每一步各个变量的变化值
六、运行结果
七、收获与改进
通过单步调试,认识每一步各个变量的变化值.效率低,水平有待提高,某些问题不能独立解决。