当前位置:文档之家› 《汇编语言》实验指导书

《汇编语言》实验指导书

《汇编语言》实验指导书
《汇编语言》实验指导书

《汇编语言》实验指导书

目录

实验一Debug命令的使用 (3)

实验二基本汇编指令的使用 (7)

实验三汇编语言程序的调试与运行 (10)

实验四系统功能调用程序的调试与运行 (15)

实验五分支程序设计 (17)

实验六循环程序设计 (20)

实验七子程序设计 (23)

实验八高级汇编语言程序设计 (25)

实验九I/O程序设计 (30)

实验十中断程序设计 (33)

实验十一综合程序设计 (38)

实验一Debug命令的使用

一、知识点

1、DEBUG简介

DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。在汇编语言程序调试中很常用。

DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。

DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。

DEBUG命令的使用注意问题:

(1)字母不分大小写

(2)只使用十六进制数,但没有带后缀字母“H”

(3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。

(4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。

2、Debug的调入和退出

以WIN2000环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态:

C:\Documents and Settings\lfy>

然后输入命令:

>Debug

进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。

退出Debug的命令:Q

3、Debug常用命令

(1)汇编命令A,格式为:

- A [地址]

功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。若不指定地址,则系统从默认的地址开始存放。按回车键退出汇编状态

应用:用于调试一条指令或几条指令组成的一个程序段。

(2)显示和修改寄存器命令R,格式为:

- R [寄存器名]

功能:若指定寄存器,则显示指定的寄存器的内容,并可进行修改;若不要修改,则按Enter 健。若未指定寄存器,则默认为显示所有寄存器的内容。

应用:常用于通过寄存器的值查看指令的执行结果。

(3)内存单元内容的命令E,格式为:

- E 地址[内容表]

功能:若指定内容表,则用内容表中的内容代替指定地址开始的存储单元的值;否则,从指定地址开始逐个单元显示其内容,并等待用户修改,按空格键则继续显示下一单元的值,按回车键结束。例如:

-E 100

184E: 0100 89,78

其中,184E时数据段的段地址,0100是要修改的单元的偏移地址,89为该单元的值,78为程序员键入的值。结果0100单元的值由89H改变为78H。

应用:常用于在调试程序的过程中改变变量的初始值。

(4)显示内存单元内容的命令D,格式为:

- D [地址] 或–D [范围]

功能:前者为显示从指定地址开始的一段存储单元的值;后者为显示指定范围内的存储单元的值。

例如:- D 200 ;显示从DS:200单元开始的各单元的值

- D 200 L10 ; 显示从DS:200单元开始的10个字节单元的值。

应用:常用于在调试过程中检查变量的值。

(5)单步执行命令T,格式为:

- T [=地址]

功能:从指定地址执行一条指令后停下来,显示寄存器内容和状态值。若未指定地址,则执行当前指令的下一条指令。

(6)反汇编命令 U ,格式为:

-U [地址] 或 -U 范围

功能:从制定地址开始,反汇编32个字节,或对指定范围内的主存内容进行反汇编。若没有指定地址,则接着上一个U命令的最后一个单元开始;若还没有使用过U命令,则从当前CS:IP开始。例如:

-U 100,106

1343:0100 B80302 MOV AX,0203

1343:0103 BB0540 MOV BX,4005

1343:0106 01D8 ADD AX,BX

其中,屏幕最左边是主存逻辑地址(段地址:偏移地址),中间是该指令的机器代码,右边是对应指令的汇编语句格式。

(7)运行命令G, 格式为:

-G[ = 起始地址] [断点地址1,断点地址2,……,断点地址10]

功能:从等号后的起始地址开始运行,直到遇到断点或程序正常结束。例如:

-G=100 106

则程序执行从100开始的程序段,到断点106停止。此时指令ADD AX,BX并未执行。

二、实验目的及要求

1、编语言调试环境Debug的使用,重点掌握常用命令(A R D E T)的使用,其

他指令在以后的学习中逐步掌握。

2、利用Debug命令,调试采用不同寻址方式的指令的执行结果,从实践中加深对寻址

方式和MOV指令的理解。

三、实验内容

1、Debug程序的调入和退出

2、Debug常用调试命令的使用

3、MOV指令、XCHG指令、XLAT指令的调试

四、实验步骤

说明:

首先输入以下程序段,然后单步执行并查看结果;改变寄存器AX的初始值后再运行,并查看结果。带下划线的部分为程序员输入的内容。

在DEBUG环境下,所有的数据均以十六进制输入和显示。

-A

137B:0100 mov ax,20

137B:0103 mov bx,ax

137B:0105 add ax,bx

137B:0107 mov [2000],ax

137B:010A

-T=0100

AX=0020 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0103 NV UP EI PL NZ NA PO NC

137B:0103 89C3 MOV BX,AX

-T=0103

AX=0020 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0105 NV UP EI PL NZ NA PO NC

137B:0105 01D8 ADD AX,BX

-T

AX=0040 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0107 NV UP EI PL NZ NA PO NC

137B:0107 A30020 MOV [2000],AX

DS:2000=000

-T

AX=0040 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=010A NV UP EI PL NZ NA PO NC

137B:010A 0000 ADD [BX+SI],AL DS:0020=FF -D 2000 L2

137B:2000 40 00

.

;修改0100处的指令mov ax,20 将AX的初始值改为10,并重新运行

-A 0100

137B:0100 mov ax, 10

137B:0103

;最后一条指令执行的结果如下:

AX=0020 BX=0010 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=010A NV UP EI PL NZ NA PO NC

137B:010A 0000 ADD [BX+SI],AL DS:0010=DF ;查看2000单元的值为0020H

-D 2000 l2

137B:2000 20 00

.

;修改2000单元的值,由20h改为30h 并重新显示

-E 2000

137B:2000 20.30

-D 2000 l2

137B:2000 30 00

五、拓展题

MOV、XCHG、XLAT指令的调试。

要求:用汇编命令A输入以下源程序段,用T命令单步执行,查看执行结果:寄存器或存储单元的值。。

提示:在DEBUG环境下输入程序段时要省掉立即数后面的字符“H”

1、MOV指令的调试

程序段:MOV AL, 55H

MOV AH, AL

MOV BX, 1000H

MOV BYTE PTR[BX], 66H

MOV WORD PTR[BX+2], 77H

MOV [BX+4], AX

2、XCHG指令的调试

程序段:MOV AX, 0203H

MOV BX, 0405H

XCHG AX, BX

XCHG BL, BH

3、XLAT指令的调试

(1)用E命令从DS:200地址开始输入数据10H、20H、30H、40H、50H

(2)用A命令输入以下程序段:

MOV BX, 200 ;将数据的首地址送给BX

MOV AL, 4用MOV ;将要查找的数据的偏移地址送给AL

XLAT

;查看结果寄存器AL中的值,以及从DS:200开始的存储单元的值。

六、实验报告

写出在DEBUG状态下编写、运行程序段的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

实验二基本汇编指令的使用

一、知识点

1、最常用的传送指令MOV

可以将立即数/内存单元的值/寄存器的值送给寄存器,或将立即数/寄存器的值送给内存单元,但不允许两个内存单元之间直接传送。

2、常用算术运算指令ADD/ADC/INC、SUB/SBB/DEC/CMP/NEG

两个单字节/单字之间的加法用ADD指令、减法用SUB指令;

多字节/多字之间的加/减,除最低字节/最低字用ADD/SUB指令外,其余字节/字之间的加/减都要用包含进位/借位的ADC/SBB指令。

INC和DEC指令常用于修改计数器或修改指针,常用与循环处理一批数据。

CMP指令常用于比较两个数的关系,为下一步的条件转移做准备(后跟条件转移指令)。

3、常用逻辑运算指令AND/OR/NOT/XOR/TEST

AND指令常用于给一个数据的某几位清零;

OR指令常用于给一个数据的某几位置1;

XOR指令常用于将一个数据某几位翻转;

NOT指令常用于将一个数据所有位取反;

TEST指令常用于测试一各数据的某一位或某几位的值,后跟条件转移指令。

4、常用移位指令SHL/SHR/SAR/ROL/ROR/RCL/RCR

SHL和SAL功能相同,都是将操作数左移一位或几位,移出的空位补0;

SHR和SAR功能不同,虽都是将操作数右移一位或几位,但左边移出的空位分别补0和1(SHR要补0,SAR补1)。

二、实验目的及要求

1、继续熟悉汇编语言调试环境Debug的使用,掌握常用调试命令。

2、用基本指令编写的程序段,并在Debug环境中调试,从实践中加深对基本汇编语言

指令的执行过程的理解。

3、实验前要做好充分准备,包括汇编程序段清单、调试步骤、调试方法,以及对程序

结果的分析等。

三、实验内容

1、单步调试以下程序段,给出每条指令执行后AL的值,以及CF、ZF、SF、OF的状

态。

MOV AL, 89H

ADD AL, AL

ADD AL, 9DH

CMP AL, 0BCH

SUB AL,AL

DEC AL

INC AL

2、编写程序段,分别完成11223344H与55667788H的加/减计算,并调试、观察结果。

3、单步调试以下程序段,给出每条指令执行后AL的值,以及CF、ZF、SF、OF的状

态。

MOV AX, 1470H

MOV BX, 3060H

AND AX, BX

OR AX, BX

XOR AX, AX

NOT AX

TEST AX,0F0F0H

4、设(AX)=1234H,写出执行下列每条指令后AX寄存器的内容,并观察CF的变化。

SHL AX, 1

MOV CL, 2

SHL AX, CL

SHR AX, 1

ROL AX, 1

MOV CL, 3

ROL AX, CL

RCR AX,1

MOV CL, 2

RCR AX, CL

四、实验步骤

1、利用DEBUG的A命令输入待调试的程序段。

2、利用单步执行命令T逐条执行指令,观察寄存器及相关状态位的值。

以实验内容2中的加法为例,实现加法运算:

注:下划线部分为程序员输入的内容。

(1)-A

1373:0100 MOV AX, 3344 ;DX.AX<- 11223344H

1373:0103 MOV DX, 1122

1373:0106 ADD AX, 7788 ; DX.AX+55667788H->DX.AX

1373:0109 ADC DX, 5566

1373:010D

-T=100

AX=3344 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=0103 NV UP EI PL NZ NA PO NC 1373:0103 BA2211 MOV DX,1122

-T

AX=3344 BX=0000 CX=0000 DX=1122 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=0106 NV UP EI PL NZ NA PO NC 1373:0106 058877 ADD AX,7788

-T

AX=AACC BX=0000 CX=0000 DX=1122 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=0109 OV UP EI NG NZ NA PE NC 1373:0109 81D26655 ADC DX,5566

-T

AX=AACC BX=0000 CX=0000 DX=6688 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=010D NV UP EI PL NZ NA PE NC 1373:010D 0000 ADD [BX+SI],AL DS:

;结果:DX.AX=6688AACCH

五、拓展题:

1、编写程序段:将DX.AX中的双字右移一位。

2、编写程序段:将AX寄存器的最低4位置1,最高3位清0,第7、8、9位取反,

其余位不变。设AX中原来的值为0AAH。

3、设AX=2AH,BX=30H,编写程序段计算:AX/BX,并将结果送BX.CX。

六、实验报告:

1、写出源程序段清单、程序说明、执行结果。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,

并对调试过程中的问题进行分析,对执行结果进行分析。

实验三汇编语言程序的调试与运行

一.知识点

1、汇编语言源程序的格式

完整的汇编语言源程序由段组成,即代码段、数据段、附加段和堆栈段。其中,需要独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。

例如,输出一个字符串的源程序:

.model small ;定义程序的存储模式(小型程序一般采用小模式)

.stack ;定义堆栈段

.data ;定义数据段

string db ‘An example.’,0ah,0dh,’$’;在数据段中定义要显示的字符串

.code ;定义代码段

.startup ;程序的起始点

lea dx, string ;将字符串的起始地址送dx,即设置入口参数

mov ah, 09h ;设置输出字符串的功能调用号

int 21h ; 功能调用:显示

.exit 0 ;程序结束点,返回dos

end ;汇编结束

注:这是简化段定义的程序格式

2、汇编语言程序的开发过程

一般步骤:编辑、编译、连接、调试运行

(1)源程序的编辑

源程序文件可以利用任一文本编辑器进行编辑,通常我们用“记事本”。

源程序文件保存时,一般以.asm为文件的后缀名。

具体实现:如图

在win2000环境下,在“另存为”界面中输入文件全名(example.asm),并且将“保存类型“选择为“所有文件”。

也可以使用.txt后缀名,不过在汇编时要写源文件的全名,否则系统默认的为.asm。

(2)源程序的汇编、连接

汇编是将源程序翻译成由机器代码组成的目标模块文件的过程。连接程序将一个或多个目标文件和库文件合成一个可执行文件。

MASM6.X提供的ML.EXE可以实现:

先汇编,若没有错误则自动调用LINK.EXE连接程序进行编译;若有错,则提示错误信息,可利用列表文件查看错误所在位置,并改正错误,重新汇编和连接。

例如,设上面的例题程序文件为EXAMPLE.ASM,并且该文件与ML.EXE等文件都在同一目录(设该目录为当前目录)下,则汇编、连接的命令为:

>ML EXAMPLE.ASM

运行结果见实验步骤2。产生:EXAMPLE.OBJ和EXAMPLE.EXE文件

特别说明:

ML允许汇编和连接多个程序形成一个可执行文件,而且还可以带参数,格式:ML [/参数选项] 文件列表

常用参数选项有:

/c ——只汇编源程序,不进行自动连接(注意用小写字母c)

/Fl 文件名——创建一个汇编列表文件(扩展名LST),用于查找错误。

Sg ——在省城的列表文件中,列出由汇编程序产生的指令

例如:若将字符串的引号改为中文的“‘”后重新用下面命令汇编连接,则结果见实验步骤3。

>ML /Fl EXAMPLE.ASM

(3)可执行程序的调试

在操作系统提示符下直接输入柯执行文件名即可运行:

>EXAMPLE

当出现运行错误时,通常用DEBUG进行调试:

>DEBUG EXAMPLE.EXE

然后采用U命令进行反汇编,用T或G命令运行并观察,找出错误所在。

二.实验目的及要求

1.掌握数据定义、段定义的方法

2.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

3、熟悉常见Jcc指令、loop指令的使用。

三.实验内容

编程实现:

1、求数组array中的20个字元素的和,并存入变量total中。其中,数组元素在定义数

组时以初值的形式给出。

2、给DX送一个初值,然后判断:若DX的高4位全为0,则使AX=0;否则使AX=-1。

3、定义一个字符串string,包含若干字符并且以’$’结尾,用程序统计字符的个数。

四、实验步骤

以实验内容1为例,介绍实验步骤:

1、编辑源程序:在记事本中输入如下程序,并存在E:\MASM6\BIN\EXAM1.ASM中。

2、汇编、编译:

情况1:没有错误

>ml example.asm

Object Modules [.obj]: example.obj

Run File [example.exe]: "example.exe"

List File [nul.map]: NUL

Libraries [.lib]:

Definitions File [nul.def]:

产生:EXAMPLE.OBJ和EXAMPLE.EXE文件

情况2:源程序中有错误,比如将字符串的引号改为中文的“‘”后重新用下面命令汇编连接。

>ML /Fl EXAMPLE.ASM

Microsoft (R) Macro Assembler Version 6.11

Copyright (C) Microsoft Corp 1981-1993. All rights reserved.

Assembling: example.asm

example.asm(5): error A2044: invalid character in file

example.asm(8): error A2006: undefined symbol : string

则给出2条错误信息提示,并产生错误列表文件EXAMPLE.LST

在记事本中打开该文件,内容如下:

;输出一个字符串的源程序:

.model small

.stack

.data

string db ’An example.',0ah,0dh,'$'

example.asm(5): error A2044: invalid character in file

.code ;定义代码段

.startup ;程序的起始点

lea dx, string

example.asm(8): error A2006: undefined symbol : string

mov ah, 09h

int 21h ; 功能调用:显示

.exit 0 ;程序结束点,返回dos

end ;汇编结束

特别提示:

两处错误明显的标在源程序中。

实际上,只有一处错误,后面的错误是由于前面的错误引起的,所以改正错误时要从前往后逐个修改,并且每改完一处就重新存盘、汇编,以提高调试效率。

3、调试:

C:\masm>debug example.exe

-u ;反汇编

1395:0000 BA9713 MOV DX,1397

1395:0003 8EDA MOV DS,DX

1395:0005 8CD3 MOV BX,SS

1395:0007 2BDA SUB BX,DX

1395:0009 D1E3 SHL BX,1

1395:000B D1E3 SHL BX,1

1395:000D D1E3 SHL BX,1

1395:000F D1E3 SHL BX,1

1395:0011 FA CLI

1395:0012 8ED2 MOV SS,DX

1395:0014 03E3 ADD SP,BX

1395:0016 FB STI

1395:0017 8D160400 LEA DX,[0004] ;源程序中的第一条指令

1395:001B B409 MOV AH,09

1395:001D CD21 INT 21

1395:001F B8004C MOV AX,4C00 ;对应.exit 0 指令

-u

1395:0022 CD21 INT 21

……

此时可用debug命令调试该程序了。

4、关于变量名对应的偏移地址

源程序的第一条指令是:lea dx, string

汇编后对应的指令是:LEA DX,[0004]

因此,可看出变量string所对应的偏移地址是:0004h

如果要查看从string开始的字符串的内容,可用如下命令:

-D 04 Lc

即查看从04H开始的12个单元的内容。

五、拓展题

1、有两个64位数值,按“小端方式“存放在两个缓冲区buffer1和buffer2种,计算buffer1-buffer2,并将结果存放到变量result中。

2、将DX.AX中的双字右移4位。

六、实验报告

1、写出源程序清单、程序说明、执行结果。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,

并对调试过程中的问题进行分析,对执行结果进行分析。

实验四系统功能调用程序的调试与运行

一、知识点

1、常用字符/字符串输入/出系统功能调用

(1)输出一个字符:DOS功能调用INT 21H的02号功能调用

使用格式:

MOV AH, 02H ;设置功能调用号AH<-02H

MOV DL, ‘*’;设置入口参数DL<-待显示的字符的ASCII码

INT 21H ;DOS功能调用:显示

(2)输入一个字符:DOS功能调用INT 21H的02号功能调用

使用格式:

MOV AH, 01H ; 设置功能调用号AH<-01H

INT 21H ;DOS功能调用:显示

出口参数:AL=字符的ASCII码

说明:执行此功能时,等待用户按键,然后读取按键值。

(3)输出一个字符串:DOS功能调用INT 21H的09号功能调用

使用格式:

MOV AH, 09H ;设置功能调用号AH<-09H

LEA DX, STRING ;设置入口参数DX<-待显示的字符串的首地址

INT 21H ;DOS功能调用:显示

说明:字符串必须以’$’结束;

入口参数DS:DX=待显示的字符串的首地址(段地址:偏移地址)(4)输入一个字符串:DOS功能调用INT 21H的0A号功能调用,将键盘输入的字符串送入指定的缓冲区。

入口参数DS:DX=待显示的字符串的首地址(段地址:偏移地址)

使用该功能前,首先要定义接受字符串的缓冲区,格式:

BUFFER DB 81 ;定义缓冲区,以及可能输入的最大字符数

DB 0 ;该字节用于存放实际输入的字符的个数

DB 81 DUP(0) ;该区域用于存放输入的字符串,初值设为0 使用格式:

MOV AH, 0AH ; 设置功能调用号AH<-01H

MOV DX, SEG BUFFER

MOV DS, DX ;缓冲区的段地址→DS

LEA DX, BUFFER ; 缓冲区的偏移地址→DX

INT 21H ;DOS功能调用:输入字符串

二、实验目的及要求:

1、掌握接受键盘数据的方法,掌握向显示器输出数据的方法。并了解数据显示时,须

转为ASCII码的原理。

2、握DOS功能调用的编程方法。

3、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结

果的分析等。

三、实验内容:

编程实现:

1、从键盘输入一个小写字母,转换成大写字母,然后换行输出。

2、从键盘输入的一个字符串(以回车结束),并将字符串末尾加上结束标志’$’,然后

输出该字符串。

3、从键盘输入的一个字符串(不超过10个字符,以回车结束,),将字符串的长度送

入寄存器AL,然后输出字符串的长度。

四、实验步骤:

具体编程、调试步骤同实验三

编程提示:

1、换行的实现:输出字符0AH、0DH

2、在字符串末尾加上结束标志’$’的实现:

若接收字符串的缓冲区为buffer,则先取出实际输入的字符:mov si, buffer+1

然后将字符串末尾加上’$’:mov [buffer+si+2], ‘$’,其中buffer+2为字符串的首地址

3、输出字符串长度的实现:首先取出实际输入的字符数,然后将该数字转换成对应

的ASCII码,最后输出该数字对应的字符。

五、思考题:

程序中的原始数据是以怎样的形式存放在数据区中的?请用DEBUG调试程序观察并分析。

六.实验报告:

1、程序说明。说明程序的功能、结构。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,

并对调试过程中的问题进行分析,对执行结果进行分析。

3、画出程序框图。

4、写出源程序清单和执行结果。

5、回答思考题。

实验五分支程序设计

一、知识点

1、控制转移类指令

无条件转移指令JMP 、条件转移指令Jcc

2、单分支结构

注意分支条件的选择:当条件满足时,直接转到分支的下一条指令;否则,执行单分支语句段。例如,求AX中数据的绝对值:

CMP AX, 0

JGE NONEG

NEG AX

NONEG: MOV RESULT, AX

思考:如果条件改为JL,以上分支程序段如何改写?是比较程序段的复杂度?

3、双分支结构

双分支结构中条件的选择任意,但特别注意:

当分支语句段1结束后,一定要用JMP指令跳过分支语句段2,即跳到分支结束的位置。例如,判断AX中的数据的符号,若为非负数,则0→sign;否则,-1→sign。

CMP AX, 0

JGE NONEG

MOV SIGN, -1

JMP END0

NONEG: MOV SIGN, 0

END0: ……

4、分支结构程序测试用例的设计

基本准则:测试用例要满足能够使每个分支都能执行一次,特别注意边界数据的测试。

换句话说,就是首先分析每个分支条件,找出使条件成立、不成立时的数据取值范围,然后从每个范围中选一个数据,形成一个测试用例;另外,边界数据作为单独一个测试用例。

举例说明:

(1)单分支/双分支结构的测试:比如上面“判断AX中的数据的符号”程序段,需要设计三个测试用例,即分AX>0、AX<0、AX=0三种情况,分别确定一个数据(假设AX分别取5、-2、0三个数据)。其中,0就是一个介于条件成立与不成立之间的边界数据。

具体操作:在DEBUG环境下,用R命令改变AX的值,调试,分析程序流程和结果。

(2)多分支结构的测试:比如,实验内容第3题的多分支结构的测试:则至少要对每一种情况设计一个测试用例,即

1~9中的一个数、a~z中的一个字符、A~Z中的一个字符、回车符、其他字符,

然后设计边界测试用例1、9、A、Z、a、z,共11个测试数据。

具体操作:当测试数据需要从键盘输入时,可在在MS-DOS环境下逐个使用测试数据运行;当测试数据是程序中某个变量或寄存器的值时,可在DEBUG环境下,利用R或E命令用测试数据修改寄存器或变量的值,然后运行。

二、实验目的及要求

1、掌握分支程序的结构。

2、掌握分支程序的设计、调试方法。

3、实验前要做好充分准备,包括流程图、汇编程序清单、调试步骤、调试方法,以及

对程序结果的分析等。

4、编程时先画流程图,培养结构化程序设计的思想;调试前根据程序结构设计测试用

例,逐步掌握程序测试方法。

三、实验内容

1、编写一个程序,显示AL寄存器中的两位十六进制数。

2、编写一个程序,把变量bufX和bufY中较大者存入bufZ;若两者相等,则把其中之

一存入bufZ中。假设变量中存放的是8位无符号数。

3、编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z

字符,均显示“c”;若是回车字符(其ASCII码为0DH),则结束程序,若为其

它字符则不显示,继续等待新的字符输入。

四、实验步骤

1、用记事本编写.ASM源程序。

2、对源程序进行汇编及连接,产生.EXE文件、.LST文件。

3、在DEBUG环境下调试:

(1)用DEBUG命令U反汇编,用T单步执行,查看程序的流程及每一步的执行结果。

(2)用R命令修改AL寄存器的内容,重新运行第一题的程序,分析结果。

(3)用E命令修改变量bufX和bufY的值,重新单步执行第二题的程序,分析程序的流程及运行结果。

(4)反复调试运行第三题的程序,分别输入:1~9中的一个数、a~z中的一个字符、A~ Z中的一个字符、回车符、其他字符,分析并记录每次的输入数据与执行结果。

4、在MS-DOS下直接运行.EXE文件

a.对第1题、第2题的程序直接在dos提示符下直接运行,查看结果。

b.对第3题,分别输入不同的字符,分别记录结果。

5、调试技巧:

(1)对于需要从键盘输入数据的情况,可直接在MS-DOS下调试,当每个测试用例都测试完成后并且没有错误,则程序调试完毕;若有错误,则进入DEBUG单步调试。

(2)对于需要在程序中设定变量的值的程序,在DEBUG下直接改变变量的值再调试,效率比较高,省去了在源程序中改变变量的值后要重新编译、连接的过程。

(3)在DEBUG下如果要查看程序的运行结果,必须执行以下到指令处停止:

MOV AX, 4C00H

INT 21

这是源程序中伪指令“.EXIT 0”汇编后的对应指令。

此时程序的功能已经执行完毕,但还未结束并返回MS-DOS状态。当程序结束并返回M S-DOS状态后,原来程序中的变量等对应的空间已经不存在了。

五、编程提示

1、显示AL寄存器中的两位十六进制数:

(1)首先显示高4位对应的十六进制数,然后显示第4位对应的十六进制数。

(2)分离高4位和低4位,分别用AL和BL保存:

MOV BL, AL

AND AL, 0F0H

MOV CL, 4

SHR AL, CL

AND BL, 0FH

(3)AL中数字到字符的转换:若为0~9的数字,则加‘0’或48即可;否则为A~F的数字,需要加55,比如数字A对应的字符’A’的ASCII码为65。

CMP AL, ‘9’

JA CH

ADD AL, ‘0’

JMP DISP

CH: ADD AL, 55

DISP: MOV AH, 02H ;显示

MOV DL, AL

INT 21H

说明:因为AL中的数据已经在0~F之间,所以判断是否为数字0~9时只要与9比较即可。

实验六循环程序设计

一、知识点

1、常用循环结构的汇编语言实现

(1)对于确定循环次数的循环结构,一般使用LOOP指令构成循环,LOOP指令中的标号位循环体的起始位置。但在循环之前要将循环次数送CX。

(2)对于循环次数不定的循环结构,一般用Jcc指令与标号一起构成循环。

(3)循环结构的汇编语言程序一般包含三部分,即

循环初始部分——循环之前准备相应的条件,如循环次数、相关变量/寄存器赋初

值等;

循环体——重复执行的程序代码,其中包含改变与循环条件有关的值;

循环控制部分——判断循环条件,决定是否继续循环。

2、循环程序的测试技巧

单步调试与分段调试结合:即对循环体内部的程序段的测试用单步执行的方法,执行1~2遍循环体,观察并分析每一步的结果及程序流程;对于整个循环体程序段的测试,一般用G命令分段调试,通过结果判断循环体的正确程度。(祥见后面的实验步骤)

二、实验目的及要求

(1)掌握循环程序的设计方法

(2)进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。

(3)学会针对不同的问题,选用不同的循环结构的方法。

(4)编程前画出流程图,培养结构化程序设计思想。

三、实验内容

1、编程实现把键入的一个字符,用二进制形式(0/1)显示它的ASCII代码值。

2、编写程序,将一个包含有20个有符号数据的数组ARRAYM分成两个数组:正数数

组ARRAYP和负数数组ARRAYN。设数据均为8位。

3、在程序中定义两个字符串STRINGA和STRINGB,比较两个字符串是否相等。若

相等,输出‘0’,否则输出字符‘1’。

四、实验步骤

1、用记事本编写.ASM源程序。

2、对源程序进行汇编及连接,产生.EXE文件、.LST文件。

3、在DEBUG环境下调试:

(1)用DEBUG命令U反汇编,用T单步执行2边循环体,查看程序的流程及每一步的执行结果。

计算机组成原理实验1-汇编语言实验

微处理器与接口技术 实验指导

实验一监控程序与汇编语言程序设计实验 一、实验要求 1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。 2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。 3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 二、实验目的 【1】学习和了解TEC-XP16教学实验系统监控命令的用法; 【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。 三、实验注意事项 (一)实验箱检查 【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。 【2】五位控制开关的功能示意图如下: 【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】 (二)软件操作注意事项 【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口; 【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试; 【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

汇编实验指导书

汇编语言实验指导书 授课教师李娜 授课对象 05计科、网络、06计科 授课时间 07-08学年第一学期 授课地点一、二、四机房 课程简介 一.实验课程的性质和目的 汇编语言程序设计是计算机专业的一门专业基础课,是学好计算机底层系统构成的课程。汇编语言程序设计是一门实用性很强的课程。汇编语言程序程序设计实验教案是教案的重要环节,是理论教案的重要补充,只有通过实验,学生才能熟练掌握汇编语言程序设计的基本方法,并对其有更深刻的认识。本门实验课是单独设课。 二.实验教案的方法和手段 为了提高实验教案效果,实验严把预习、实验、实验报告3个环节。实验在软件实验室机房完成,单独设组,个人完成实验,每项实验以小班为单位,实验考勤采用电子签到制度。 预习:安排学生学习实验内容,了解实验的过程和操作规程,并布置思考题和预习报告,让学生有目的地去查阅与实验相关的资料。 实验:实验开始前由指导教师讲解实验要点,提出注意事项。实验过程中,主题是学生,教师是辅助作用,要求学生独立完成实验。 实验报告:实验结束后,强调学生及时填写实验记录表,对实验过程进行详细记录,对实验结果细致地分析、讨论,完成相关思考题作业。 三.课程学时 本实验课实验总学时为32学时。 四.实验成绩的考核方法 汇编语言实验成绩按百分制核定。实验过程占50%,实验报告占50%。五.大纲的适用范围 本大纲适用计算机科学与技术专业和计算机应用与维护专业学生。 六.主要设备与器材配备

七.实验项目汇总表 实验一熟悉汇编语言编程环境 一.实验目的 <1)熟悉汇编语言编程环境; <2)掌握基本汇编程序。。 二.实验仪器设备 计算机 三.实验重点、难点 熟悉汇编语言编程环境; DEBUG常用命令的正确使用。-T/-U/-Q/-G 四.实验题目 比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘metch’,否则,显示’no match’。 五.实验内容、步骤 1.调用EDIT建立ASM源文件。 2.用汇编程序MASM对源文件汇编产生目标文件OBJ。 <如有问题,可用DEBUG调试。) 3.用LINK联接程序产生执行文件EXE。 4.执行程序。 附:源程序 ;PROGRAM TITLE GOES HERE—COMPARE STRING ;******************************************************** data segment string1 db 'move the cursor backward.' String2 db 'move the cursor backward.'

测试技术实验指导书及实验报告2006级用汇总

矿压测试技术实验指导书 学号: 班级: 姓名: 安徽理工大学 能源与安全学院采矿工程实验室

实验一常用矿山压力仪器原理及使用方法 第一部分观测岩层移动的部分仪器 ☆深基点钻孔多点位移计 一、结构简介 深基点钻孔多点位移计是监测巷道在掘进和受采动影响的整个服务期间,围岩内部变形随时间变化情况的一种仪器。 深基点钻孔多点位移包括孔内固定装置、孔中连接钢丝绳、孔口测读装置组成。每套位移计内有5~6个测点。其结构及其安装如图1所示。 二、安装方法 1.在巷道两帮及顶板各钻出φ32的钻孔。 2.将带有连接钢丝绳的孔内固定装置,由远及近分别用安装圆管将其推至所要求的深度。(每个钻孔布置5~6个测点,分别为;6m、5m、4m、3m、2m、lm或12m、10m、8m、6m、4m、2m)。 3.将孔口测读装置,用水泥药圈或木条固定在孔口。 4。拉紧每个测点的钢丝绳,将孔口测读装置上的测尺推至l00mm左右的位置后,由螺丝将钢丝绳与测尺固定在一起。 三、测试方法 安装后先读出每个测点的初读数,以后每次读得的数值与初读数之差,即为测点的位移值。当读数将到零刻度时,松开螺丝,使测尺再回到l00mm左右的位置,重新读出初读数。 ☆顶板离层指示仪 一、结构简介: 顶板离层指示仪是监测顶板锚杆范围内及锚固范围外离层值大小的一种监测仪器,在顶板钻孔中布置两个测点,一个在围岩深部稳定处,一个在锚杆端部围岩中。离层值就是围岩中两测点之间以及锚杆端部围岩与巷道顶板表面间的相对位移值。顶板离层指示仪由孔内固定装置、测量钢丝绳及孔口显示装置组成如图1所示。

二、安装方法: 1.在巷道顶板钻出φ32的钻孔,孔深由要求而定。 2.将带有长钢丝绳的孔内固定装置用安装杆推到所要求的位置;抽出安装杆后再将带有短钢丝绳的孔内固定装置推到所要求的位置。 3.将孔口显示装置用木条固定在孔口(在显示装置与钻孔间要留有钢丝绳运动的间隙)。 4.将钢丝绳拉紧后,用螺丝将其分别与孔口显示装置中的圆管相连接,且使其显示读数超过零刻度线。 三、测读方法: 孔口测读装置上所显示的颜色,反映出顶板离层的范围及所处状态,显示数值表示顶板的离层量。☆DY—82型顶板动态仪 一、用途 DY-82型顶板动态仪是一种机械式高灵敏位移计。用于监测顶底板移近量、移近速度,进行采场“初次来压”和“周期来压”的预报,探测超前支撑压力高 峰位置,监测顶板活动及其它相对位移的测量。 二、技术特征 (1)灵敏度(mm) 0.01 (2)精度(%) 粗读±1,微读±2.5 (3)量程(mm) 0~200 (4)使用高度(mm) 1000~3000 三、原理、结构 其结构和安装见图。仪器的核心部件是齿条6、指针8 以及与指针相连的齿轮、微读数刻线盘9、齿条下端带有读 数横刻线的游标和粗读数刻度管11。 当动态仪安装在顶底板之间时,依靠压力弹簧7产生的 弹力而站立。安好后记下读数(初读数)并由手表读出时间。 粗读数由游标10的横刻线在刻度管11上的位置读出,每小 格2毫米,每大格(标有“1”、“22'’等)为10毫米,微读数 由指针8在刻线盘9的位置读出,每小格为0.01毫米(共200 小格,对应2毫米)。粗读数加微读数即为此时刻的读数。当 顶底板移近时,通过压杆3压缩压力弹簧7,推动齿条6下 移,带动齿轮,齿轮带动指针8顺时针方向旋转,顶底板每 移近0.01毫米,指针转过1小格;同时齿条下端游标随齿条 下移,读数增大。后次读数减去前次读数,即为这段时间内的顶底板移近量。除以经过的时间,即得

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

汇编语言程序设计实验指导书

汇编语言实验报告题目:子程序设计 班级:rbw111 姓名:吴德鹏 学号:201107092416 完成日期:2013.12.22

概述: 《汇编语言程序设计》实验指导书是非计算机、非电类的其他专业:包括纺织、机械、热能等专业的《汇编语言程序设计》课程配套使用的实验指导。在理论课的教学中着重介绍微机系统的组成及工作原理,针对INTEL 8088/8086系列介绍相应的指令系统和汇编语言程序设计,介绍了接口的一般概念和CPU与外设交换信息的常用方式的软硬件设计思想。实验课测重培养学生的汇编语言设计能力及一些简单接口程序设计的方法,训练学生汇编语言程序调试的能力。通过实验,使学生加深对课堂教学内容的理解,培养学生综合使用微型机的初步能力。其中实验一、实验二是后续实验的基础,通过该实验,学生应能了解汇编语言源程序的一般格式,熟悉汇编语言程序的上机过程和调试程序的基本方法,重点放在DEBUG调试程序的命令使用方法上。也可以将实验一、实验二合并为一个实验,按照*实验一的要求进行;实验三、四、五进一步培养学生的各种结构的程序设计能力;实验六主要是简单接口的综合应用,为学生建立一个微机应用系统的概念,使学生通过具体的实例对相关的接口有感性认识,提高学生的实际动手能力和独立解决问题的能力。教师可以根据专业学时的多少和学生的具体情况来开设实验。 一、实验目的: 1.进一步熟悉分支、循环程序设计的方法及用DEBUG调式程序的方法。 2.熟练掌握子程序的参数传递的方式、子程序的嵌套、递归调用及其设计方法和技巧。 3、培养学生创新精神和独立运用所学基本知识和技能分析问题和解决问题的能力。 二、实验属性: 显示学生名次表:编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字的grade数组中,其中grade+i保存学号为i+1的学生的成绩。然后根据grade中的学生成绩,把学生名次填入50字的rank数组中,其中rank+i的内容是学号为i+1学生的名次。再按学号顺序把名次从终端上显示出来。 说明:程序设计中应体现出模块化程序设计思想和方法。 三、实验仪器设备: 提供实验条件。 Pc机并在debug的环境下进行调试

混凝土结构实验指导书及实验报告(学生用)

土木工程学院 《混凝土结构设计基本原理》实验指导书 及实验报告 适用专业:土木工程周淼 编 班级::学 号: 理工大学 2018 年9 月

实验一钢筋混凝土梁受弯性能试验 一、实验目的 1.了解适筋梁的受力过程和破坏特征; 2.验证钢筋混凝土受弯构件正截面强度理论和计算公式; 3.掌握钢筋混凝土受弯构件的实验方法及荷载、应变、挠度、裂缝宽度等数据的测试技术 和有关仪器的使用方法; 4.培养学生对钢筋混凝土基本构件的初步实验分析能力。 二、基本原理当梁中纵向受力钢筋的配筋率适中时,梁正截面受弯破坏过程表现为典型的三个阶段:第一阶段——弹性阶段(I阶段):当荷载较小时,混凝土梁如同两种弹性材料组成的组合梁,梁截面的应力呈线性分布,卸载后几乎无残余变形。当梁受拉区混凝土的最大拉应力达到混凝土的抗拉强度,且最大的混凝土拉应变超过混凝土的极限受拉应变时,在纯弯段某一薄弱截面出现首条垂直裂缝。梁开裂标志着第一阶段的结束。此时,梁纯弯段截面承担的弯矩M cr称为开裂弯矩。第二阶段——带裂缝工作阶段(II阶段):梁开裂后,裂缝处混凝土退出工作,钢筋应力急增,且通过粘结力向未开裂的混凝土传递拉应力,使得梁中继续出现拉裂缝。压区混凝土中压应力也由线性分布转化为非线性分布。当受拉钢筋屈服时标志着第二阶段的结束。此时梁纯弯段截面承担的弯矩M y称为屈服弯矩。第三阶段——破坏阶段(III阶段):钢筋屈服后,在很小的荷载增量下,梁会产生很大的变形。裂缝的高度和宽度进一步发展,中和轴不断上移,压区混凝土应力分布曲线渐趋丰满。当受压区混凝土的最大压应变达到混凝土的极限压应变时,压区混凝土压碎,梁正截面受弯破坏。此时,梁承担的弯矩M u 称为极限弯矩。适筋梁的破坏始于纵筋屈服,终于混凝土压碎。整个过程要经历相当大的变形,破坏前有明显的预兆。这种破坏称为适筋破坏,属于延性破坏。 三、试验装置

基础的汇编语言小程序

基础的汇编语言小程序 1.1 Hello World !程序(完整段) (注:所有的标点符号以及空格回车均为英文输入法状态下的,否则报错!) DATAS SEGMENT STRING DB ‘Hello World !’,13,10,’$’ DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX LEA DX,STRING MOV AH,9 INT 21H MOV AH,4CH INT 21H CODES ENDS END START 1.2 Hello World !程序(简化段) .MODEL SMALL .DATA

STRING DB’Hello World !’,13,10,’$’ .STACK .CODE .STARTUP LEA DX,STRING MOV AH,9 INT 21H .EXIT END 2.1完整段的求3+5的和 DATA SEGMENT FIVE DB 5 DATAS ENDS STACKS SEGMENT DB 128 DUP(?) STACKS ENDS CODES SEGMENT ASSUME CD:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV AL,FIVE

ADD AL,3 ADD AL,30H MOV DL,AL MOV AH,2 MOV AH,4CH INT 21H CODES ENDS END START 2.2;简化段的求3+5的和.MODEL SMALL .DATA FIVE DB 5 .STACK DB 128 DUP (?) .CODE .STARTUP MOV AL,FIVE ADD AL,3 ADD AL,30H MOV DL,AL MOV AH,2 INT 21H

汇编语言实验2

计算机工程系实验报告 课程名称:汇编语言 实验项目名称:用机器指令和汇编语言指令编程 班级:15级计科4班姓名:梁红梅学号:15091413 一、实验目的: 1.学习Debug中D命令的使用方法,掌握查看指定内存单元的内容的指令,其中本实验中 主要掌握“d段地址:偏移地址”的格式; 2.了解Debug 中D命令程序的执行者:CPU,了解D命令的执行过程; 3.掌握CPU在访问内存单元时的主要过程; 4.学习怎样利用在Debug中cs、ds、ss、es这4个段寄存器,简化debug命令格式。 二、实验要求: 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。Mov ax,ffff Mov ds,ax Mov ax,2200 Mov ss,ax Mov sp,0100 Mov ax,[0] ;ax= Add ax,[2] ;ax= Mov bx,[4] ;bx= Add bx,[6] ;bx= Push ax ;sp= 修改的内存单元的地址是内容为 Push bx ;sp= 修改的内存单元的地址是内容为 Pop ax ;sp= ;ax= Pop bx ;sp= ;ax= Push [4] ;sp= 修改的内存单元的地址是内容为 Push [6] ;sp= 修改的内存单元的地址是内容为

三、实验数据记录: 1.进入Debug后使用-a命令将程序写入内存 2.通过使用-t命令将写入内存的程序逐一执行,直到命令执行完毕

三、实验结果及分析: 1.mov ax,[0] 执行完成后 ax=C0EA; 2.add ax,[2]执行完成后ax=C0FC; 3.mov bx,[4] 执行完成后 bx=30F0; 4.add bx,[6]执行完成后 bx=6021; 5.push ax 执行完成后 sp= 00FE 修改的内存单元的地址是 2200:00FE 内容为C0FC 6.push bx 执行完成后 sp= 00FC 修改的内存单元的地址是 2200:00FC 内容为6021

汇编语言程序设计-实验指导书

汇编语言程序设计 实验指导书 编写:郑利平 合肥工业大学计算机与信息学院 2008-9-1

汇编语言程序设计实验指导书 《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节,根据“汇编语言程序设计自学考试大纲”规定:上机实验单独作为本课程的实验考核成绩。《汇编语言程序设计》是一门实践性很强的课程,只有多上机操作,对汇编语言源程序进行编辑、汇编、连接、调试和运行全过程的训练,才能加深对本课程基本知识的理解,才能熟练地掌握程序设计的方法与技巧,才能学好本课程。 本实验指导书是完全按照《汇编语言程序设计自学考试大纲》中“实验大纲”的要求编写的,为便于考生较好完成上机操作和实验报告,特此作出如下说明和要求: (1)做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。 (2)编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。 (3)完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一DEBUG的使用 (一)实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 (二)实验设备 硬件环境:IBM-PC及其兼容机 软件环境:操作系统DOS3.0版本以上 调试程序https://www.doczj.com/doc/9e4031865.html, (三)实验内容和要求 实验内容: 1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。 实验要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 (四)预习要求 1、复习DOS启动方式和DOS有关命令的使用; 2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能; 3、复习寻址方式和相关的数据传送指令及算术运算指令。 (五)实验步骤 1、启动DOS操作系统 2、运行https://www.doczj.com/doc/9e4031865.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令) 3、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙

土工实验指导书及实验报告

土工实验指导书及实验报告编写毕守一 安徽水利水电职业技术学院 二OO九年五月

目录 实验一试样制备 实验二含水率试验 实验三密度试验 实验四液限和塑限试验 实验五颗粒分析试验 实验六固结试验 实验七直接剪切试验 实验八击实试验 土工试验复习题

实验一试样制备 一、概述 试样的制备是获得正确的试验成果的前提,为保证试验成果的可靠性以及试验数据的可比性,应具备一个统一的试样制备方法和程序。 试样的制备可分为原状土的试样制备和扰动土的试样制备。对于原状土的试样制备主要包括土样的开启、描述、切取等程序;而扰动土的制备程序则主要包括风干、碾散、过筛、分样和贮存等预备程序以及击实等制备程序,这些程序步骤的正确与否,都会直接影响到试验成果的可靠性,因此,试样的制备是土工试验工作的首要质量要素。 二、仪器设备 试样制备所需的主要仪器设备,包括: (1)孔径0.5mm、2mm和5mm的细筛; (2)孔径0.075mm的洗筛; (3)称量10kg、最小分度值5g的台秤; (4)称量5000g、最小分度值1g和称量200g、最小分度值0.01g的天平;

(5)不锈钢环刀(内径61.8mm、高20mm;内径79.8mm、高20mm或内径61.8mm、高40mm); (6)击样器:包括活塞、导筒和环刀; (7)其他:切土刀、钢丝锯、碎土工具、烘箱、保湿器、喷水设备、凡士林等。 三、试样制备 (一)原状土试样的制备步骤 1、将土样筒按标明的上下方向放置,剥去蜡封和胶带,开启土样筒取土样。 2、检查土样结构,若土样已扰动,则不应作为制备力学性质试验的试样。 3、根据试验要求确定环刀尺寸,并在环刀内壁涂一薄层凡士林,然后刃口向下放在土样上,将环刀垂直下压,同时用切土刀沿环刀外侧切削土样,边压边削直至土样高出环刀,制样时不得扰动土样。 4、采用钢丝锯或切土刀平整环刀两端土样,然后擦净环刀外壁,称环刀和土的总质量。 5、切削试样时,应对土样的层次、气味、颜色、夹杂物、裂缝和均匀性进行描述。 6、从切削的余土中取代表性试样,供测定含水率以及颗粒分析、界限含水率等试验之用。

基本演示汇编语言实验操作方法

基本演示1汇编语言实验操作方法 一.实验的基本方法(MASM宏汇编子目录下) 1.在DEBUG下运行汇编指令或简单小程序 在DEBUG提示符下,用汇编命令A:输入汇编指令或简单小程序,用单步命令T 或全程命令G来执行,并检查执行中间结果与最后结果。 2.标准汇编程序上机方法 A.建立ASM文件,用https://www.doczj.com/doc/9e4031865.html,全屏幕编辑文件或其他编辑文件建立扩展名为ASM的源程序. B.用MASM(或ASM)产生扩展名为OBJ目标文件。 C.用LINK产生扩展名为EXE可执行文件。 D.在DEBUG下,把文件调入内存,调试程序。 E.在DOS下可直接执行扩展名为EXE的文件。(详细过程) 二.汇编语言的工作环境. A.硬件环境 IBM-PC及其系列机 内存256K字节以上 外存:硬盘或至少一个软驱 CPU:80586以上 显示器:单色或彩色显示器 键盘:标准ASCII码键盘 B.软件环境 编缉程序:https://www.doczj.com/doc/9e4031865.html,或其他编缉程序 汇编程序:MASM.EXE或ASM.EXE 连接程序:LINK.EXE 调试程序:https://www.doczj.com/doc/9e4031865.html,或DEBUG.EXE

A命令 在命令A后跟地址,按回车输入程序,可以连续输入,当按下回车后,就退回到DEBUG下。 T命令

T命令为跟踪命令。 G命令 该地址指定了运行的起始地址,如不指定则从当前的cs:ip开始运行EDIT.EXE

怎样生成.exe文件

生成.obj文件

基本演示2DEBUG命令的使用 A.程序调用命令 C>DEBUG[D:][PATH][FILENAME[.EXT]][PARM1][PARM2] 其中,文件名是被调试文件的名字。如未键入文件名。可用DEBUG命令N和L 把需要文件装入存储器后再调试。D指定驱动器,PATH为路径,FILENAME为文件名,PARM为命令参数 B.显示存储单元命令 -D[ADDRESS]或;ADDRESS地址 -D[RANGE];RANGE范围 C.修改存储单元内容命令 -E ADDRESS[LIST] D.检查和修改寄存器内容命令 -R[REGISTER NAME];Register name寄存器名字 E.汇编命令 -A[ADDRESS] F.跟踪命令 -T[=ADDRESS][VALUE];Value变量值 G.运行命令 -G[=ADDRESS][ADDRESS2[ADDRESS3] H.反汇编命令 -U[ADDRESS] -U[RANGE]

汇编语言实验一

淮阴工学院 汇编语言程序设计实验报告 选题名称:实验一调试工具的使用方法训练 系(院):计算机工程学院 专业:计算机科学与技术 班级: 1101 姓名:康志杰学号: 1101301132 指导教师:王福德 学年学期:2013 学年第 2 学期 2013 年 4 月15 日

实验一利用DEBUG调试程序调试程序段 <1 > 实验目的: (1)熟悉DEBUG有关命令的使用方法 (2)利用DEBUG掌握有关指令的功能 (3)利用DEBUG运行简单的程序段 <2 > 实验内容 (1)进入和退出DEBUG程序 1)开始——运行,输入cmd,点确定或回车键进入DOS环境 2)在命令窗口输入debug进入debug程序 3)进入debug程序后,按q退出

(2) 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命 令、N命令、W命令等,也应试一下。 1 显示存储器单元命令D 格式:D [<地址范围>] 功能:显示指定地址范围内的存储区数据,包括十六进制数据形式及其对应的ASCII码字符显示。 2 写存储器单元命令E 格式:E <地址> [<字符串>] 功能:逐个修改指定单元内容或将字节串写入指定的一组连续单元。 例:将字节串′computer′写入以100H为起始地址的存储器区。 -E 100′computer′ 3显示和修改某个指定寄存器内容, 格式为:-R 寄存器名 例如打入:-R AX 系统将响应如下: AX 0000

: 表示AX当前内容为0000,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如: -R BX BX 0000 :1000 则BX内容由0000改为1000 4显示和修改标志位状态, 命令格式为:-RF 系统将给出响应,如 NV UP EI PL NZ NA PO NC- 这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如 NV UP EI PL NZ NA PO NC-ZR CY

余敦辉《汇编语言》实验指导书实验1-实验3

《汇编语言》实验指导书

目录 实验一Debug命令的使用 (3) 实验二基本汇编指令的使用 (9) 实验三汇编语言程序的调试与运行 (13) 实验四系统功能调用程序的调试与运行………………错误!未定义书签。 实验五分支程序设计……………………………………错误!未定义书签。 实验六循环程序设计……………………………………错误!未定义书签。 实验七子程序设计………………………………………错误!未定义书签。 实验八高级汇编语言程序设计…………………………错误!未定义书签。 实验九I/O程序设计……………………………………错误!未定义书签。 实验十中断程序设计……………………………………错误!未定义书签。 实验十一综合程序设计 (38)

实验一Debug命令的使用 一、知识点 1、DEBUG简介 DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。在汇编语言程序调试中很常用。 DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。 DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。 DEBUG命令的使用注意问题: (1)字母不分大小写 (2)只使用十六进制数,但没有带后缀字母“H” (3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。 (4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。 2、Debug的调入和退出 以WIN7环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态: C:\Documents and Settings\lfy> 然后输入命令: >Debug 进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。 退出Debug的命令:Q 3、Debug常用命令 (1)汇编命令A,格式为: - A [地址] 功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。若不指定地址,则系统从默认的地址开始存放。按回车键退出汇编状态 应用:用于调试一条指令或几条指令组成的一个程序段。

CAD上机实验指导书及实验报告

北京邮电大学世纪学院 实验、实习、课程设计报告撰写格式与要求 (试行) 一、实验报告格式要求 1、有实验教学手册,按手册要求填写,若无则采用统一实验报告封面。 2、报告一律用钢笔书写或打印,打印要求用A4纸;页边距要求如下:页边距上下各为2.5厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 3、统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。 4、实验报告中的实验原始记录,须经实验指导教师签字或登记。 二、实习报告、课程设计报告格式要求 1、采用统一的封面。 2、根据教学大纲的要求手写或打印,手写一律用钢笔书写,统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。打印要求用A4纸;页边距要求如下:页边距上下各为2.5厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 三、报告内容要求 1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。 2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。 3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。 北京邮电大学世纪学院 教务处 2009-8

实验报告 课程名称计算机绘图(CAD) 实验项目AutoCAD二维绘图实验 专业班级 姓名学号 指导教师实验成绩 2016年11月日

《流体力学》课程实验(上机)指导书及实验报告格式

《流体力学》课程实验指导书袁守利编 汽车工程学院 2005年9月

前言 1.实验总体目标、任务与要求 1)学生在学习了《流体力学》基本理论的基础上,通过伯努利方程实验、动量方程实 验,实现对基本理论的验证。 2)通过实验,使学生对水柱(水银柱)、U型压差计、毕托管、孔板流量计、文丘里流量计等流体力学常用的测压、测流量装置的结构、原理和使用有基本认识。 2.适用专业 热能与动力工程 3.先修课程 《流体力学》相关章节。 4.实验项目与学时分配 5. 实验改革与特色 根据实验内容和现有实验条件,在实验过程中,采取学生自己动手和教师演示相结合的方法,力求达到较好的实验效果。

实验一伯努利方程实验 1.观察流体流经实验管段时的能量转化关系,了解特定截面上的总水头、测压管水头、压强水头、速度水头和位置水头间的关系,从而加深对伯努利方程的理解和认识。 2.掌握各种水头的测试方法和压强的测试方法。 3.掌握流量、流速的测量方法,了解毕托管测速的原理。 二、实验条件 伯努利方程实验仪 三、实验原理 1.实验装置: 图一伯努利方程实验台 1.水箱及潜水泵 2.上水管 3.电源 4.溢流管 5.整流栅 6.溢流板 7.定压水箱 8.实验 细管9. 实验粗管10.测压管11.调节阀12.接水箱13.量杯14回水管15.实验桌 2.工作原理 定压水箱7靠溢流来维持其恒定的水位,在水箱下部装接水平放置的实验细管8,水经实验细管以恒定流流出,并通过调节阀11调节其出水流量。通过布置在实验管四个截面上的四组测压孔及测压管,可以测量到相应截面上的各种水头的大小,从而可以分析管路中恒定流动的各种能量形式、大小及相互转化关系。各个测量截面上的一组测压管都相当于一组毕托管,所以也可以用来测管中某点的流速。 电测流量装置由回水箱、计量水箱和电测流量装置(由浮子、光栅计量尺和光电子

汇编语言,led点亮

《单片机应用设计》课程设计 专业:自动化 姓名: 学号: 同组人员: 指导教师: 日期:

单片机应用设计课程设计 设计题目 1个按键:无按键时,8个LED全亮,按下1次,8个Led依次点亮,持续1S。连续按两次,8个Led以相反的次序依次点亮。

单片机应用设计课程设计 第一部分系统设计分析 硬件分析 1.LED灯采用共阳极接法,本题中则将P1口对应各位赋低电平即可点亮LED灯。 2.p 3.5接按键。 软件分析 第二部分硬件电路设计及实现

单片机应用设计课程设计 第三部分软件设计 ORG 0000H LJMP MAIN ;中断入口 ORG 000BH LJMP DIER KEY BIT P3^4 LED EQU P1 MAIN: MOV R2,#0 ;R2清零 MOV LED,#0 ;八个二极管全亮 MOV R3,#10 MOV TMOD,#01H;选择定时器0的定时器方式1 ;赋初值3CB0H即15536 MOV TL0,#0B0H MOV TH0,#3CH SETB EA ;打开总中断 SETB ET0 ;允许定时器0中断 ;第一次按键检测 KEY_SCAN:JNB KEY, YN1 ;为零则转移,即为按下 AJMP KEY_SCAN YN1:LCALL DEL1MS JNB KEY,Y1 ;判断是否真的按下,真的按下了,则转移 AJMP KEY_SCAN Y1:LCAL L DEL1MS JB KEY,SSH ;检测是否松手,松手转移 AJMP Y1 SSH:SETB TR0 ;打开定时器0 CJNE R2,#1,$ ;检测R2是否为一,不为一则等待 CLR TR0 ;关闭定时器 AJMP MAIN ;跳回主程序 ;第二次键盘检测,每50ms检测一次,检测10次,即为500ms DIER:JNB KEY, LED_2 ;检测键盘是否按下,按下则转移 DJNZ R3,CZ ;R3减一是否为零,不为零则转移 AJMP LED_1 ;延迟500ms后没有第二次按下,跳到LED_1 LED_1:MOV R4,#8 MOV A,#0FEH ;LED顺序循环程序 LOOP1:MOV LED,A LCALL DEL1S

汇编语言实验

实验四屏幕字符显示程序 实验目的: 通过实验掌握下列知识: 1、8088指令: JMP,ROR,XOR,HLT。 2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、直接向视频RAM(VRAM)送ASCII码进行屏幕显示的方法。 4、IBM-PC机的ASCII码表及控制字符。 5、命令(。COM)文件及使用方法。 6、利用^Break退出程序的方法及局限性。 实验内容及步骤: 一、利用INT 21 0AH号功能调用显示字符串。 1、用A命令在100H处键入下列程序: MOV AH, 9 MOV DX,110 INT 21 INT 20 2、用A命令在110H处键入下列字符串的ASCII码: DB 'This is a sample!$' 3、用N命令和W命令将此程序(包括数据区)存入文件名为AA。COM的磁盘文件中。(存入前BX:CX必须置为文件长度值)。 4、用Q命令退出DEBUG。 5、在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG检查程序有无错误。

二、利用INT 21H 2号功能显示字符: 1、用A命令在100H处键入下列程序: XOR DL,DL MOVCX,100 LOP:MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,0 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20 2、用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同? 3、按CTRL+BREAK退出此程序,若一次不行可多做几次。

实验指导书参考2

汇编语言程序设计实验指导书

汇编语言程序设计实验指导书 《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节,根据“汇编语言程序设计自学考试大纲”规定:上机实验单独作为本课程的实验考核成绩。《汇编语言程序设计》是一门实践性很强的课程,只有多上机操作,对汇编语言源程序进行编辑、汇编、连接、调试和运行全过程的训练,才能加深对本课程基本知识的理解,才能熟练地掌握程序设计的方法与技巧,才能学好本课程。 本实验指导书是完全按照《汇编语言程序设计自学考试大纲》中“实验大纲”的要求编写的,为便于考生较好完成上机操作和实验报告,特此作出如下说明和要求: (1)做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。 (2)编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。 (3)完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一DEBUG的使用 (一)实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 (二)实验设备 硬件环境:IBM-PC及其兼容机 软件环境:操作系统DOS3.0版本以上 调试程序https://www.doczj.com/doc/9e4031865.html, (三)实验内容和要求 实验内容: 1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。 实验要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 (四)预习要求 1、复习DOS启动方式和DOS有关命令的使用; 2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能; 3、复习寻址方式和相关的数据传送指令及算术运算指令。 (五)实验步骤 1、启动DOS操作系统 2、运行https://www.doczj.com/doc/9e4031865.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令) 3、用“A”命令编辑和汇编源程序 –A↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙

电磁场实验指导书及实验报告

CENTRAL SOUTH UNIVERSITY 题目利用Matlab模拟点电荷电场的分布姓名xxxx 学号xxxxxxxxxx 班级电气xxxx班 任课老师xxxx 实验日期2010-10

电磁场理论 实验一 ——利用Matlab 模拟点电荷电场的分布 一.实验目的: 1.熟悉单个点电荷及一对点电荷的电场分布情况; 2.学会使用Matlab 进行数值计算,并绘出相应的图形; 二.实验原理: 根据库伦定律:在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为斥力,异号为吸力,它们之间的力F 满足: R R Q Q k F ? 212 = (式1) 由电场强度E 的定义可知: R R kQ E ? 2 = (式2) 对于点电荷,根据场论基础中的定义,有势场E 的势函数为 R kQ U = (式3) 而 U E -?= (式4) 在Matlab 中,由以上公式算出各点的电势U ,电场强度E 后,可以用Matlab 自带的库函数绘出相应电荷的电场分布情况。 三.实验内容: 1. 单个点电荷 点电荷的平面电力线和等势线 真空中点电荷的场强大小是E=kq /r^2 ,其中k 为静电力恒量, q 为电量, r 为点电荷到场点P(x,y)的距离。电场呈球对称分布, 取电量q> 0, 电力线是以电荷为起点的射线簇。以无穷远处为零势点, 点电荷的电势为U=kq /r,当U 取

常数时, 此式就是等势面方程.等势面是以电荷为中心以r 为半径的球面。 平面电力线的画法 在平面上, 电力线是等角分布的射线簇, 用MATLAB 画射线簇很简单。取射线的半径为( 都取国际制单位) r0=, 不同的角度用向量表示( 单位为弧度) th=linspace(0,2*pi,13)。射线簇的终点的直角坐标为: [x,y]=pol2cart(th,r0)。插入x 的起始坐标x=[x; *x].同样插入y 的起始坐标, y=[y; *y], x 和y 都是二维数组, 每一列是一条射线的起始和终止坐标。用二维画线命令plot(x,y)就画出所有电力线。 平面等势线的画法 在过电荷的截面上, 等势线就是以电荷为中心的圆簇, 用MATLAB 画等势 线更加简单。静电力常量为k=9e9, 电量可取为q=1e- 9; 最大的等势线的半径应该比射线的半径小一点 r0=。其电势为u0=k8q /r0。如果从外到里取7 条等势线, 最里面的等势线的电势是最外面的3 倍, 那么各条线的电势用向量表示为: u=linspace(1,3,7)*u0。从- r0 到r0 取偶数个点, 例如100 个点, 使最中心点的坐标绕过0, 各点的坐标可用向量表示: x=linspace(- r0,r0,100), 在直角坐标系中可形成网格坐标: [X,Y]=meshgrid(x)。各点到原点的距离为: r=sqrt(X.^2+Y.^2), 在乘方时, 乘方号前面要加点, 表示对变量中的元素进行乘方计算。各点的电势为U=k8q. /r, 在进行除法运算时, 除号前面也要加点, 同样表示对变量中的元素进行除法运算。用等高线命令即可画出等势线 contour(X,Y,U,u), 在画等势线后一般会把电力线擦除, 在画等势线之前插入如下命令hold on 就行了。平面电力线和等势线如图1, 其中插入了标题等等。越靠近点电荷的中心, 电势越高, 电场强度越大, 电力线和等势线也越密。

相关主题
文本预览
相关文档 最新文档