汇编语言与微机原理实验报告.doc

上传人:bao****ty 文档编号:132309396 上传时间:2020-05-14 格式:DOC 页数:49 大小:1.09MB
返回 下载 相关 举报
汇编语言与微机原理实验报告.doc_第1页
第1页 / 共49页
汇编语言与微机原理实验报告.doc_第2页
第2页 / 共49页
汇编语言与微机原理实验报告.doc_第3页
第3页 / 共49页
汇编语言与微机原理实验报告.doc_第4页
第4页 / 共49页
汇编语言与微机原理实验报告.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《汇编语言与微机原理实验报告.doc》由会员分享,可在线阅读,更多相关《汇编语言与微机原理实验报告.doc(49页珍藏版)》请在金锄头文库上搜索。

1、计算机原理实验室实验报告成绩:2 计算机原理实验室实验报告课 程 : 汇编语言与微机原理 姓 名 : 聂建建 专 业 : 计算机科学与技术 学 号 : 112054206 日 期 : 2013年12月 太原工业学院计算机工程系实验一:输入输出实验实验环境PC机Win 2003emu8086proteus仿真器实验日期2013.10.301 实验内容基本要求:1.熟悉emu8086仿真系统 2.实现控制台输入输出 3.设计并单步调试实现一位十进制数的加法运算(屏幕效果为3+2=5,红色为输入其 他为自动输出)扩展要求:1.实现两位十进制和的输出 2.实现一位十进制四则运算 3.实现多位数运算思考

2、内容:1.输入输出数据和计算用数据的区别 2.单字符输入输出和串输入输出的不同二理论分析或算法分析1.一般来讲,从键盘输入的数都是以ASCII码的形式存放在内存中。对十六进制数来讲,09的ASCII码值分别为30H39H,对这十个数的转换,减去30H就得到对应的二进制值,再用二进制数值进行加减乘除运算。2.实现一位十进制数的加法运算和实现一位十进制数的减法运算的主要区别是对控制台输入的运算符不同,算术运算指令也不同,同时应该考虑加法的进位和减法的借位。一位十进制加法与两位十进制加法运算的区别是:一位十进制加法时算术运算指令用AAA(加法的ASCII调整),两位十进制数用DAA(加法的十进制调整

3、)。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 mov ah, 1 int 21h mov bx, ax mov ah, 2 mov dl, = int 21h mov ah, 2 mov dl

4、, bhint 21h mov ah, 2 mov dl, bl int 21h结束3 实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)显示控制台输入一个一位加数数数在控制台上显示“+”在控制台输入另一个加数在控制台显示“=”显示正确结果扩展要求代码:mov ah, 1int 21h and al, 0fhmov bl, almov ah, 1int 21h and al, 0fh mov ah, blaadmov bl, al mov ah, 1int 21h mov dl, al int 21h and al, 0fh ;mov bh, al;int 21h ;and al,

5、0fh ;mov ah, bh;aad xor ah, ah cmp dl, +jne jp1add al, blaam jmp short jp4jp1:cmp dl, -jne jp2 xchg al, blsub al, bl基本要求代码:aamjmp short jp4jp2:cmp dl, *jne jp3mul blaamjmp short jp4jp3: xchg al, bldiv blaam jp4: mov bx, axmov ah, 2mov dl, =int 21hor bx, 3030h cmp bh, 1jc j1mov dl, bhint 21hj1:mov dl

6、, blint 21h mov ah, 1int 21hmov bl, almov ah, 2mov dl, +int 21hmov ah, 1int 21hand bl, 0fhand ax, 0fhadd al, blaaaor ax, 3030hmov bx, axmov ah, 2mov dl, =int 21h cmp bh, 30hje j1mov ah, 2mov dl, bhint 21hj1:mov ah, 2mov dl, blint 21h 四、实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)1、基本要求实验结果:2、扩展要求实验结果:

7、3、 思考内容(1)从键盘中输入和从从屏幕上输出的都是字符,和计算用的数据时间相差“0”即30H。所以一个数从屏幕上输出时将+30H,输入时转换成数字-30H。(2)单个字符,也就是CPU处理外设(键盘)的整个中断过程五结论 通过本次实验,完成了一位十进制数的加法运算,两位十进制数的和输出,一位十进制数的四则运算以及多位数运算的实验要求。这次实验也让我熟悉了emu8086仿真系统,能够实现控制台的输入输出;也学会了如何去实现一位十进制数的加法运算还有两位十进制数的和输出以及一位十进制数的四则运算,知道了输入输出数据和计算用数据的区别,即)从键盘中输入和从从屏幕上输出的都是字符,和计算用的数据时

8、间相差“0”即30H。所以一个数从屏幕上输出时将+30H,输入时转换成数字-30H,还有单字符输入输出和串输入输出的不同。 实验二:分支程序实验实验环境PC机Win 2003emu8086proteus仿真器实验日期2013.11.41 实验内容1. 基本要求:1)实现控制台输入输出2)实现两位十进制数猜数字游戏(基本要求:输入两位数和预设数值比较,对于输出小于输出(大于两倍)和远小于cx输出“=”输出“”输出“ MOV AH, 2 int 21h small: jmp jlp在程序中写入jsmall: MOV AH, 2 INT 21H MOV AX,NUM AND BX,00FFHCMP

9、CX,AX ja large jb little little: MOV DL, (大于两倍)和远小于(小于二分之一),并在控制台显示。三实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)1.基本要求源代码:mov bx,data zhu: mov ah,1 int 21hmov ch,alint 21h mov cl,al sub cx,3030h cmp cx,bx jz dengyu ja dayu mov ah,2 mov dl, int 21h jmp zhu data dw 0208h 2. 扩展要求:每次输出都换行mov bx,data zhu: mov ah,1int 21hmov ch,al int 21h ;mov cl,al;sub cx,3030h ;cmp cx,bx ;jz dengyu ja dayu mov dl,0dh mov ah, 2 int 21h mov dl,0ahmov ah, 2 int 21h mov ah,2mov dl, int 21h mov dl,0dhmov ah, 2 int 21h mov dl,0ahmov

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号