《微机原理》实验教程。
计算机系统教研室《微机原理》课程组。
南通大学计算机科学与技术学院。
2024年9月。
目录 1实验一汇编程序设计初步 2
一、 实验目的与要求 2
一)、实验目的 2
二)、实验要求 2
二、 实验方法(汇编工具的使用) 3
一)、用编辑程序建立asm文件 3
二)、用汇编程序对源文件汇编产生目标文件obj 3
三)、用连接程序link产生执行文件exe 4
四)、运行程序 5
五)、程序调试及结果查看 5
实验二循环程序设计 7
一、实验目的与要求 7
二、实验内容 7
三、实验报告要求 7
实验三分支程序设计 8
一、实验目的与要求 8
二、实验内容 8
三、实验报告要求 8
实验四子程序设计 9
一、实验目的与要求 9
二、实验内容 9
三、实验报告要求 9
实验五简单i/o 10
一、实验目的与要求 10
二、实验内容 10
三、实验报告要求 10
实验六 8255a实验 11
一、实验目的与要求 11
二、实验内容 11
三、实验报告要求 11
实验七 8253定时器实验 12
实验八模/数转换实验 13
附录 14附录1 常用dos命令 14
附录2 debug主要命令 16
附录3 汇编程序出错信息 19
附录4 常用字符ascii码值 23
附录5 8088/8086指令系统 24
附录6 ibm pc/at中断功能表 27
附录7 常用dos功能调用(int 21h) 28
附录8 bios功能调用 31
学习程序设计的基本方法和技能,进一步加深对微机接口芯片原理及工作过程的理解,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。为后继课程打下坚实的基础。
1. 上机前要做好充分的准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。
2. 上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法及实验仪器。
在程序的调试过程中,有意识地学习及掌握debug程序的各种操作命令,以便掌握程序的调试方法及技巧。
为了更好地进行上机管理,要求用硬盘储存程序,并建立和使用子目录,以避免文件被别人删除。有关目录及文件操作的dos命令见附录1。此外,为了便于统一管理硬盘中的文件,要求实验者按以下形式命名实验文件:
字母学号。asm
其中字母取a~z中的一个字母,按实验顺序从a至z排列。如学号为850431学生的第二个实验程序所对应的文件名应为。
3.程序调试完后,须由实验指导教师在机器上检查运行结果。每个实验完成后,应写出实验报告。实验报告的要求如下:
1 设计说明:用来说明设计的内容、硬件原理图。它包括:程序名、功能、原理及算法说明、程序及数据结构、主要符号名的说明等。
2 调试说明:便于学生总结经验提高编程及调试能力。它包括:
调试情况,如上机时遇到的问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会等。
3 程序框图。
4 程序清单。
用文字处理软件编辑源程序。常用编辑软件有:记事本、word等。无论采用何种编辑工具,生成的文件必须是纯文本文件,且文件扩展名为asm。
下列程序完成两个字节数相加,并将和存于sum变量中。用编辑软件建立以为文件名的源程序文件。
data segment
buf db 47h,6ah
sum db ?
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov al,buf
add al,buf+1
mov sum,al
mov ah,4ch
int 21h
code ends
end start
当源程序建立以后,用汇编程序masm对源程序文件进行汇编,操作步骤如下:(以下划线部分为用户键盘输入,“↙代表回车,未划线部分为屏幕显示,小字部分为说明)。
c:\masm> masm abc↙
microsoft (r) macro assembler version 5.00
copyright (c) microsoft crop 1981-1985,1987,all rights reserved
object filename [ 输入目标文件名,若采用括号[ ]中的名字,按↙
source listing[ 若需要列表文件,输入文件名,按↙;如果不需要,直接按↙
cross-reference[ 若需要交叉索引文件,输入文件名;如不需要,直接按↙
49758 + 451602 bytes symbol space free
0 warning errors
0 severe errors
回答上述问题后,汇编程序就对源程序进行汇编。若汇编中发现源程序有语法错误,则列出错误语句所在行、错误**及错误性质说明。错误分警告错误(warning errors)和严重错误(severe errors)。
警告错误指汇编程序认为的一般性错误;严重错误指汇编程序认为无法进行正确汇编的错误,给出其错误个数,错误性质。这时,就要对错误进行分析,找出问题和原因,然后再调用编辑程序对源程序进行修改。修改后重新汇编,直到无错误为止。
除了用上述方法分步回答问题外,还可以用命令行的形式按顺序对相应提示予以回答,其格式是:
masm 源文件名,目标文件名,列表文件名,交叉引用文件名;
其中文件名都不必给出扩展名,汇编程序会按照缺省情况使用或产生。若只想对部分提示给出回答,则在相应位置用逗号隔开,若不想对剩余部分作答,则用分号结束。例如以下命令经汇编后在当前目录下产生文件,不产生lst文件和crf文件。
c:\masm> masm abc;↙
c:\masm> link abc↙
microsoft (r) 8086 object linker version 5.00
copyright (c) microsoft crop 1981-1985,1987,all rights reserved
run file [ 输入可执行文件名,若采用括号[ ]中的名字,按↙
list file[ 若需要映象文件,输入文件名,按↙;如果不需要,按↙
libraries[ 若需要库文件,输入文件名,按↙;如果不需要库文件,按↙
warning: no stack segment
上述给出的警告信息,表示用户程序没有定义堆栈段。该警告不影响可执行程序的生成和正常运行,因为运行时会自动使用系统提供的缺省堆栈。
微机原理实验
一 实验目的。通过本节课的实验,让学生理解和掌握循环程序运行和设计原理,理解构成循环程序的指令功能,特别是对转移指令 循环计数的深入理解,并掌握一些常用循环程序设计的算法。二 实验内容。实验内容一 bios显示中断调用 int 10h 调用步骤 第一步 置入口参数。第二步 功能号 0至15 送ah ...
微机原理实验
学生实验报告。学院 软件与通信工程学院 课程名称 微机原理与接 术 专业班级 电信141班。姓名。学号。学生实验报告 1 一 实验综述。1 实验目的及要求。1 实验目的 1 加深对锁存器和缓冲器的基本原理的了解 2 掌握i o口编程的基本方法 3 掌握基本i o口的扩展方法及编程方法。2 实验要求。...
微机原理实验答案
1 题目 编程将 ax 2387 bx 192fh cx 9256中的无符号数按由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。code segment assume cs code start mov ax,2387 mov bx,192fh mov cx,9256 cmp ax,...