计算机应用实验报告.docx

上传人:b****6 文档编号:7040270 上传时间:2023-01-16 格式:DOCX 页数:27 大小:31.34KB
下载 相关 举报
计算机应用实验报告.docx_第1页
第1页 / 共27页
计算机应用实验报告.docx_第2页
第2页 / 共27页
计算机应用实验报告.docx_第3页
第3页 / 共27页
计算机应用实验报告.docx_第4页
第4页 / 共27页
计算机应用实验报告.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

计算机应用实验报告.docx

《计算机应用实验报告.docx》由会员分享,可在线阅读,更多相关《计算机应用实验报告.docx(27页珍藏版)》请在冰豆网上搜索。

计算机应用实验报告.docx

计算机应用实验报告

计算机应用实验报告

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

实验一乘法运算实验

一、实验目的:

1、了解调试程序DEBUG的常用命令和功能。

2、掌握多字节乘法运算程序的编写方法。

3、学会程序调试方法。

2、实验原理

 

序号

命令

功能

0      

显示Debug命令列表。

1      

a

汇编8086/8087/8088记忆码。

2     

c

比较内存的两个部分。

3    

d

显示部分内存的内容。

4    

e

从指定地址开始,将数据输入到内存。

5    

f

使用指定值填充一段内存。

6     

g

运行在内存中的可执行文件。

7     

执行十六进制运算。

8     

i

显示来自特定端口的1字节值。

9      

l

将文件或磁盘扇区内容加载到内存。

10  

m

复制内存块中的内容

11   

/n

为l或w命令指定文件,或者指定正在测试的文件的参数。

12  

o

向输出端口发送1个字节的值。

13  

p

执行循环、重复的字符串指令、软件中断或子例程。

14  

q

停止Debug会话。

15  

r

显示或改变一个或多个寄存器。

16     

s

在部分内存中搜索一个或多个字节值的模式。

17  

t

执行一条指令,然后显示所有寄存器的内容、所有标志的状态和Debug下一步要执行的指令的解码形式。

18   

u

反汇编字节并显示相应的原语句。

19   

w

将被测试文件写入磁盘。

20   

xa

分配扩展内存。

21   

xd

释放扩展内存。

22   

xm

映射扩展内存页。

23    

xs

显示扩展内存的状态。

 

三、实验内容:

将两个无符号数相乘,将结果数存入规定地址。

被乘数和乘数的存放地址及数据如下:

名称

地址

数据

被乘数

2000:

0000

2000:

0001

2A

30

乘数

2000:

0002

2000:

0001

15

1B

乘积

2000:

0004

2000:

0007

注意:

数据低位在前,高位在后。

四、实验报告内容:

1、实验用源程序:

开机选择“开始”→“运行”→输入“command”→输入“debug”调出debug应用程序。

Debug源程序:

D2000:

0000      ;查看部分内存内容

E2000:

0000 2A 30 15 1B   ;写入数据

D2000:

0000         ;查看输入后的数据

A 回车     ;写程序

    MOVAX,2000

  MOVDS,AX

    MOVAX,[0000]

   MOVBX,[0002]

  MULBX      ;让AX乘以DX,结果存入DX:

AX

 MOV [0004],AX

  MOV [0007],DX

    INT20H      ;正常中断程序

   

  Ctrl+M        ;退出编程,由键盘输入

 G     ;运行程序

  D2000:

0000      ;查看程序运行结果

2、实验结果分析

输出结果显示为72-6118-05结果正确。

实验中遇到的问题,在debug里输入程序要细心,如果输入有误为保证结果的正确应重新打开debug程序。

实验中发现输入的大小写对程序的结果没有影响。

实验二除法运算实验

一、实验目的:

1、了解调试程序DEBUG的常用命令和功能。

2、掌握多字节除法运算程序的编写方法。

3、学会程序调试方法。

二、实验内容:

将两个无符号数相除,将结果数存入规定地址。

被除数和除数的存放地址及数据如下:

名称

地址

数据

被除数

除数

2000:

0010~0013

2000:

0014~0015

2A3B4C5D

7C5D

余数

2000:

0016~0017

2000:

0018~0019

数据低位在前,高位在后。

三、实验报告内容:

1、实验用源程序

按照实验一中的方法调出debug:

Debug源程序:

D 2000:

0000   ;查看部分内存内容

E2000:

00005D7C 5D4C3B 2A ;写入数据

D2000:

0000        ;查看输入后的数据

A     ;写程序

    MOVAX,2A3B

   MOV DX,4C5D

    MOV BX,7C5D

    MOVAX,[0010]

   MOV DX,[0012]

  MOV BX,[0014]

DIVBX        ;被除数DX:

AX除BX,商存入AX,余数存到DX

 MOV[0016],AX

      MOV[0018],DX

  INT20H    ;正常中断程序

  

 Ctrl+M           ;退出编程,由键盘输入

   G          ;运行程序

   D2000:

0000      ;查看程序运行结果

2、实验结果分析

实验正确结果:

7D-FF9E-11

实验中应注意的问题,在输入数值时应高低位颠倒输入,程序运算时是先进后出。

遇到的问题:

当输入正序时得到的结果是EE-56E7-6F(为错误结果)。

 

 

ﻬ实验三数据转换实验

一、实验目的:

1、进一步掌握DEBUG使用方法。

2、掌握数制转换程序的编写方法。

3、学会调试循环程序和子程序方法。

二、实验内容:

将单元2000:

0000~003中的8位十进制数35,26,38,74(数据高位在前,低位在后),转换成二进制数,存入单元2000:

0004~0007中。

在编写程序时,要充分利用循环程序和调用子程序的方法来简化程序设计,并注意循环的地址及子程序入口地址的设置方法。

三、实验报告内容:

1、实验用源程序

STACKSSEGMENTSTACK     ;堆栈段

   DW128DUP(?

) ;只有128个字节

 STACKSENDS

DATAS SEGMENT     ;数据段

  D1 DB  10

      ;D2DB

; D3DB 38H

   ;D4DB 74H

 

  DATAS ENDS

  CODESSEGMENT     ;代码段

       ASSUME  CS:

CODES,DS:

DATAS

 START:

 MOV    AX,DATAS   ;初始化

     MOVDS,AX

 MOV   AX,2000H

       MOV DS,AX

MOV AX,2635H

    MOV DI,0000H

  MOV   [DI],AX

    MOV   DI,0002H

   MOV  AX,7438H

    MOV   [DI],AX

 MOV    BL,10

  MOV BX,0010

     MOV [BX],AL

   DO1MACRO  ADD1,ADD2

   MOV  SI,CX

     MOV   DI,0000H

    MOV CX,4

 NEXT:

    MOV AL,[DI]

  SHR AL,4

   MUL   BL

   PUSHAX

   MOV  AL,[DI]

AND AL,0FH

   POPDX

 XOR  AH,AH

      XOR DH,DH

  ADD    AL,DL

      MOV SI,[CL+4]

      MOV   [DI+4],AL

   INC  DI

    LOOP NEXT

     ENDM

   DO1  0H4H

  DO1  15

      DO1 26

 DO1 37

    MOV AX,4C00H  ;退出程序

     INT 21H

  CODES ENDS

     ENDSTART

 

实验四显示字符串实验

一、实验目的:

1、掌握宏汇编语言源程序的编辑方法。

2、学会用MASM及LINK程序将源程序文件转换成可执行文件的方法。

3、学会调用DOS软中断功能来显示字符串的方法。

二、实验步骤:

1、利用全屏幕编辑程序来编辑源程序,文件扩展名为ASM,操作如下:

A>NE 盘号:

文件名.ASM

2、利用MASM程序将源程序文件汇编成目标文件,目标文件扩展名为OBJ,操作如下:

 A>MASM 盘号:

文件名.ASM盘号:

文件名.OBJ

在编辑中发生错误,要用NE程序来修改源程序文件。

3、用LINK程序将目标文件转换成可执行文件,可执行文件扩展名为EXE,操作如下:

 A>LINK 盘号:

文件名.OBJ 盘号:

文件名.EXE

4、在DOS环境下执行可执行文件。

三、实验内容:

按照宏汇编语言源程序格式的要求,编写一个文件,显示如下字符串:

I like microcomputerverymuch.

四、实验报告内容:

1、实验用源程序

STACKS SEGMENT STACK    ;堆栈段

     DW   128 DUP(?

)    ;只有128个字节

  STACKS ENDS

 DATAS SEGMENT    ;数据段

 MSG1 DB     'I likemicrocomputerverymuch.','$'

  DATAS ENDS

 CODESSEGMENT    ;代码段

      ASSUME CS:

CODES,DS:

DATAS

START:

 MOV  AX,DATAS ;初始化

  MOV  DS,AX

    MOV DX,OFFSETMSG1

    MOV AH,9

  INT  21H

  MOV AX,4C00H   ;退出程序

    INT 21H

  CODESENDS

    END START

2、实验结果分析

实验显示出了“Ilikemicrocomputerverymuch.”

ﻬ实验五显示字符串实验

一、实验目的:

1、进一步掌握字符串的显示方法。

2、掌握键盘信号的输入和分析方法。

3、进一步熟悉源程序的编写方法。

二、实验内容:

先使计算机提问下列问题:

Doyoulikethislesson(Y/N)?

如果用户回答N,计算机回答:

You shouldchange yourinterest.

如果用户回答Y,计算机回答:

Youaregoodstudent. 

三、实验报告:

1、实验用源程序:

STACKSSEGMENTSTACK  ;堆栈段

  DW  128 DUP(?

);注意这里只有128个字节

  STACKSENDS

    DATASSEGMENT   ;数据段

  MSG1 DB  'Doyoulikethislesson(Y/N)?

','$'

MSG2DB 10,'Youshould change yourinterest.','$'

  MSG3 DB10,'You aregood student.','$'

   DATASENDS

  CODESSEGMENT     ;代码段

 ASSUME CS:

CODES,DS:

DATAS,SS:

STACKS

  START:

MOV  AX,DATAS ;初始化

     MOV   DS,AX

;请在这里添加您的代码

    MOV  DX,OFFSET MSG1

   MOV  AH,9

  INT  21H

    MOV  AH,1

     INT21H

      CMP  AL,'Y'

     JZ     Y1

   CMP  AL,'y'

   JZ   Y1

  CMP    AL,'N'

  JZ Y2

   CMP AL,'n'

    JZ  Y2

   Y1:

MOV DX,OFFSET MSG3

    MOV AH,9

      INT   21H

       JMP   DONE

Y2:

  MOV DX,OFFSETMSG2

    MOV   AH,9

  INT21H

   DONE:

     MOVAX,4C00H ;退出程序

    INT 21H

    CODESENDS

  END START

实验六 数据排序实验

一、实验目的:

1、掌握比较数据大小的方法。

2、掌握由大到小排列数据的方法。

3、掌握显示某一数据区的方法。

二、实验内容:

先在数据区输入十个随机排列的数据,然后用气泡排序法把数据由大到小排列好,并显示在屏幕上。

然后改变数据的内容,再用同样的程序来排列,并显示出结果。

第一次排列的数据为:

41H,70H,03H,53H,88H,16H,20H,3FH,74H,8EH

第二次排列的数据为:

10H,78H,23H,04H,1AH,7AH,35H,4BH,9FH,0BH

显示结果:

班级,学号,名字

排序好的数据。

 

三、实验报告内容:

1、实验用源程序

STACKS SEGMENTSTACK ;堆栈段

   DW 128DUP(?

) 

STACKSENDS

  DATASSEGMENT     ;数据段

 MSG1DB   'Doyoulikethislesson(Y/N)?

','$'

 MSG2DB     10,'Youshould changeyourinterest.','$'

 MSG3 DB  10,'You aregood student.','$'

  DATASENDS

    CODES SEGMENT      ;代码段

  ASSUME CS:

CODES,DS:

DATAS,SS:

STACKS

   START:

 MOV  AX,DATAS   ;初始化

  MOVDS,AX

    MOV  DX,OFFSETMSG1

    MOV AH,9

 INT 21H

  MOV    AH,1

   INT   21H

     CMP   AL,'Y'

     JZ  Y1

      CMP   AL,'y'

    JZ Y1

  CMPAL,'N'

     JZ Y2

      CMP AL,'n'

  JZ Y2

    Y1:

MOVDX,OFFSET MSG3

  MOV  AH,9

 INT   21H

     JMP  DONE

 Y2:

MOV   DX,OFFSETMSG2

   MOV  AH,9

  INT  21H

  DONE:

    MOVAX,4C00H   ;退出程序

   INT21H

 CODESENDS

  ENDSTART

 

ﻬ实验七  显示字符串实验

一、实验目的:

1、掌握显示菜单的方法。

2、学会分析键盘输入数据的方法。

3、掌握编写宏指令和宏调用的方法。

二、实验步骤:

先在屏幕上显示下列菜单 

What itemdoyou want to know?

1.Myname

2.Myage

3.Myinterestingwork

4.Myfamily

Pleaseinputthenumber:

然后根据输入的数据,分别回答你的姓名,年龄,感兴趣的工作和家庭成员,具体回答内容由同学自己拟定。

在程序中尽量采用宏指令,并注意程序设计的技巧。

三、实验报告内容:

1、实验用源程序

STACKSSEGMENT STACK              ;堆栈段

    DW 128DUP(?

  STACKSENDS

 DATAS SEGMENT            ;数据段

    M01DB'What itemdo youwanttoknow?

','$'

    M02DB   10,28DUP(8),'1. Myname     ','$'

  M03DB  10,28DUP(8),' 2. Myage    ','$'

 M04DB 10,28DUP(8),' 3. My interesting work ','$'

  M05 DB   10,28DUP(8),' 4.My family  ','$'

 M06 DB    10,28DUP(8),'Pleaseinput thenumber:

    ','$'

    M07 DB    10,28DUP(8),'  LiJuan    ','$'

 M08DB   10,28DUP(8),'  22        ','$'

    M09DB  10,28 DUP(8),'  playballs.  ','$'

  M10 DB10,28 DUP(8),'  Myparentsandme.','$'

 DATASENDS

 CODESSEGMENT         ;代码段

      ASSUME CS:

CODES,DS:

DATAS,SS:

STACKS

 START:

MOV   AX,DATAS  ;初始化

    MOVDS,AX

  PRTMACRO X

  MOV DX,OFFSETX

     MOV AH,9

  INT  21H

 ENDM

  IPT MACRO

  MOV  AH,1

     INT   21H

   ENDM

 IFGOMACRO X,Y

  CMP AL,X

   JZ Y

     ENDM

 PRT  M01

     PRT M02

 PRT  M03

     PRTM04

 PRT M05

    PRT  M06

     IPT

   IFGO   '1',Y1

     IFGO  '2',Y2

      IFGO '3',Y3

          IFGO '4',Y4

 Y1:

 PRT   M07

    JMP   DONE

   Y2:

PRT     M08

   JMP    DONE

 Y3:

PRT M09

  JMP  DONE

  Y4:

PRT  M10

 DONE:

  MOV  AX,4C00H          ;退出程序

  INT    21H

 CODES ENDS

     END START

 

实验八 时钟显示实验

一、实验目的:

1、了解计算机中时钟数据的存取方法。

2、掌握时钟显示的编写方法。

3、进一步掌握BIOS和DOS中子程序的调用方法。

二、实验内容:

在计算机屏幕的右上角显示时钟值,直到按下一个键再返回DOS。

三、实验报告内容:

1、实验用源程序:

DATASEGMENT

WHOUR DB0 ;秒表的时、分、秒、毫秒

  WMIN DB   0

  WSEC DB   0

  WMSEC DB 0

OLD1CH DD  0

 SIGNAL DB 0

 COUNT DW   0

;---------------------------------------------------------------------------------------------------------------

 CHOUR  DB    0   ;闹钟的时、分、秒

   CMINDB 0

 CSEC DB0

;-----------------------------------------------------------------------------------------------------------------

   SPACEDB  2000DUP('')

   PATTERN DB   6 DUP(''),0C9H,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1