1、微机原理与接口技术实验微机原理与接口技术实验大纲课程名称:微机原理和接口技术实验学时:152实验人数:130人分组方式: 2人一组完成实验实验室名称:学苑南楼1-305适用专业:计算机科学与技术、通信工程、信息工程、电子信息工程、电子科学与技术、微电子学一、本课程实验教学目的与要求通过实验要求学生掌握:1微型计算机的组成与工作原理28086汇编语言程序设计与调试方法3常用接口芯片的功能及接口技术4利用AEDK8688ET实验机开发与调试程序的方法二、主要仪器设备及现有台套数十六位微型计算机(8088/8086)实验培训系统 30套微型计算机 30套三、实验课程内容和学时分配序号实验项目名称目的
2、要求学时分配实验类型每组人数是否考核1字符和数据的显示了解数据显示时需转换为ASCII码的原理2基础228086指令观察掌握DEBUG调试程序的方法2基础23字母大小写转换了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。2综合24字符串匹配掌握分支程序的设计方法及键盘输入信息的用法。2综合25整数排序掌握用汇编语言编写气泡排序程序的思路和方法2综合26磁盘文件读写通过阅读并调试示例程序,完成程序设计题,掌握对磁盘文件的读写操作2综合2四、实验报告范本实验报告年级: 专业: 班级: 实验人员:实验项目:实验一、字符和数据的显示实验日期:XXXX 年XX 月XX 日实验设备和软件:
3、电脑一台、预装WINXP 操作系统、MASM5.0实验要求和要求:实验内容:实验电路搭接:实验数据分析:思考题回答:实验总结:本次实验附件:实验数据实验程序五、实验项目的内容和要求实验一1.实验项目名称:字符和数据的显示2.实验目的:掌握字符和数据的显示方法。3.实验要求:了解数据显示时需转换为ASCII码的原理。4.实验内容:将字符串中字符和数据的个数显示在屏幕上代码:data segment msg1 db 0dh,0ah,Input a string, press Enter or Space$ msg2 db 0dh,0ah,Number of digits=$ msg3 db 0dh
4、,0ah,Number of non-digits=$ msg4 db 0dh,0ah,Number of chars=$ str db , , a db 0;digit b db 0;not digit c db 0;alldata endscode segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov ah,09h mov dx,offset msg1 int 21h ;jmp finish again: mov ah,01h int 21h cmp al,0dh jz disp inc c cmp al,0 jl
5、notnum cmp al,9 jg notnum inc a jmp again notnum: inc b jmp again disp: mov ah,09h mov dx,offset msg2 int 21h mov al,a ;转换a数值为字符串str lea bx,str call numtochar lea bx,str ;显示字符串str call dispnum mov ah,09h mov dx,offset msg3 int 21h mov al,b ;转换b数值为字符串str lea bx,str call numtochar lea bx,str ;显示字符串str
6、 call dispnum mov ah,09h mov dx,offset msg4 int 21h mov al,c ;转换c数值为字符串str lea bx,str call numtochar lea bx,str ;显示字符串str call dispnum finish: mov ah,4ch int 21hnumtochar proc near mov cx,3 mov si,2next1: mov ah,0 mov dl,0ah div dl add ah,30h mov bx+si,ah dec si loop next1 retnumtochar endp dispnum
7、proc near mov cx,3 mov si,0next2: mov dl,bx+si mov ah,02h int 21h inc si loop next2 retdispnum endpcode endsend start 5.思考 功能中断是如何实现数据的输入输出的?实验二1.实验项目名称:8086指令观察2.实验目的:掌握MASM,LINK,DEGUG的使用方法。3.实验要求 (1)掌握汇编语言程序编辑、汇编、链接和调试的基本概念。 (2) 掌握在PC机上建立、汇编、链接和运行8086汇编语言程序的过程。 (3) 掌握DEBUG常用命令的使用方法。 (4) 通过观察深入掌握数据
8、传送类、算术运算类和逻辑运算类等各类指令的功能。 4实验内容 试编写如下两个程序,编译、链接、运行,并进行DEBUG 动态调试3 将两个三十二位十六进制数进行相加,要求加数和被加数存放于变量DATA1 和DATA2 中,结果保存在变量SUM 中。(例:12121212H34343434H?)。(2)在PC 屏幕上打印“HELLO”字样。5.思考(1)程序中的字符串数据是一什么样的形式存放在数据区中的?(2)顺序结构程序中IP指针如何变化?实验三1.实验项目名称:字母的大小写转换2.实验目的和要求:了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。3实验内容: 从键盘输入大写字符串
9、(以回车结束),然后把他们以小写字符的形式显示在屏幕上。实验四1.实验项目名称:字符串匹配2.实验目的和要求:掌握分支程序的设计方法及键盘输入信息的用法。3实验内容:将键盘输入的两个字符串作比较,如相同,则显示“Match”;否则,显示“No match”。代码:; PROGRAM TITLE GOES HERE - - Compare string; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *data segment ; def ine data segment string1 db Move t
10、he cursor backward. string2 db Move the curs or backward. mess1 db Match,13,10, $ mess2 db No match,13,10, $data ends;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *program segment ;def ine code segment;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
11、 - - - - -main proc far assume cs:program,ds:data,es:datastart: ;s ta rting execution address ;set up stack for return push ds ; save o ld data segment sub ax,ax ;put zero in AX push ax ;save it on stack ;s et DS register to current data segment mov ax,data ;datarea segment addr mov ds,ax ; into DS
12、register mov es,ax ; in to ES re gi st er ;MAIN PART OF PROGRAM GOES HERE lea si ,string1 lea di ,string2 cld mov cx,25 repz cmpsb jz match lea dx,mess2 jmp short dispmatch: lea dx,mess1disp: mov ah,09 int 21h ret ; return to DOSmain endp ;end of main par t of program;- - - - - - - - - - - - - - - -
13、 - - - - - - - - - - - - - - - - - - - - - - - - - -program ends ;end of code segment;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *end start ;end assembly实验五 整数排序1.实验项目名称:排序排序2.实验目的:掌握用汇编语言编写冒泡排序程序的思路和方法。3.实验要求:对于输入的若干整数进行排序。4.实验内容(1)输入若干个整数,存储在内存区中;(2)设计程序将这些数由小到大排序,排序后的数,
14、仍放在该区域中;(3)输出排序后的结果。实验六 磁盘文件读写1. 实验项目名称:磁盘文件读写2. 实验目的:通过阅读并调试示例程序,完成程序设计实验六 磁盘文件读写实验 1. 实验名称:磁盘文件读写2. 实验目的:通过阅读并调试示例程序,完成程序设计题,掌握对磁盘文件的读写操作。3. 实验原理:(1) 打开文件(功能号3DH)调用格式: MOV DX,OFFSET BUFFER;DS:DX指向文件标识符 MOV AH,3DH MOV AL,0;或者1,2 INT 21H功能: 在缺省或指定的磁盘目录下,查找并打开指定的文件,为读写文件返回一个文件描述字。入口: AL=0,文件打开供读 AL=1
15、,文件打开供写 AL=2,文件打开供读写 DS:DX指向文件标识符出口: CF=0,打开成功,AX=文件描述字,文件打开后,读写指针指向文件的头一个字节。 CF=1,打开失败,AX=错误类型码(2) 关闭文件(功能号3EH)调用格式: MOV AH,3EH MOV BX,文件描述字 INT 21H功能: 内存缓冲区文件送磁盘,关闭文件。若文件被修改,则目录项中的日期、时间和文件大小被修改。入口: BX是由打开文件(3DH)或建立文件(3CH)等调用返回的有效描述字。出口: CF=0,关闭文件成功 CF=1,关闭文件失败。AX=错误类型码。(3) 读文件(功能号3FH)调用格式: MOV DX,
16、OFFSET BUFFER;DS:DX指向文件存入的缓冲区 MOV BX,文件描述字 MOV CX,文件字节数 MOV AH,3FH INT 21H功能: 按照有效的文件描述字,从磁盘文件的当前指针下读文件到缓冲区,长度由CX指定。入口: DS:DX指向读入缓冲区,BX是有效的文件描述字,CX是要读入的字节数。出口: CF=0,读文件成功,AX=实际读入的字节数 CF=1,读文件失败,AX=错误类型码(4) 写文件(功能号40H) 调用格式: MOV AH,40H LEA DX,BUFFER;DS:DX指向数据缓冲区 MOV BX,文件描述字 MOV CX,数据长度(字节数) INT 21H功
17、能: 按照有效的文件描述字,把缓冲区数据写到磁盘文件当前指针下,长度由CX决定。入口: BX=有效的文件描述字,CX=要求写入磁盘文件的字节数,DS:DX指向数据缓冲区。出口: CF=0,写文件成功,AX=实际写入磁盘的字节数 CF=1,写文件失败,AX=错误类型码表1 错误类型码错误类型码含义1无效功能号2文件没找到3路径未找到或文件不存在4无文件描述字或打开文件太多5拒绝存取(访问失败)6无效文件描述字7内存文件控制块被破坏8无足够的内存空间12存取码无效,无效访问13无效数据14指示了无效的驱动器4. 实验内容:(1) 显示文本文件程序(示例一)示例一:显示文本文件(2) 创建并写入文本文件程序(示例二)示例二:创建并写入文本文件(3) 对指定整数数据文件进行排序,并输出到排序后的新文件中。5. 源程序
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1