• u******* 签到打卡,获得1金币奖励
  • 游客 下载了资源 《在中国文联十大、中国作协九大开幕式上的讲话》
  • 游客 下载了资源 2024年演出经纪人《演出市场政策与经纪实务》考前押题卷三
  • 游客 下载了资源 党的二十大报告全文
  • 游客 下载了资源 《在文艺工作座谈会上的讲话》
  • 游客 下载了资源 2017年422公务员联考《行测》真题(广西卷)答案及解析
  • 游客 下载了资源 2024年演出经纪人《思想政治与法律基础》考前押题卷三
  • 游客 下载了资源 2024年演出经纪人《思想政治与法律基础》考前押题卷二
  • 游客 下载了资源 2024年演出经纪人《思想政治与法律基础》考前押题卷四
  • 游客 下载了资源 《在中国文联十一大、中国作协十大开幕式上的讲话》

微机实验报告汇总

微机实验报告

曾东明

实验一 输出字符‘A’

一、实验目的

1.通过这个简单的例子熟悉在微机上建立、汇编、链接和运行8086/8088汇编语言程序的过程。

2.掌握字符的显示方法。

3.学习DOS系统功能调用。

二、实验内容

输出字符‘A’,程序流程图如图1-1所示。

图1-1输出字符‘A’程序流程图

源程序如下:

CODE SEGMENT

ASSUME CS:CODE

MOV DL, ‘A’

MOV AH, 2

INT 21H

MOV AH, 4CH

INT 21H

CODE ENDS

END

三、实验设备

PC机一台,MASM汇编程序

四、实验步骤

1.用记事本将源程序输入,并存盘。

注意:源程序是用汇编语言语句编写的程序,并不能为机器所识别。源程序的扩展名为.ASM

2.用宏汇编程序将.ASM源程序汇编成机器码的目标文件(OBJ文件)

3.用LINK程序产生执行文件(EXE文件)

4.执行程序

实验结果:

 

 

五、心得体会

第一次经历了汇编语言的上机过程,对在计算机上进行汇编语言程序设计的步骤不是很熟悉,对命令提示符的一些操作命令不懂,后来查阅了一些资料,比如可以在window7下按住shift,点击鼠标右键,在弹出的窗口里就可以打开命令提示符了。

六、思考题

1.请说出一个完整的汇编程序从编写到运行所需的步骤。

(1)用编辑程序建立ASM源程序文件

(2)用宏汇编程序将.ASM源程序汇编成机器码的目标文件(OBJ文件)

(3)用LINK程序产生执行文件(EXE文件)

(4)在DOS命令行直接键入文件名执行该文件

2.修改源程序,改变屏幕显示的内容。

修改的源程序:

CODE SEGMENT

ASSUME CS:CODE

MOV DL, ‘D’

MOV AH, 2

INT 21H

MOV AH, 4CH

INT 21H

CODE ENDS

END

实验二 数据的显示实验

一、实验目的

1.掌握屏幕上显示各种进制数据的方法。

2.掌握将内存中的二进制数转换为十进制、十六进制数的方法。

3.学会子程序的编写、调用及数据传递方法。

二、实验内容

1.把BX中的无符号二进制数转换成十进制数,在屏幕上显示出来。

2.把BX中的带符号二进制数转换成十进制数,在屏幕上显示出来。

3.求一个数据块(由10个单字节的无符号数组成)中的最大元素,并将结果以十进制数的形式在屏幕上显示出来。

4.求一个数据块(由20个单字节的带符号数组成)中的正数之和(和不超过字)和负数之和(和不超过字),并在屏幕上用十进制数的形式分别显示出两个和。

5.将寄存器BX中的二进制数转换成十六进制数,并在屏幕上显示出来。从高到低依次取出4位二进制数变为ASCII码输出即可。

三、实验设备:

PC机一台、masm汇编程序

四、实验步骤:

依照前面介绍的方法,对每一个实验内容对应的程序进行编辑、编译、连接和运行,直到达到实验要求。

1.实验内容1

(1)实验内容1的流程图,如图所示:

(2)实验内容1的程序:

CODE SEGMENT

ASSUME CS: CODE

DEC_DIV MACRO

MOV AX, BX

MOV DX, 0

DIV CX

MOV BX, DX

MOV DL, AL

ADD DL, 30H

MOV AH, 2

INT 21H

ENDM

 

START: MOV BX, 0FFFH

MOV CX, 1000

DEC_DIV

MOV CX, 100

DEC_DIV

MOV CX, 10

DEC_DIV

MOV CX, 1

DEC_DIV

MOV AH, 4CH

INT 21H

CODE ENDS

END START

(3)实验结果:

2. 实验内容2

(1)实验容1的程序:

DATA SEGMENT

A DW 1000

B DW 100

C DW 10

D DW 1

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV BX, 0FFEFH ;-0017的补码是0FFEFH

2.修改源程序,改变屏幕显示的内容。

修改的源程序:

CODE SEGMENT

ASSUME CS:CODE

MOV DL, ‘D’

MOV AH, 2

INT 21H

MOV AH, 4CH

INT 21H

CODE ENDS

END

实验二 数据的显示实验

一、实验目的

1.掌握屏幕上显示各种进制数据的方法。

2.掌握将内存中的二进制数转换为十进制、十六进制数的方法。

3.学会子程序的编写、调用及数据传递方法。

二、实验内容

1.把BX中的无符号二进制数转换成十进制数,在屏幕上显示出来。

2.把BX中的带符号二进制数转换成十进制数,在屏幕上显示出来。

3.求一个数据块(由10个单字节的无符号数组成)中的最大元素,并将结果以十进制数的形式在屏幕上显示出来。

4.求一个数据块(由20个单字节的带符号数组成)中的正数之和(和不超过字)和负数之和(和不超过字),并在屏幕上用十进制数的形式分别显示出两个和。

5.将寄存器BX中的二进制数转换成十六进制数,并在屏幕上显示出来。从高到低依次取出4位二进制数变为ASCII码输出即可。

三、实验设备:

PC机一台、masm汇编程序

四、实验步骤:

依照前面介绍的方法,对每一个实验内容对应的程序进行编辑、编译、连接和运行,直到达到实验要求。

1.实验内容1

(1)实验内容1的流程图,如图所示:

(2)实验内容1的程序:

CODE SEGMENT

ASSUME CS: CODE

DEC_DIV MACRO

MOV AX, BX

MOV DX, 0

DIV CX

MOV BX, DX

MOV DL, AL

ADD DL, 30H

MOV AH, 2

INT 21H

ENDM

 

START: MOV BX, 0FFFH

MOV CX, 1000

DEC_DIV

MOV CX, 100

DEC_DIV

MOV CX, 10

DEC_DIV

MOV CX, 1

DEC_DIV

MOV AH, 4CH

INT 21H

CODE ENDS

END START

(3)实验结果:

2. 实验内容2

(1)实验容1的程序:

DATA SEGMENT

A DW 1000

B DW 100

C DW 10

D DW 1

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV BX, 0FFEFH ;-0017的补码是0FFEFH

2.修改源程序,改变屏幕显示的内容。

修改的源程序:

CODE SEGMENT

ASSUME CS:CODE

MOV DL, ‘D’

MOV AH, 2

INT 21H

MOV AH, 4CH

INT 21H

CODE ENDS

END

实验二 数据的显示实验

一、实验目的

1.掌握屏幕上显示各种进制数据的方法。

2.掌握将内存中的二进制数转换为十进制、十六进制数的方法。

3.学会子程序的编写、调用及数据传递方法。

二、实验内容

1.把BX中的无符号二进制数转换成十进制数,在屏幕上显示出来。

2.把BX中的带符号二进制数转换成十进制数,在屏幕上显示出来。

3.求一个数据块(由10个单字节的无符号数组成)中的最大元素,并将结果以十进制数的形式在屏幕上显示出来。

4.求一个数据块(由20个单字节的带符号数组成)中的正数之和(和不超过字)和负数之和(和不超过字),并在屏幕上用十进制数的形式分别显示出两个和。

5.将寄存器BX中的二进制数转换成十六进制数,并在屏幕上显示出来。从高到低依次取出4位二进制数变为ASCII码输出即可。

三、实验设备:

PC机一台、masm汇编程序

四、实验步骤:

依照前面介绍的方法,对每一个实验内容对应的程序进行编辑、编译、连接和运行,直到达到实验要求。

1.实验内容1

(1)实验内容1的流程图,如图所示:

(2)实验内容1的程序:

CODE SEGMENT

ASSUME CS: CODE

DEC_DIV MACRO

MOV AX, BX

MOV DX, 0

DIV CX

MOV BX, DX

MOV DL, AL

ADD DL, 30H

MOV AH, 2

INT 21H

ENDM

 

START: MOV BX, 0FFFH

MOV CX, 1000

DEC_DIV

MOV CX, 100

DEC_DIV

MOV CX, 10

DEC_DIV

MOV CX, 1

DEC_DIV

MOV AH, 4CH

INT 21H

CODE ENDS

END START

(3)实验结果:

2. 实验内容2

(1)实验容1的程序:

DATA SEGMENT

A DW 1000

B DW 100

C DW 10

D DW 1

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV BX, 0FFEFH ;-0017的补码是0FFEFH

OR BX,BX

JNS NEXT

NEG BX

AND BH,7FH

MOV DL,2DH

MOV AH,2

INT 21H

NEXT:

MOV SI,OFFSET A

CALL DEC_DIV

MOV SI,OFFSET B

CALL DEC_DIV

MOV SI,OFFSET C

CALL DEC_DIV

MOV SI,OFFSET D

CALL DEC_DIV

 

 

MOV AH, 4CH

INT 21H

DEC_DIV PROC NEAR

MOV CX, [SI]

MOV AX, BX

MOV DX, 0

DIV CX

MOV BX, DX

MOV DL, AL

ADD DL, 30H

MOV AH, 2

INT 21H

RET

DEC_DIV ENDP

CODE ENDS

END START

(2)实验结果:

3.实验内容3

(1)实验内容3的流程图,如图所示:

(2)实验3的程序:

DATA SEGMENT

BLOCK DB 1,0,5,7,10,30,100,127,90,80

RESULT DB ?,?

BUF DB ‘MAX IS:$’

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

BEGIN PROC FAR

MOV AX, DATA

MOV DS, AX

MOV CX, 9

LEA SI, BLOCK

MOV AL, [SI]

X1: INC SI

CMP AL, [SI]

JAE X2

MOV AL, [SI]

X2: LOOP X1

MOV RESULT, AL

MOV DX, OFFSET BUF

MOV AH, 9

INT 21H

 

MOV BL,RESULT

CBW

资源下载
下载价格10 元(40 台币TWD)
点点赞赏,手留余香 给TA打赏

AI创作

评论0

请先
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性
显示验证码

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录