文档详情

微机原理与接口技术输入输出实验.doc

发布:2017-06-19约2.17千字共4页下载文档
文本预览下载声明
实验一:输入输出实验 实验环境 PC机+Win 2010+emu8086 实验日期 2016.6.3 一.实验内容 1.熟悉emu8086仿真系统,清楚调试环境,能熟练的查看8086仿真系统的寄存器、内存、堆栈等相关内容。 设计并单步调试实现一位十进制数的加法运算。例如:屏幕显示效果为3+2=5,其中,加数和被加数为键盘输入,其他为屏幕自动输出。 3.在实现了一位十进制数加法运算的基础上,尝试实现两位十进制加法运算、一位十进制数的四则运算以及十进制多位数运算等扩展要求。 二.理论分析或算法分析 1、Emu8086的使用 (1)打开桌面上的云端软件,选择微机原理分类,点击Emu8086的图标,,选择【新建】。 (2)选择COM模板,点击【确定】,软件出现源代码编辑器的界面 在源代码编辑器的空白区域,编写如下一段小程序: 代码编写结束,点击菜单【文件】【另存为……】,将源代码换名保存。本例将源代码保存为.asm。: (3)如果源程序无错误,则编译通过 单击【单步运行】可以单步调试,程序将每执行一条指令便产生一次中断(建议使用)。单击【后退一步】可以返回到上一条指令(这个功能也是一般调试器没有的)。 单击【运行】,程序将从第一句直接运行到最后一句。 2、设计并单步调试实现一位十进制数的加法运算。 (1)选择新建一个.COM类型的文件。 (2)在编辑界面中,键入代码。 (3)点击工具栏的【模拟】按钮,进入调试窗口,单步调试并观察寄存器的变化情况。 3、进一步完善上述程序,实现一位十进制数的加法运算。 在实现了一位十进制数加法运算的基础上,选择完成如下题目:两位十进制加法运算、一位十进制数的四则运算、十进制多位数运算等。 实现方法(含实现思路、程序流程图、实验电路图和源程序列表等) 一位加法: org 100h mov ah, 1 int 21h mov bl, al mov ah, 2 mov dl, + int 21h mov ah, 1 int 21h and bl, 0fh and ax, 0fh add al, bl aaa or ax, 3030h mov bx, ax mov ah, 2 mov dl, = int 21h cmp bh, 30h je j1 mov ah, 2 mov dl, bh int 21h j1: mov ah, 2 mov dl, bl int 21h ret 多位加法: org 100h mov ah, 1 int 21h mov bh, al int 21h mov bl, al mov ah, 2 mov dl, + int 21h mov ah, 1 int 21h mov ch, al int 21h mov cl, al and bx, 0f0fh and cx, 0f0fh mov ax, cx add ax, bx aaa or ax, 3030h mov bx, ax mov ah, 2 mov dl, = int 21h cmp bh, 30h je j1 mov ah, 2 mov dl, bh int 21h j1: mov ah, 2 mov dl, bl int 21h ret 一位减、乘、除: mov ah, 1 int 21h and al, 0fh mov bl, al mov ah, 1 int 21h mov dl, al int 21h and al, 0fh xor ah, ah cmp dl, + jne jp1 add al, bl aaa jmp short jp4 jp1: cmp dl, - jne jp2 xchg al, bl sub al, bl aas jmp short jp4 jp2: cmp dl, * jne jp3 mul bl aam jmp short jp4 jp3: xchg al, bl div bl aam jp4: mov bx, ax mov ah, 2 mov dl, = int 21h or bx, 3030h cmp bh, 1 jc j1 mov dl, bh int 21h j1: mov dl, bl int 21h 四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
显示全部
相似文档