没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
成绩:
2
计算机原理实验室实验报告
课 程 : 汇编语言与微机原理
姓 名 :
专 业 : 计算机科学与技术
学 号 :
日 期 : 2013 年 12 月
太原工业学院
计算机工程系
计算机原理实验室实验报告
1
实验一:输入输出实验
实验环境
PC 机+Win 2003+emu8086+proteus 仿真器
实验日期
2013.10.30
一.实验内容
基本要求:1.熟悉 emu8086 仿真系统
2.实现控制台输入输出
3.设计并单步调试实现一位十进制数的加法运算(屏幕效果为 3+2=5,红色为输
入其 他为自动输出)
扩展要求:1.实现两位十进制和的输出
2.实现一位十进制四则运算
3.实现多位数运算
思考内容:1.输入输出数据和计算用数据的区别
2.单字符输入输出和串输入输出的不同
二.理论分析或算法分析
1.一般来讲,从键盘输入的数都是以 ASCII 码的形式存放在内存中。对十六进制数来
讲,0~9 的 ASCII 码值分别为 30H~39H,对这十个数的转换,减去 30H 就得到对应的二
进制值,再用二进制数值进行加减乘除运算。
2.实现一位十进制数的加法运算和实现一位十进制数的减法运算的主要区别是对控
制台输入的运算符不同,算术运算指令也不同,同时应该考虑加法的进位和减法的借位。
一位十进制加法与两位十进制加法运算的区别是:一位十进制加法时算术运算指令用
AAA(加法的 ASCII 调整),两位十进制数用 DAA(加法的十进制调整)。
3.在一位十进制的运算方法上,利用 mov ah,01h;int 21h;输入字符。利用 mov
dl,al;mov ah,2;显示到屏幕上。将第一个数赋值给 al,将第二个数赋值给 bl,用 add
实现 bl 于 al 的相加。
4.在实现两位十进制相加的算法时,利用步骤一的方法,再次将两个值赋值给 ah 和 bh,
利用 add 实现十位数的带进位相加。
开始
mov ah, 1
int 21h
mov bl, al
mov ah, 2
mov dl, '+'
int 21h
计算机原理实验室实验报告
2
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
显示控制台
输入一个一
位加数
数数
在控制台上
显示“+”
在 控 制 台 输 入
另一个加数
在 控 制 台
显示“=”
显示正确结果
mov ah, 1
int 21h
mov bx, ax
mov ah, 2
mov dl, '='
int 21h
mov ah, 2
mov dl, bh
int 21h
mov ah, 2
mov dl, bl
int 21h
结束
计算机原理实验室实验报告
3
基本要求代码:
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
四、实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
1、基本要求实验结果:
2、扩展要求实验结果:
扩展要求代码:
mov ah, 1
int 21h
and al, 0fh
mov bl, al
mov ah, 1
int 21h
and al, 0fh
mov ah, bl
aad
mov bl, al
mov ah, 1
int 21h
mov dl, al
int 21h
and al, 0fh
;mov bh, al
;int 21h
;and al, 0fh
;mov ah, bh
;aad
xor ah, ah
cmp dl, '+'
jne jp1
add al, bl
aam
jmp short jp4
jp1:
cmp dl, '-'
jne jp2
xchg al, bl
sub al, bl
aam
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
计算机原理实验室实验报告
4
剩余48页未读,继续阅读
资源评论
文档优选
- 粉丝: 95
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用Java语言编写的九格拼游戏,找寻下曾经小时候的记忆.zip
- gakataka课堂管理系统
- 一个简单ssh(spring springMVC hibernate)游戏网站,在网上找的html模板,没有自己写UI,重点放在java后端上.zip
- 一个采用MVC架构设计、Java实现的泡泡堂游戏.zip
- 一个简易的对对碰游戏软件,运用Java、Java FX技术.zip
- 通过binder实现进程间通讯 ,可以使用service的binder或者 AIDL生成的Stub返回binder 实现demo
- 44f2abdbd6faa9938f9d8e4cace85309.JPG
- 一个简易的躲避子弹飞机小游戏,基于最简单的java ui.zip
- 一个西洋跳棋小游戏,写成桌面Java程序,实现了人机对战,对博弈树的遍历进行了极大极小值的alpha-beta剪枝算法进行优化.zip
- 一些java的小游戏项目,贪吃蛇啥的.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功