77范文网 - 专业文章范例文档资料分享平台

微机原理与接口技术实验报告及答案

来源:网络收集 时间:2021-09-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

微机实验答案

实验三 统计学生成绩

设有20个学生成绩分别56、78、67、40、87、99、63、51、74、100,90,80,68、88、55、66、84、96、45、73分。编写程序实现统计低于60分、60-69分、70-79分、80-89分、90-99分及100分的人数,并分别存放在s5、s6、s7、s8、s9、s10单元中。

实验代码如下:

data

segment

score db 56,78,67,40,87,99,63, 51,74,100,90,80,68,88,55,66,84, 96,45,73

s5 db 0 s6 db 0 s7 db 0 s8 db 0 s9 db 0 s10 db 0 data ends

code segment

assume cs: code, ds: data start: mov ax,data mov ds,ax mov si,0 mov cx,20 lop1: cmp score[si],60 jb step1 cmp score[si],70 jb step2 cmp score[si],80 jb step3 cmp score[si],90

jb step4

实验四 查找字符

实验内容

试编写一个有主程序和子程序结构的程序模块。 cmp score[si],100 jb step5 inc [s10] jmp exit step1:inc [s5] jmp exit step2:inc [s6] jmp exit step3:inc [s7] jmp exit step4:inc [s8] jmp exit step5:inc [s9] exit: inc si loop lop1

mov al,s6 ; 显示s6,可用s5,s7, s8等替换(实验要求之思考题三) add al,48 mov dl,al mov ah,02 int 21h mov ah,4ch int 21h

主程序:要求从键盘接收一串字符并存于字节数组TABLE中,显示字符CHAR出现的次数。 子程序:在以TABLE为首地址的字节数组中查找CHAR,统计出现的次数。

实验代码如下: data

segment

table db 100 dup('$') str1 db 'please enter a string which is less than 100 and en d with enter button:$'

str2 db 'times that char appear is:$' n dw ? data

ends

stack segment stack 'stack' db 100 dup('$') stack ends code segment assume cs: code, ds: data start: mov ax,data

mov ds,ax

lea dx,str1 mov ah,9

int 21h ;输出 str1

call func1 ;回车,换行

mov si,0 mov cx,100 lop1: mov ah,1 int 21h cmp al,0dh

jz exit

mov table[si],al inc si

loop lop1 ;从键盘输入 exit: mov n,si

call func2 ;计算 'char' 出现的次数

call func1 ;回车,换行

lea dx,str2

mov ah,9 int 21h ;输出 str2

call func1 ;回车,换行

mov al,bl add al,30h mov dl,al mov ah,2

int 21h ;输出 'bx'

mov ah,4ch int 21h func1 proc near

push dx push ax mov dl,0ah mov ah,2 int 21h mov dl,0dh mov ah,2 int 21h

pop ax pop dx

ret

func1 endp ;输出回车,换行

func2 proc near push si push cx push ax mov cx,si mov ax,si

sub ax,3 ;此处为何减3,下面会有解释

lea si,table mov bx,0

lop2: cmp byte ptr [si],'c'

jnz exit1 ;判断完c后加1再循环,而h,a,r则不然 inc si

cmp byte ptr [si],'h' jnz exit2 inc si

cmp byte ptr [si],'a' jnz exit2 inc si

cmp byte ptr [si],'r' jnz exit2

inc bx exit1: inc si exit2: cmp si,ax loopnz lop2

pop ax

pop cx pop si ret func2 endp code ends

end start

实验六 定时计数器实验

实验代码如下: .model small .386

code segment

assume cs: code

mov ds,ax

start: mov ax,data mov dx,203h mov al,00110110b out dx,al

mov dx,200h

mov ax,0h ; 0h 减1后得到FFH,从而满足题目要求 out dx,al mov al,ah out dx,al ;

mov dx,203h

mov al,01110110b

out dx,al mov dx,201h mov ax,fh out dx,al mov al,ah

out dx,al

mov ah,4ch int 21h end start

code ends

实验七 中断控制器实验

实验相关知识简介:

实验内容

1、单中断,使用单脉冲电路产生脉冲信号作为8259中断请求输入,每按一次单

脉冲按键,触发一次中断,使LED灯向左移一位,显示到最左端后再从最右端开始开始,循环显示。

2、单中断:使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,

每按一次单脉冲按键,触发一次中断,使7段数码管显示的“5”字左移一位,显示到最左端后再从最右端开始显示,如此重复。

实验1代码: .Model Small .386

CODE SEGMENT ASSUME CS:CODE START:

IN AL,21H

AND AL,0DFH ; 开通IR5中断通道

OUT 21H,AL CLI

MOV AX,00H

MOV DS,AX MOV SI,4*35H MOV AX,OFFSET INTP

MOV [SI],AX ; 设置中断向量,将intp的偏移地址赋给[si] ADD SI,2

MOV AX,SEG INTP

MOV [SI],AX ; si+2后将段地址赋给[si] MOV DX,203H

MOV AL,10000011B ; 设置方式字 OUT DX,AL

MOV BL,1 ;设置bl的值,用于以后循环亮灯 STEP:

STI

HLT ; 等待中断信号,接到中断信号后重复该步骤 JMP STEP INTP PROC NEAR CLI

PUSH AX PUSH DX MOV AL,BL

MOV DX,200H ; 输出LED亮灯信号 OUT DX,AL

ROL BL,1 ; 循环左移,控制亮灯信号 MOV AL,20H

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生微机原理与接口技术实验报告及答案在线全文阅读。

微机原理与接口技术实验报告及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/yiyao/1252669.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: