微机原理与接口技术实验报告心得_微型计算机原理与接口技术第二版

微机原理与接口技术实验报告心得_微型计算机原理与接口技术第二版微机原理与接口技术实验总结寒黎实验内容以及设计思路1、=1\*GB3①试编写一程序,比较两个字符串STRING1、STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出“NOMATCH”。设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

微机原理与接口技术实验总结

寒黎

实验内容以及设计思路

1、 = 1 \* GB3 ①试编写一程序,比较两个字符串STRING1、 STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出 “NO MATCH”。

设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、 STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将STRING1和STRING2都实现用键盘输入,方法是

MOV DX,OFFSET STRING2

MOV AH,0AH

INT 21H

并且显示在显示器上,显示方法将0AH改成09H,语句与上面类似。

然后进行比较第一个单元,

MOV AL,[STRING1+1]

CMP AL,[STRING2+1]

JNZ NOMATCH

若字符串长度不等,则直接跳转,输出输出 “NO MATCH”;

若长度相等再逐个比较

LEA SI,[STRING1+2]

LEA DI,[STRING2+2]

MOV CL,[STRING1+1]

MOV CH,0

CLD

REPE CMPSB

JCXZ MATCH,意思是全部相同就跳转MATCH,输出“MATCH”;不然进入下面的NOMATCH。退出。

= 2 \* GB3 ②试编写求级数1^3+2^3 +3^3 …..前几项和刚大于10000的程序。

设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。

一个难点是将输入的ASCII码字符串,转换成与之相同的十进制数的数值。

关键的思路部分是:从1开始求级数,将和的值存在AX里,要加下一项级数前,比如这时已经加到4,PUSH一下AX,然后将5乘三遍,将乘积MOV到BX里,再POP AX,然后将BX的值加到AX里,然后将AX与N比较,如果比N小就继续上述步骤,知道刚比N大就输出数字。

= 3 \* GB3 ③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。

设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。

缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。

= 4 \* GB3 ④设计一个动画程序。

设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。

步骤:首先设置堆栈段,数据段,代码段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用JZ语句跳转到退出。若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。

最后编写好退出语句。

2、硬件接口主要是了解8255与8253的功能,以及控制字。

= 1 \* GB3 ①I/O地址译码

只要对硬件概念清晰,很简单的。基本上没有什么创造性。

收获:熟悉实验箱结构,了解每部分元件和标注的意义。

掌握I/O地址译码电路的工作原理。

= 2 \* GB3 ②可编程定时器8253

1,对照实验电路图,将计数器0设置为方式0,即数初值设为N(N<0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察OUT0点平变化。

2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。

收获:掌握8253的基本工作原理和编程方法

= 3 \* GB3 ③并行接口8255

1,试验电路如图所示,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

3,数码管静态显示:按下图接好电路,将8255A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。

4,数码管动态显示:按下图接好电路,七段数码管的连接不变

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186918.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月2日 上午6:00
下一篇 2022年10月2日 上午6:00


相关推荐

  • Java中输出结果保留两位小数的最简单的方法

    Java中输出结果保留两位小数的最简单的方法System.out.print(String.format(“%.2f”,double));//double处填要输出结果的变量表达式

    2022年7月8日
    22
  • docker安装 搭建私库 删除私库镜像 打印私库镜像 的shell脚本[通俗易懂]

    docker安装 搭建私库 删除私库镜像 打印私库镜像 的shell脚本[通俗易懂]#!/bin/bash#本脚本可以打印私有镜像库中所有的镜像#私有镜像库地址HUB_URL=hub.dy.com:5000#取得所有私有镜像库的所有镜像IMAGESLIST=$(curl-shttp://${HUB_URL}/v2/_catalog)#echo${IMAGESLIST}#删除后2个字符IMAGESLIST=${IMAGESLIST::-2}#删除…

    2022年7月18日
    17
  • java jar 没有主清单_java运行jar命令提示没有主清单属性

    java jar 没有主清单_java运行jar命令提示没有主清单属性在 JAVA 中将 class 文件编译成 jar 文件包 运行提示没有主清单属性 这是怎么回事 今天来教大家如何解决这个问题 1 在 java 中编译 JAR 文件的时候我们都会用到 jar 这个命令 当用着 jar 文件时候我们不可少的是 cvf 这几个参数来生成 jar 文件 但是用个文件来了 在用不使用工具的前提下我们生成的 jar 文件包后运行会出现 某某类的没有主清单属性 如下图 2 这样的问题是因为 jar 包中的 META

    2025年11月6日
    4
  • js中settimeout()的用法详解_js中setattribute

    js中settimeout()的用法详解_js中setattributesetTimeout与setTimeInterval均为window的函数,使用中顶层window一般都会省去,这两个函数经常稍不留神就使用错了。setTimeout内的函数先不执行,隔一段时间后再执行,函数后面的数字是隔的时间,单位是毫秒(千分之一秒)比如:setTimeout(‘alert(“helloworld!”)’,400);setInterval()方法可按照

    2022年10月5日
    4
  • C++标准输入输出流_seekg函数详解

    C++标准输入输出流_seekg函数详解对文件输入输出流的操作函数主要有1/seekg()和tellg() //对输入流的操作(也就是读)2/seekp()和tellp() //对输出流的操作(也就是写) 1.seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:   ios::beg

    2022年5月24日
    54
  • java keypress_jquery 键盘事件 keypress() keydown() keyup()用法总结

    java keypress_jquery 键盘事件 keypress() keydown() keyup()用法总结事件的定义完整的 keypress 过程分为两个部分 1 按键被按下 2 按键被松开 当按钮被按下时 发生 keydown 事件 keydown 方法触发 keydown 事件 或规定当发生 keydown 事件时运行的函数 当按钮被松开时 发生 keyup 事件 它发生在当前获得焦点的元素上 keyup 方法触发 keyup 事件 或规定当发生 keyup 事件时运行的函数 keypr

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号