微机原理与接口课程设计报告模板(参考)(共26页).doc





《微机原理与接口课程设计报告模板(参考)(共26页).doc》由会员分享,可在线阅读,更多相关《微机原理与接口课程设计报告模板(参考)(共26页).doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机原理与接口技术 课程设计报告 班级: 学号: 姓名: 201X年X月专心-专注-专业目 录 实验一 显示程序实验.2 实验二 数据传送实验 .4 实验三 数码转换程序实验 .6 实验四 运算类程序实验.15 实验五 分支程序设计实验 .18 实验一 显示程序实验一、 实验目的 1. 掌握在PC机上以十六进制形式显示数据的方法; 2. 掌握部分DOS 功能调用使用方法; 3. 熟悉Tddebug 调试环境和Turbo Debugger 的使用。二、实验内容 一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区
2、的数据以十六进制数形式显示在屏幕上,并通过DOS 功能调用完成一些提示信息的显示。实验中可使用DOS 功能调用(INT 21H )。 (1) 显示单个字符输出 入口:AH=02H 调用参数:DL= 输出字符 (2) 显示字符串 入口:AH=09H 调用参数:DS:DX=串地址,$为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数:AL= 输出字符 (4) 返回DOS 系统 入口:AH=4CH 调用参数:AL= 返回码三、 实验设备PC微机一台四、实验代码DATA SEGMENT MES DB Show a as hex:, 0AH,0DH,$ SD DB a DATA ENDS
3、CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES ;显示提示信息 MOV AH, 09H INT 21H MOV DI, OFFSET SD MOV AL, DS:DI AND AL, 0F0H ;取高4位 SHR AL,4 CMP AL, 0AH ;是否是A以上的数 JB C2 ADD AL, 07H C2: ADD AL, 30H MOV DL, AL ;显示字符 MOV AH, 02H INT 21H MOV AL, DS:DI AND AL, 0FH ;取低4位
4、CMP AL, 0AH JB C3 ADD AL, 07H C3: ADD AL, 30H MOV DL, AL ;显示字符 MOV AH, 02H INT 21H MOV AX, 4C00H ;返回DOS INT 21H CODE ENDS END START 五、运行结果实验二 数据传送实验 一、实验目的 1. 熟悉Tddebug调试环境和Turbo Debugger的使用; 2. 掌握与数据有关的不同寻址方式。 二、实验所用设备 1. PC微机一台。 三、实验内容 将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。 参考实验程序: DDATA SEGMENT ;定
5、义源数据段 MSR DB HELLO,WORLD!$ LEN EQU $- MSR DDATA ENDS EXDA SEGMENT ;定义附加数据段 MSD DB LEN DUP(?) EXDA ENDS MYSTACK SEGMENT STACK ;定义堆栈段 DW 20 DUP(?) MYSTACK ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE, DS:DDATA, ES:EXDA START: MOV AX, DDATA MOV DS, AX ;装载数据段寄存器 MOV AX, EXDA MOV ES,AX ;装载附加数据段寄存器 MOV SI, OFF
6、SET MSR ;设置SI MOV DI, OFFSET MSD ;设置DI MOV CX, LEN NEXT: MOV AL, SI ;开始传输数据 INC SI INC DI DEC CX JNZ NEXT PUSH ES POP DS ;将附加段寄存器的段值赋给数据段寄存器 MOV DX, OFFSET MSD MOV AH, 9 INT 21H MOV AX, 4C00H ;利用DOS功能调用返回DOS状态 INT 21H CODE ENDS END START 将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示: MOV BX, 0 MOV CX, LEN NEXT: M
7、OV AL, MSRBX MOV ES:MSDBX, AL INC BX LOOP NEXT 四、实验步骤 1. 运行Tddebug软件,选择Edit菜单编写实验程序; 2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接; 3. 使用Rmrun菜单中的Run,运行程序,观察运行结果; 4. 使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容; 5. 更改数据区中的数据,考察程序的正确性。 五、实验运行结果 实验三 数码转换程序实验 一、实验目的 掌握不同进制数及编码相互转换的程序设计方法。 二、实验所用设备 PC
8、微机一台。 三、实验内容 计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图3-1所示,数码对应关系如表3-1所示。 图3-1 计算机与外设间的数码转换关系 1将ASCII码表示的十进制数转换为二进制数 十进制数可以表示为:Dn10n+Dn-110n-1+D0100 =Di10i 其中Di代表十进制数1、2、39、0。 上式可以转换为: Di10i=(Dn10+Dn-
9、1)10)+Dn-2)10+D1)10+D0 由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数结果。 本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转换成二进制数,并将转换结果按位显示在屏幕上。转换过程的参考流程如图3-2所示。 表3-1 数码转换对应关系 2将十进制数的ASCII码转换为BCD码 本实验要求将键盘输入的一个五位十进制数54321的ASCII码存放入数据区中,转换为 BCD 码后,并将转换结果按位分别显示于屏幕上。若输入的不是十进制数的ASCII码,则输出“FF”。提示:一字节ASCII码取其低四
10、位即变为BCD码。转换部分的实验流程参见3-3。 3将十六进制数的ASCII码转换为十进制数 十六位二进制数的值域为0-65535,最大可转换为五位十进制数。五位十进制数可表示为: ND=D4104+D3103+D2102+D110+D0 因此,将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1-D4,并将它们转化为ASCII码。 图3-2 十进制ASCII转换为 二进制数参考流程 图3-3 十进制ASCII转换为 BCD码参考流程 本实验要求将缓冲区中存放的000CH的ASCII码转换成十进制数,并将转换结果显示在屏幕上。转换部分的实验流程参见图3-4。 4BCD码转换为二进制
11、码 本实验要求将四个二位十进制数的BCD码存放在某一内存单元中,转换出的二进制数码存入其后的内存单元中,转换结束,送屏幕显示。转换部分的实验流程参见3-5。 四、实验步骤 1. 运行Tddebug软件,选择Edit菜单编写实验程序; 2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接; 3. 使用Rmrun菜单中的Run,运行程序,观察运行结果; 4. 使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容; 5. 更改数据区中的数据,考察程序的正确性。 五、实验代码 1将ASCII码表示的十进制数转换为二进制数 D
12、ATA SEGMENT STRING DB Input:,$ NUM DB 6, ?, 6 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX CALL INPUT CALL CHANGE CALL LIST_BX MOV AH, 4CH INT 21H INPUT PROC LEA DX , STRING MOV AH , 09H INT 21H LEA DX , NUM MOV AH , 0AH INT 21H RET INPUT ENDP CHANGE PROC LEA
13、SI, NUM+2 MOV CL, NUM+1 MOV CH, 0 MOV AX, 0 MOV DI, 10 NEXT: MUL DI MOV BH, 0 MOV BL, SI AND BL, 0FH ADD AX, BX INC SI LOOP NEXT ZERO: MOV BX, AX RET CHANGE ENDP ADD DL, 07HLIST_BX PROC MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV CH, 4 MOV CL, 4 NEXT1: ROL BX, CL MOV DL, BL AND DL, 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 课程设计 报告 模板 参考 26

限制150内