微机实验报告(完成)

时间:2024.3.31

                     成绩:        

微机原理课内实验报告

课 程 名   微机原理与接口技术    

实验题目   用汇编语言编写程序     

           学    部   机械与电子信息学部    

专    业                

学    号               

姓    名                    

指导教师                     

日    期        2014/6/30          

教师评语:

一实验内容

1,编程求一下运算:Y=X1-(X2+X3)

2,判断一个数是否为偶数

二实验流程

1实验流程:输入三个数X1,X2,X3,使Y=X1-(X2+X3).

2实验流程:测试某数是否是偶数。如该数是偶数,则把DL的第0位置0,否则将该位置1

三实验程序

1程序:编程求一下运算Y=X1-(X2+X3)

DATA     SEGMENG

       X1   DB  39H

       X2   DB  21H

       X3   DB  13H

       Y     DB  ?

DATA            ENDS

CODE     SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV  AX,DATA

                   MOV  DS,AX

       MOV      BX,OFFSET X2

       MOV      CL,[BX]

       ADD       CL,[BX+1]

       MOV      AL,[BX-1]

       SUB AL,CL

       MOV      [BX+2],AL

       MOV      AH,4CH

       INT 21H

CODE         ENDS

       END       START

.程序:判断一个数是否为偶数

DATA  SEGMENT

          X DB 9H;                       数据定义

DATA  ENDS

CODE  SEGMENT

      ASSUME  CS:CODE,DS:DATA

      START:MOV   AX,DATA

           MOV   DS,AX;              段寄存器定义

           MOV   AL,X

           SHR   AL,1;                 利用右移一位得到cf值,JB判断

           JB    NEXT;                为1则为奇数

           AND   DL,11111110B;        偶数DL第一个数置为0

           JMP   EXIT

      NEXT:OR    DL,000000001B;      奇数DL第一个数置为1    

      EXIT:MOV   AH,4CH

          INT   21H                      

CODE  ENDS

         END START

四实验结果

实验一:

实验二

四结果分析

根据课内的实验要求,结合书上及老师讲的知识,我可以基本的按要求写出想要的汇编程序,但毕竟我们不是很深入的学习过,所以不免还有很好的小问题,比如在这两个程序中都没有外部硬件的输入与输出程序,不实为一个空缺点。不过在整体程序上讲,已经达到了实验的目的与要求,毕竟课内的实验主要目的就是在于程序的编写,而且是针对于电脑的程序,所以总的来说,我做的这两个实验是符合目的的及老师要求的。


第二篇:微机实验报告6


南京工程学院

              电力工程学院    

2011/ 20## 学年      1   学期

       

课程名称    微机原理及应用        

实验项目名称       子程序设计          

实验学生班级        监控091           

实验学生姓名                            

实验时间        2011.10.30        

实验地点  电力工程基础实验室8-216 

   实验报告成绩:          评阅教师签字:             

年     月     日

电力工程学院二O##年制

说  明

1. 实验报告为实验的重要考核依据之一, 每个实验必须定一份实验报告. 本实验报告原则上要求手写。

2.本实验报告各项内容的具体格式、字数可由指导教师根据实验具体情况提出具体要求。各项内容可另附页,为便于归档,附页尺寸不得大于本实验报告尺寸,并注意粘牢于附页粘贴处。

3. 实验报告封面中的 “实验名称” 应为实验教学大纲上所列的规范名称, “实验地点”应写出实验室的具体名称。请确认无误后再填写。

4. 实验报告的建议格式为:

一、实验目的和要求;

二、主要实验仪器和设备;

三、本次实验内容

(一)实验项目名称(按本次实验各项目填写)

1、原理或接线图

2、实验步骤及注意事项

3、实验预习过程中所遇到问题……

四、实验记录及数据处理(主要内容包括实验具体实施步骤、实验原始数据、 计算过程与结果、 数据曲线、 图表等。 具体格式按指导教师要求)

五、实验结论(主要内容包括本实验小结、 实验体会或疑问等。具体格式按指导教师要求)

 5. 实验成绩由实验预习、实验表现、 实验报告三部分组成。其中前两项各占总成绩的30%。实验报告成绩依据报告的科学性、全面性、规范性及书写态度综合考核。 实验报告采用百分制, 占实验总成绩的40%, 教师请阅本报告后需签字并给出实验报告百分制成绩。

6. 实验报告需按要求时间以班级为单位交给指导教师,最长时间不得超过两周,实验报告如有明显抄袭者或不交者,实验总评成绩按 0 分记。

一、实验目的和要求

   学习子程序的结构、特点以及子程序的设计和调试方法。              

二、实验任务

   学习使用汇编语言集成编译软件,验证及编写、调试实验内容。

三、主要实验备和软件

星研集成环境软件

四、实验内容

1、实验题目:编写求和的子程序,求数组ARRAY中所有元素之和并存于SUM单元之中。

2程序清单:

SSEG SEGMENT STACK

      DB 100 DUP(?)

SSEG ENDS

   DATA  SEGMENT        

     ARRAY   DB  10,20,30,40

      COUNT EQU $-ARRAY

      SUM DW ?

   DATA ENDS

CODE   SEGMENT

       ASSUME   CS:CODE,DS:DATA,SS:SSEG

START:  MOV      AX,DATA

    MOV      DS,AX

    MOV AX,SSEG

    MOV SS,AX

    LEA      SI,ARRAY            

        MOV      CX,COUNT

        CALL    SUM1        

        MOV    SUM,AX

        MOV      AH,4CH

        INT      21H

   SUM1   PROC  NEAR

         CMP  CX,0

         JZ EXIT

         MOV AX,0

   AGAIN: ADD   AL,[SI]

          ADC  AH,0

          INC   SI

         LOOP  AGAIN

   EXIT:   RET

   SUM1   ENDP

   CODE    ENDS

          END START

(3)、结果

加和之前,SUM=0

加和之后,SUM=100,调试程序成功。

(4)、分析与思考:此实验以寄存器为传递参数来实现子程序的运行,其实就是锻炼PROC和CALL指令的运用。

2、编写程序:

(1)实验题目: 设计一个子程序,功能是将一个字节的BCD码转换成二进制数。

          说明:名称:BCD2BIN。

          功能:将一个字节的BCD码转成二进制数。

          所用寄存器:CX。

          入口参数:AL存放两位BCD码。

          出口参数:AL存放二进制数。

2)、程序清单:SSEG SEGMENT STACK

      DB 100 DUP(?)

SSEG ENDS

CODE   SEGMENT

      ASSUME    CS:CODE,SS:SSEG

START : MOV  AX,SSEG

        MOV  SS,AX

        MOV  AL,12H

         CALL BCD2BIN

       

 

         HLT

BCD2BIN   PROC   NEAR

         PUSH   CX

         MOV   CH,AL

        AND   CH,0FH 

        MOV    CL,4

        SHR    AL,CL

        MOV   CL,10

        MUL   CL

        ADD   AL,CH

        POP    CX

           RET

BCD2BIN  ENDP

CODE    ENDS

        END   START

(3)、运行结果:截屏

观察AL原来值为12H

观察得经过BCD2BIN子程序后,AL转换成二进制0CH,调试程序成功。

(4)、 分析与思考:此实验除了对子程序的运用,还着重运用了逻辑和运算移位指令,程序本身很简单。

3、编写程序:

(1)实验题目: 题1是寄存器传递参数,试利用存储单元传递参数的方法改写程序。

2)、程序清单:SSEG  SEGMENT  STACK

          DB  100 DUP(?)

  SSEG ENDS

  DATA  SEGMENT        

    ARRAY    DB   10,20,30,40

    COUNT   EQU   $-ARRAY

      SUM    DW  ?

  DATA   ENDS

CODE   SEGMENT

       ASSUME   CS:CODE,DS:DATA,SS:SSEG

START:  MOV      AX,DATA

            MOV      DS,AX

            MOV     AX,SSEG

            MOV     SS,AX           

         CALL    SUM1        

             MOV    AH,4CH

              INT  21H

       SUM1   PROC  NEAR

           PUSH SI

           PUSH CX

           PUSH AX

               LEA   SI,ARRAY

               MOV  CX,COUNT

               CMP   CX,0

               JZ  EXIT

                MOV AX,0

AGAIN:    ADD   AL,[SI]

              ADC  AH,0

                INC SI

              LOOP  AGAIN

              MOV SUM,AX

           POP SI

           POP CX

           POP AX

  EXIT:      RET

       SUM1     ENDP

       CODE    ENDS

              END START

(3)、运行结果  截屏

加和之前

加和之后,查看结果为100,调试程序成功。

4)、分析与思考:其实用存储器单元存储只要将源代码中几条程序移一下位置即可,再者,对原先寄存器AX,SI,,CX的值用进栈出栈进行了保护。

五、思考题

试编写一个求字变量绝对值的子程序。                                                             

 程序清单:    SSEG  SEGMENT  STACK

          DB  100 DUP(?)

  SSEG ENDS

               DATA  SEGMENT

   X     DW   -278

  RESULT   DW ?

DATA  ENDS

CODE   SEGMENT

     ASSUME   CS:CODE,DS:DATA,SS:SSEG

START:  MOV   AX,DATA

        MOV   DS,AX

        MOV   AX,SSEG

        MOV   SS,AX             

        MOV   AX,X     

        CALL  TTESTT

          HLT

TTESTT  PROC NEAR   

       TEST  AX,8000H   

        JZ   NEXT      

       NEG   AX        

 NEXT: MOV   RESULT,AX  

           

        RET

   TTESTT ENDP

  CODE  ENDS

       END   START

运行结果 截屏(调试成功)

六、实验小结

   此次子程序设计主要在于对CALL和PROC指令的运用,难度不大。但此次试验还有一个收获就是熟悉星研的操作环境,用星研进行软调,和emu8086有很多相似之处,很好上手。

更多相关推荐:
实验报告1完成

实验报告

实验报告(完成)

实验报告(完成),内容附图。

完成实验报告注意事项:

完成实验报告注意事项1请将实验报告上的绿色字更换成自己的信息然后设置成黑色2一律用A4纸打印左侧装订不可用浆糊胶带纸3实验报告内容全部手写若写不下可另附A4白纸4实验报告提交给任课教师提交时间由任课教师指定实验...

需要完成的实验报告

需要完成的实验报告

c语言实验报告模板完成版

高级语言程序设计学生实验报告专业计算机科学与技术学号姓名1实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2了解在该系统上如何编辑编译连接和运行一个C程序3通过运...

C语言实验报告模板完成版

高级语言程序设计学生实验报告专业学号姓名实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2了解在该系统上如何编辑编译连接和运行一个C程序3通过运行简单的C程序初步...

实验报告六完成版

实验六滞后模型与格兰杰因果关系检验一实验目的利用Eviews做滞后模型与格兰杰因果关系检验二实验原理1滞后变量模型Yt01Yt12Yt2qYtq0Xt1Xt1sXtst2分布滞后模型的参数估计阿尔蒙多项式法针对...

实验2实验报告

浙江经贸职业技术学院实验报告一实验目的进一步熟悉VisualStudioNET20xx开发环境掌握变量与数据类型的使用掌握调试工具的使用二实验内容使用VisualStudioNET20xx完成以下程序1示例代码...

数据库实验报告_XXX

华南师范大学实验报告学生姓名学号专业计算机科学与技年级班级课程名称数据库原理与应用实验项目数据库基本应用和MSSQL使用实验类型验证设计综合实验时间实验指导老师实验评分一软件实验报告要求1上机完成实验内容主要是...

计量经济学实验报告(完成)

实验报告课程名称:计量经济学实验项目:我国国内资金利用研究学生姓名:学号:班级:0901班专业:国际经济与贸易指导教师:20**年06月计量经济学实验报告实验时间:20**年6月24日实验地点:一教10楼实验目…

DB实验报告

数据库原理实验报告班级学号姓名教师实验一SQL数据定义一实验目的1熟悉SQLSERVER200查询分析器的使用2掌握数据库的建立选择与删除3掌握基本的建立修改与删除4掌握索引的建立与删除二实验方法在SQLSER...

实 验 报 告OA

实验报告实验项目名称企业办公自动化化软件应用所属课程名称管理信息系统实验类型综合与仿真型实验日期20xx1129126班级张梅1班学号20xx03081011姓名杨胜刚

完成实验报告(33篇)