文档视界 最新最全的文档下载
当前位置:文档视界 › 师大汇编实验报告含程序

师大汇编实验报告含程序

师大汇编实验报告含程序
师大汇编实验报告含程序

湖南师范大学

汇编实验报告

姓名:

年级:

专业:计算机科学与技术

学号:

任课教师:陈兆仁

开课时间:2012~2013学年第一学期

实验一DOS常用命令及8086指令使用实验目的:

通过实验掌握下列知识:

1、DOS命令: DIR,DEL,RENAME,FORMAT,COPY。

2、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG

3、DEBUG命令: A,D,E,F,H,R,T,U。

4、BCD码,ASCII码及用16进制数表示二进制码的方法。

5、8086寄存器: AX,BX,CX,DX,F,IP。

内容及步骤:

一、DOS常用命令练习:

1、将新盘插到 A驱动器中,用DIR命令查看盘上文件。

2、用命令 COPY https://www.docsj.com/doc/5f11284078.html, BUG 复制一个文件。

3、用命令 RENAME BUG BG 将BUG 文件改为BG。

4、用命令 DEL BG 将文件BG删除。

在操作时要注意提示信息,并按提示操作。

二、DEBUG 命令使用:

1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。

2、用命令 F 100 10F 'A' 将'A'的ASCII码填入内存。

3、用命令 D 100 10F 观察内存中的16进制码及屏幕右边的ASCII 字符。

4、用命令 F 110 11F 41 重复上二项实验,观察结果并比较。

5、用命令 E 100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存

单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?

6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:

(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H

(5)A758,347FH

7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF

8、用R命令将AX,BX内容改写为1050H及23A8H。

三、8086常用指令练习

1、传送指令

1)用A命令在内存100H处键入下列内容:

MOV AX,1234

MOV BX,5678

XCHG AX,BX

MOV AH,35

MOV AL,48

MOV DX,75AB

XCHG AX,DX

2)用U命令检查键入的程序并记录,特别注意左边的机器码。

3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。

2、加减法指令:

1)用A命令在内存100H处键入下列内容:

MOV AH,34

MOV AL,22

ADD AL,AH

SUB AL,78

MOV CX,1284

MOV DX,5678

ADD CX,DX

SUB CX,AX

SUB CX,CX

2)用U命令检查键入的程序及对应的机器码。

3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。

思考:这次运行还是打入T,行不行?怎么办?用R命令检查一下IP的内容。注意T命令与IP的关系。

3、带进位加减法:

1)用A命令在内存200H处键入下列内容,并用U命令检查:

MOV AH,12

MOV AL,84

MOV CH,56

MOV CL,78

ADD AL,CL

ADC AH,CH

MOV DH,A7

MOV DL,58

SUB DL,7F

SBB DH,34

2)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。

3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。

DSEG SEGMENT

DAT1 DW 200H

DTT1 DW 220H

DSEG ENDS

ESEG SEGMENT

SUM DW 2 DUP(?)

ADC DW 2 DUP(?)

SUB DW 2 DUP(?)

SBB DW 2 DUP(?)

ASSUME CS:CSEG,DS:DSEG,ES:ESEG

START:mov ax,DSEG

Mov ds,ax

Mov ax,eseg

Mov es,AX

LEA SI,SUM

LEA SI, ADC

LEA SI, SUB

LEA SI, SBB

Mov ax,DAT1

ADD ax,DAT2

Mov es:[si],ax

Mov ax,DAT1

ADC ax,DAT2

Mov es:[si],ax

Mov ax,DAT1

SUB ax,DAT2

Mov es:[si],ax

Mov ax,DAT1

SBB ax,DAT2

Mov es:[si],ax CSEG ENDS

END START 4、BCD码加减法

1)内容:

MOV AL,58

ADD AL,25

DAA

2)要求:用A 命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。

实验报告要求:

1、16进制数加减法手算结果及实验结果

2、8086常用指令练习部分的逐条运行记录,思考结果及自编程序

运行记录 (列出自编程序)。

附:

DEBUG 使用:

1、打 DEBUG 进入 DEBUG,显示提示苻 '_ '。

2、退出DEBUG命令:Q

3、显示内存命令:D 起始地址结束地址

4、修改内存命令:E 起始地址,连续修改打空格键。打回车键退出E命令。

5、检查寄存器命令:R

标志位显示1 0

CF CY NC

ZF ZR NZ

SF NG PL

AF AC NA

OF OV NV

PF PE PO

DF DN UP

IF EI DI

6、修改寄存器命令:R 寄存器名

7、小汇编命令:A 起始地址,不输入指令打回车键退出A命令。

8、反汇编命令:U 起始地址结束地址

9、文件命名命令:N 盘号:文件名

10、读文件命令:L 内存地址

11、写文件命令:W 内存地址

10、读扇区命令:L 内存地址盘号(0--A:,1--B:) 扇区号扇区数

11、写扇区命令:W 内存地址盘号扇区号扇区数

12、运行命令:G=起始地址结束(断点)地址

13、单步命令:T=起始地址运行指令数,进入子程序内部。

14、单步命令:P=起始地址运行指令数,不进入子程序内部。

15、内存搬家命令:M 起始地址结束地址目的地址

实验二内存操作数及寻址方法

实验目的:

通过实验掌握下列知识:

1、DEBUG命令:G,N,W,L及Q。

2、8086系统中数据在内存中的存放方式和内存操作数的几种寻址方式。

3、8086指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。

4、8086汇编语言伪操作:BYTE PTR,WORD PTR。

5、求累加和程序和多字节加减法程序。

实验内容和步骤:

一、内存操作数及各种寻址方式使用:

内容:

MOV AX,1234

MOV [1000],AX

MOV BX,1002

MOV BYTE PTR[BX],20

MOV DL,39

INC BX

MOV [BX],DL

DEC DL

MOV SI,3

MOV [BX+SI],DL

MOV [BX+SI+1],DL

MOV WORD PTR[BX+SI+2],2846

步骤:

1)用A命令键入上述程序,并用T命令逐条运行。

2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。

注意D命令显示结果中右边的ASCII字符及双字节数存放法。

思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。

二、求累加和程序:

程序:

MOV BX,1000

MOV CX,10

SUB AX,AX

LOP: ADD AL,[BX]

ADC AH,0

INC BX

J: LOOP LOP

INT3

步骤:

1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。

2)用命令N AA将此程序命名为文件AA(文件名可任取)。

3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开

始地址)

4)用命令W 100将此程序存到AA命名的磁盘文件中。

5)用命令Q退出DEBUG。

6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程

若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。

7)用E命令在内存地址100H处键入16个数字

8)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查

AX,BX的值是否符合你的预计值。

9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。

10)重复G J与T,再检查AX是否正确。

11)用G命令使程序运行到结束,检查AX值是否正确

三、多字节加法程序。

程序:

MOV DI,1000

MOV CX,8

MOV SI,2000

CLC

汇编语言实验报告

汇编语言实验报告 专业: 班级: 姓名: 学号: 2011年12月14日

目录 实验1 利用DEBUG调试汇编语言程序段 (3) 实验2 初级程序的编写与调试实验(一) (11) 实验3 初级程序的编写与调试实验(二) (20) 实验4 汇编语言程序上机过程 (28) 实验5 分支程序实验 (33) 实验6 循环程序实验 (40) 实验7 子程序实验 (45)

实验1 利用DEBUG调试汇编语言程序段一.实验目的 1.熟悉DEBUG有关命令的使用方法; 2.利用DEBUG掌握有关指令的功能; 3.利用DEBUG运行简单的程序段。 二.实验内容 1.进入和退出DEBUG程序; 1)开始—运行,输入cmd,点确定进入命令窗口 2)在命令窗口中输入dubug进入debug程序 3)进入debug窗口后,输入q命令退出debug 2.学会DEBUG中的 1)D命令(显示内存数据D 段地址:偏移地址) 例1:-D100;显示DS段, 0100开始的128个节内容

说明:指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。 ①DSEGREG[起始地址] [L 长度] ;显示SEGREG段中(缺省内默认为DS), 以[起始地址] (缺省内为当前的偏移地址),开始的[L 长度] (缺省内默认为128)个字节的内容. ② D SEGREG[段地址:偏移地址] ;显示SEGREG段中(缺省内默认为DS), [段地址:偏移地址]开始的[L 长度] (缺省内默认为128)个字节内容 -D ;默认段寄存器为DS,当前偏移地址(刚进入debug程序偏移地址为0100H) -D DS:100 ;显示DS段, 0100H开始的128个字节内容 -D CS:200 ;显示CS段, 0200H开始的128个字节内容 -D 200:100 ;显示DS段, 0200:0100H开始的128个字节内容

信号检测论有无法实验报告

信号检测论有无法实验报告 摘要:本次实验采用信号检测论中的有无法,测定被试在不同先定概率下对呈现信号和刺激的击中率与虚报率,计算其辨别力d′和判定标准β,并绘制出ROC曲线;检验信号呈现的先定概率发生变化时,被试的击中率、虚报率、辨别力d′和判定标准β是否会受到影响。 关键词:信号检测论;有无法;先定概率;辨别力d′;判定标准β。 1. 引言:信号检测论(SDT)是以统计判定论为根据的理论,基本原则是把刺激的肯定程度用有序的方法数量化。具体做法是把人类个体比作一个信号感受器,具有对信息辨别的感受能力,能在信号和背景噪音不易分清的实验条件下,根据可供选择的假说,选定一个假说做为判断标准,然后报告出现的刺激是信号还是噪音。 信号检测论把刺激的判断看成对信号的侦察并作出决策的过程,其中既包括感觉过程也包括决策过程。感觉过程是神经系统对信号或噪音的客观反应,它仅取决于外在的刺激的性质,即信号和噪音之间的客观区别;而决策过程受到主观因素的影响。前者决定了被试的感受性大小,信号检测论多选用辨别力指标d’来作为反映客观感受性的指标;后者则决定被试的决策是偏向于严格还是偏向于宽松,信号检测论用判定标准β或报告标准C来对反应倾向进行衡量。并学习绘制ROC曲线。 2. 实验方法: 2.1被试:上海师范大学天华学院13应用心理1班女生一名 2.2仪器:采用计算机和Psytech心理实验系统。4种频率声音:1000Hz、1005Hz、1010Hz和1015Hz。 2.3程序:1.登录并打开PsyTech心理实验软件主界面,选中实验列表中的“信号检测论(有无法)”单击呈现实验简介。点击“进入实验”到“操作向导”。在参数设置中,实验者可以让被试先进行预备实验确定信号的频率。如果不做预备实验可以人工选取 1005、1010、 1015中的一种频率的声音作为信号,直接开始实验。 2.预备实验的指导语是:这是一个预备实验,使用1号反应盒。每次实验计算机将先后发出两个不同频率的声音。请你判断哪个声音的频率更高。如果你觉得第二个声音比第一个声音的频率高,请按“+”键;如果觉得第二个声音比第一个声音的频率低,请按“-”键。预备实验将进行30次。当你明白了上述指导语后,请点击下面的“预备实验”按钮开始。3.预备实验结束后,实验者在“预备实验结果”中将正确百分比中最接近80%的频率作为正式实验的信号(SN),而1000HZ则作为噪声(N)。

汇编实验报告(详细版)

计算机组成与汇编语言(实验报告) 内容: 实验一、六、七、八 院系专业:计算机学院计算机科学与技术 姓名:xxxxxxxxx 学号: 2011004xxxxx 完成时间:2012年12月1日

计算机组成与汇编语言实验报告 姓名xxxx 学号2011004xxxxx 计分 专业软件工程班级xxxx 实验日期2012年 12 月 1日实验名称实验一数制转换 实验目的 ●熟悉各种进制数据之间的相互转换方法。 ●掌握二-十进制数据的相互转换程序设计。 实验内容 1.将编写好的程序1输入、编译、连接并运行。 程序1清单 #include #include #include void main() { int i,l,s0=0,s=0; char a[17]; while(l!=16) { printf("请输入一个16位的二进制数:\n"); gets(a); l=strlen(a); for(i=0;i<16;i++) { if(a[i]!='0'&&a[i]!='1') {

printf("输入的二进制数不正确!!"); break; } } } if(a[15]=='1') s++; for(i=1;i<16;i++) { if(a[15-i]=='1') s+=(1<

说明:如果不是16位二进制则会提示错误。 2.将编写好的程序2输入、编译、连接并运行。 程序2清单 #include #include void main() { int t0,t1,t2,t3,i,j; int a[16]; printf("请输入一个十进制数:"); scanf("%d",&t0); t1=t0; for(i=0;i<16;i++) { t2=t1/2; if(t2>1) a[i]=t1%2; else if(t1==1) { a[0]=1; for(i=1;i<16;i++) a[i]=0; } else if(t1==2) { a[i]=0; a[i+1]=1; for(j=i+2;j<16;j++)

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

汇编语言综合实验报告

XXXX大学XX学院 实验报告 课程名称:汇编语言 学号: 姓名: 系: 专业: 年级: 指导教师: 职称: 20xx~20xx学年第一学期

实验项目列表 序号实验项目名称成绩指导教师 1 实验一汇编程序的汇编及运行 2 实验二顺序程序设计 3 实验三分支循环程序设计 4 实验四 DOS功能调用 5 实验五子程序设计 总平均

福建农林大学金山学院实验报告 系:专业:年级: 姓名:学号:实验课程:汇编语言 实验室号:__ __ 实验设备号:实验时间: 90分钟 指导教师签字:成绩: 实验一汇编程序的汇编及运行 1.实验目的和要求 (1)熟悉汇编程序的汇编、连接、执行过程 (2)生成LST文件,查看LST文件 (3)生成OBJ文件,修改语法错误 (4)生成EXE文件 (5)执行 2.实验环境 IBM—PC机及其兼容机 实验的软件环境是: 操作系统:DOS 2.0以上;调试程序:https://www.docsj.com/doc/5f11284078.html,;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。 3.实验内容及实验数据记录 (1)将数据段输入,取名1.txt,保存在MASM文件夹下。生成LST文件,(不必连接、运行)用EDIT查看1.LST文件。试回答:DA1,DA2的偏移量分别是多少?COUNT的值为多少? DA TA SEGMENT ORG 20H NUM1=8 NUM2=NUM1+10H DA1 DB ‘IBM PC’ DA2 DB 0AH, 0DH COUNT EQU $-DA1

生物信息学作业1实验2

上海师范大学实验报告 实验二 一、实验原理 答:利用Blast全球联网数据库,对输入的序列进行生物信息学分析,给出与输入序列相关性最大的对应的基因信息,比较两者的同源性。 二、操作步骤 答:(1)先打开网址https://www.docsj.com/doc/5f11284078.html,/ (2)点击右边的Blast链接,打开Blast数据库,进入Blast界面 (3)在Basic Blast中选择nucleotide blast (4)在对话框中输入核苷酸序列,在choose search set下的Database选项中选择Others (nr etc.) (5)把网页拉到最下方,点击Blast按钮 (6)在Descriptions 栏下找到Max ident 百分率最高的序列名称 (7)再往下拉,找到Alignments项下第一个序列,可以找到输入序列相关信息 (8)点击Accession,即能找到更多输入序列的相关信息。 1. tttcactcca tagttactcc ccaggtga 1.1它属于哪类生物? 答:属于Hepatitis C virus (丙型肝炎病毒) 1.2它属于哪类基因? 答:属于non-structural protein 5B gene 1.3它在该基因的什么位置? 答:它在该基因的第749-776这个位置。 1.4它与你搜索到的序列的同源性(Identities)是多少? 答:同源性100% 2.(1)ccacccactg aaactgcaca gacaaatttg tacataagag 1.1它属于哪类生物? 答:属于Influenza A virus (A/chicken/Iran261/01(H9N2)) hemagglutinin (HA) gene (A型流感病毒,A型伊朗型261鸡流感病毒,H9N2病毒,血细胞凝集素抗原基因为依据) 1.2它属于哪类基因? 答:属于ssRNA negative-strand viruses Orthomyxoviridae (单链RNA,负义链病毒,正粘病毒科) 1.3它在该基因的什么位置? 答:它在该基因的第1-40这个位置 1.4它与你搜索到的序列的同源性(Identities)是多少?

汇编实验报告

南华大学 实验名称:汇编语言程序设计实验 学院:计算机学院 专业班级:本2010 电气信息类03班 学号:20104030342 姓名:谢志兴 指导教师:刘芳菊 日期:2012 年 6 月10 日

实验一DEBUG的熟悉 一、实验目的 (1)学习使用DEBUG的命令; (2)使用DEBUG命令在数据段中查看程序运行的结果; (3)利用DEBUG运行简单的程序段。 二、实验内容 1)输入程序观察寄存器变化 使用DEBUG命令,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器的内容变化。注意用T命令执行时,CS: IP寄存器的内容。 MOV AX, 4E20 ADD AX, 1416 MOV BX, 2000 ADD AX, BX MOV BX, AX ADD AX, BX MOV AX, 001A MOV BX, 0026 ADD AL, BL ADD AH, BL ADD BH, AL MOV AH, 0 ADD AL, BL ADD AL, 9C 2)输入下面的程序,这是一个两个数相与的程序。结果存放在MSG2单元中,偏移地址为?值为多少? DSEG SEGMENT MSG1 DW 7856H, 2038H MSG2 DW? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG

START: MOV AX, DSEG MOV DS, AX MOV AX, MSG1 AND AX, MSG1+2 MOV MSG2, AX MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START 程序的跟踪执行操作 在DOS下直接输入文件主名就可以执行文件了,有的程序会显示结果,可能执行后什么结果都没有,是因为程序中没有显示命令。那么如何查看程序的运行结果呢? 程序执行过程的跟踪操作步骤如下: (1)在DOS下输入:DEBUG 文件名.EXE (2)在DEBUG提示符下输入U命令 如果程序中有数据段,可以看到反汇编后第一句可执行语句为: A地址:B地址MOV AX, K地址如:1261:0000 MOV AX, 1260 其中:K地址就是数据段的段寄存器内容,A地址为代码段段寄存器地址,B地址为程序第一条指令的偏移地址。 (3)可以用T命令单步执行指令,执行到MOV AH, 4CH时结束,也可以用G命令执行整个程序,输入:G=B地址(如:G=0000) (4)用D命令查看程序执行后数据段的变化 输入:D K地址:0 (如:D1260:0)

汇编语言综合实验报告

综合性设计性实验报告 班级:计算机科学与技术专2014 级 4 班实验项目名称:循环显示1 0 个数字符号 实验项目性质:综合性 实验所属课程:计算机组成原理与汇编语言 实验室(中心):实验室(4 0 7 ) 指导教师: 实验完成时间: 2016 年 5 月 27

一、实验目的 (1)掌握子程序的定义和调用方法。 (2)掌握子程序的编写方法及参数传递的方法。 二、实验内容及要求 本实验内容主要是编写一个显示过程汇编程序,使得在屏幕上依次显示10 个数字符号,每一行13 个字符,然后循环进行显示。实验要求是在代码段中编写这个过程,并要求用主程序调用该过程。 三、实验设备及软件 实验室(407)电脑一台以及编译器DEBUG MASM LINK软件。 四、设计方案 ㈠题目(老师给定或学生自定) 循环显示10个字符 ㈡设计的主要思路 首先,先定义一个数据段和代码段。数据段内定义一个名称为prl大小为一个字节的字符串,即本人学号。代码段内首先借助段寻址伪指令ASSUME规定好代码段和数据段分别在段寄存器CS、DS。然后start内将数据段段地址放入DS中。接下来定义一个子程序dgdsp,其实现的功能主要是先将bl(字符数目控制)清零,dl(字符范围0-9)赋值为字符0的ascll码。然后定义一个lp循环,循环内调用DOS2号功能显示字符,并bl、dl自增,接着比较dl与字符9的ascll码值的大小,若大于就将dl重置为字符0的ascll码。若小于则跳转到next循环,next循环中主要比较bl与13的大小,若小于则跳转到lp,若大于就进入bbb子程序。bbb子程序主要是先保护DX将其压栈,然后使用DOS9号功能显示prl字符串,最后将DX出栈。然后进入next循环将DX压栈,分别使用DOS0a、02号功能将dl输入显示,最后将DX出栈。分别将bl、al清零,最后跳转到lp子程序继续循环执行。 流程图如下:

汇编实验报告

XXXX大学 实验报告 课程名称汇编语言程序设计成 绩 实验学时 评语: 指导教师: 年月日 班级: 学号: 姓名: 地点: 时间:

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验内容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完 成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。 4. 实验中使用的DOS功能调用: INT 21H AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 光标跟在串后面 9 显示字符串DS:DX=串地址, ‘$’为结束字符 4CH 返回DOS系统AL=返回码 例如,实现键盘输入并回显的完整代码: MOV AH 01H INT 21H 三、实验结果 1. 将指定数据区的字符串数据”Let us go !”以ASCII码形式显示在屏幕上,并通过 DOS功能调用完成必要提示信息的显示: 2. 在屏幕上显示自己的学号姓名信息 3.循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。

四、实验原理 DATA SEGMENT MES DB 'NUMBER: 03099018 ',0AH,0DH,'NAME: Feng Xiaokang',0AH,0DH,'$' CENT DB 'Let us go !','$' ENTE DB 0AH,0DH,'$' INFO DB 'Origin: ','$' ASCI DB 'ASCII : ','$' MSG1 DB 'If you want to quit please press...q/Q...',0AH,0DH,'$' MSG2 DB 0AH,0DH,'Char: $' RS DB ' ASCII: $' SD DB '' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;存储数据 MOV DS,AX MOV DX,OFFSET MES ;显示数据 MOV AH,09H INT 21H MOV DX,OFFSET MSG1 MOV AH,09H INT 21H MOV DX, OFFSET CENT MOV SI, DX T: MOV AL,[SI] CMP AL,'$' JZ C1 AND AL,0F0H ;取高4位 MOV CL,4 SHR AL,CL CMP AL,0AH ;是否是A以上的数 JB A ADD AL,07H A: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H

汇编语言实验报告——累加

《汇编语言》实验报告 ——累加器制作 2014级计算机科学与工程学院 学号: 姓名 一、实验要求: 1.显示 INPUT N :,提示用户输入数字字串 2.检测输入字串的合法性,非法给出提示 3.将输入数字字串转化为数值,存入变量n 4.累加1~n ,存入变量sum 5.以十进制显示sum 二、流程图: 开始 输入 判断是否为回车 判断是否为数字 是 转化为数值,将堆栈中 的高位数字乘10然后与低位数字相加,放入堆 栈 否 显示“error ” 结束 否 是 判断cx=0 否 将CX加到A X中 是 得出sum的值 将结果除以10并将余数存入堆栈,累计位数cx,直至商为0 将堆栈中的数字依次输出显示,直至cx=0

三、源代码: DATAS SEGMENT str1 db "Input N:","$" str2 db "sum=","$" str3 db 0ah,"error","$" n dw 0 sum dw 0 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX LEA dx,str1;输出提示符 mov ah,9 int 21h input: mov ah,01;输入数字 int 21h cmp al,0dh;判断是否为回车 jz step1 cmp al,"0";判断字符合法性 jb error cmp al,"9" ja error sub al,"0";转化为ASCII码 mov ah,0;此段将高位乘10 push ax mov ax,n shl ax,1 push ax mov cl,2 shl ax,cl

大学课程汇编语言的实验报告

实验报告 实验课程: 学生姓名: 学号: 专业班级:电气信息类III班 2011年12月20日

目录 (1)汇编语言程序上机过程 (2) (2)字符串处理程序实验 (6) (3)子程序实验 (13) (4)中断程序实验 (21) (5)C++调用汇编子程序 (25)

南昌大学实验报告 ---(1)汇编语言程序上机过程学生姓名:学号:专业班级: 实验类型:□验证■综合□设计□创新实验日期:2011.11.12/13实验成绩:一、实验目的 熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。了解汇编语言程序的汇编、运行环境。 二、实验内容 1.掌握常用的编辑工具软件(如WORD、EDIT)、MASM和LINK的使用; 2.伪指令:SEGMENT,ENDS,ASSUME,END,OFFSET,DUP; 3.利用的INT21H的1号功能实现键盘输入的方法; 三、实验环境 PC微机 DOS操作系统或Windows操作系统 MASM.EXE,LINK.EXE,https://www.docsj.com/doc/5f11284078.html,或宏汇编集成环境 四、实验要求 1.仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容; 2.了解利用的INT21H的1号功能实现键盘输入的方法,了解.EXE文件和.COM文件的区别及用INT21H4C号功能返回系统的方法; 3.阅读下面程序段。 五、主要实验步骤 程序: data segment message db'This is a sample program of keyboard and disply' db0dh,0ah,'Please strike the key!',0dh,0ah,'$' data ends stack segment para stack'stack' db50dup(?) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax mov dx,offset message mov ah,9 int21h again:mov ah,1

汇编实验报告

实验一 DOS常用命令及8088/86指令使用 实验目的 通过实验掌握下列知识: 1、DOS命令: CD,DIR,DEL,RENAME,COPY。 2、8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 3、DEBUG命令: A,D,E,F,H,R,T,U。 4、BCD码,ASCII码及用十六进制数表示二进制码的方法。 5、8088寄存器: AX,BX,CX,DX,F,IP。 实验类型:验证 内容及步骤 一、DOS常用命令练习 1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DIR, 查看此目录下所有文件。 2、键入命令CD..进入上级目录,再查看此目录下所有文件。 3、将一张3.5寸软盘插到 A驱动器中,用DIR命令查看盘上文件。 4、用命令 COPY https://www.docsj.com/doc/5f11284078.html, BUG 复制一个文件。 5、用命令 RENAME BUG BG 将BUG 文件改为BG。 6、用命令 DEL BG 将文件BG删除。 在操作时要注意提示信息,并按提示操作。 二、DEBUG 命令使用 1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的十六进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码? 6、用H命令检查下列各组十六进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758H,347FH 7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 三、8088常用指令练习 1、传送指令 用A命令在内存100H处键入下列内容: -A 0100↙ ****:0100 MOV AX,1234↙ ****:0103 MOV BX,5678↙ ****:0106 XCHG AX,BX↙ ****:0108 MOV AH,35↙ ****:010A MOV AL,48↙

汇编实验报告..

合肥工业大学计算机与信息学院 实验报告 课程:汇编语言程序设计专业班级: 学号: 姓名:

实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 1、启动DOS操作系统 2、运行https://www.docsj.com/doc/5f11284078.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↙ 186E:0116 ↙ 4、用“U”命令反汇编验证源程序 –U CS:0100↙ 186E:0100 A10002 MOV AX,[0200] 186E:0103 8B1E0202 MOV BX,[0202] 186E:0107 03060402 ADD AX,[0204] 186E:010B 131E0602 ADC BX,[0206] 186E:010F A30802 MOV [0208],AX 186E:0112 891E0A02 MOV [020A],BX 186E:0116 – 注意:

上师杯物理实验选修课笔试题(模拟)

2010年上师大附中综合物理实验笔试题 姓名 班级 得分 一、 判断题:(每题1.5分) 1、 用20分度的游标卡尺测长度,刚好为15mm,应记为15.000mm 。( ) 2、 用卡尺测量某物体,长度约为4.32cm ,现有精度为0.02mm 的游标卡尺,可测出4位有效数字;若以精度为0.01mm 的螺旋测微计,则可测出5位有效数字。( ) 3、 若牛顿环装置的空气隙中注入某种折射率大于1的透明液体,同一级的干涉条纹的半径将减小。( ) 4、 双棱镜实验中若狭缝和屏位置已定,将双棱镜移向屏,则干涉条纹间距变大,若各元件位置固定,改用波长较长的光入射,则干涉条纹间距变大。( ) 5、 已知某地重力加速度值为9.794m/s 2,甲、乙、丙三人测量结果为:9.790±0.024 m/s 2, 9.811±0.004 m/s 2,9.795±0.006 m/s 2,则丙的准确度最高。( ) 6、 偶然误差全部可以用A 类不确定度来评定。( ) 7、 某一金属圆柱体质量为M ,直径为D ,高度为H ,则金属圆柱体的密度为H D M 4V M 2π==ρ,其不确定度()() () H U D U 2M U U H D M ++=ρ。( ) 8、 在看清叉丝的情况下只看到钠黄光,看不到牛顿环。原因可能是反射镜位置放置不当。( ) 9、 测量结果的有效位数由被测量的大小和测量仪器的精度共同决定。( ) 10、50分度的游标卡尺,其仪器误差为 0.02mm 。( ) 11、107.50-2.5=105。( ) 12、00.20.200.40000 .76=-。 ( ) 13、111×0.1= 11.1。( ) 14、系统误差有随机性的特点,偶然误差有确定性的特点。( ) 15、在测量结果的数字表示中,由若干位可靠数字加上1位可疑数字,便组成了有效数字。( ) 16、在进行单位换算时,数字的有效位数会发生变化。( ) 17、数据处理最基本的方法共有三种:作图法、逐差法和最小二乘法。( ) 18、水银灯的光栅衍射光谱由中央亮条纹往外排列的顺序是黄、绿、蓝、紫光。( ) 19、一个待测量的测量结果通常由最佳值、误差和单位组成。( ) 20、作图法有简便、形象、直观等许多优点,但只是一种粗略的数据处理方法。( ) 21、当直流电桥上的各电阻符号确定后,桥路两端检流计的位置与电源两端位置是不可互换的。( ) 22、惠斯通电桥测量电阻的原理是与伏安法相同的,只是在计算的方法上不同。( )

汇编实验报告

XI`AN TECHNOLOGICAL UNIVERSITY 实验报告

西安工业大学实验报告 一、实验目的 1、学习和掌握利用TD-TIPE连机软件调试汇编程序。 2、了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。 二、实验原理 基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 三、实验步骤、数据记录及处理 1.步骤: (1)硬件测试; (2)获得端口地址; (3)写出源程序, 2.源代码 (1)程序一 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE

START: MOV DX, 0646H MOV AL, 90H OUT DX, AL AA1: MOV DX, 0640H IN AL, DX CALL DELAY MOV DX, 0642H OUT DX, AL JMP AA1 DELAY: PUSH CX MOV CX, 0F00H AA2: PUSH AX POP AX LOOP AA2 POP CX RET CODE ENDS END START (2)程序二 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX, 0646H MOV AL, 90H OUT DX, AL AA1: MOV DX, 0640H IN AL, DX

汇编程序调试实验报告

微机原理与接口技术 作 业 班级: 目录 一、........................................................... 实验目的:2 二、............................................................. 实验环境2 三、............................................................. 实验过程3 (一)................................................. 基础知识储备3

(二)............................................. 汇编语言程序设计3

(三)汇编程序调试 (3) 四、............................................................. 调试实例4 (一)....................................................... 实例一4 (二)....................................................... 实例二6 (三)....................................................... 实例三9 (四)....................................................... 实例四12五、............................................................. 实验总结15 (一)..................................................... 实验收获15 (二)..................................................... 实验感悟16 一、实验目的: 汇编语言是一种用助记符表示的程序设计语言。用汇编语言编写的源程序生成的目标 代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O接口驱动等程序设计。通过本次实验,熟练掌握汇编程序的调试,深入了解MAS汇编语言及其程序设计方法。 、实验环境 EDIT编辑器、MASME编程序、LINK连接程序、TD调试程序

八级北师大版生物上册实验报告DOC

观察几种动物的运动 【活动原理】在农村,如果跟在水牛的后面,看水牛慢步前进,可发现它后脚往前踩的地方,总是前脚的脚印。在草原上,你骑在马背上能体验骏马飞奔带来的愉悦和刺激。在城市中,你可以去水族馆欣赏海豚和鱼类的游泳,或者去动物园欣赏猛兽的漫步闲游……课堂上我们怎样观察动物的运动呢? 【活动目标】 1.学会观察几种动物的运动; 2.初步判断动物的运动方式; 3.认识动物运动的方式与其生活环境相适应。 【材料器具】 相关的动物运动的视频资料、饲养或捕捉的蜗牛、玻璃板、线、直尺、墨水等。 【方法步骤】 1.观察蜗牛的运动 (1)把一只蜗牛放在透明的玻璃板上,将玻璃板举起或竖起,观察蜗牛运动时足部肌肉的收缩与舒张的情况。 (2)在足部肌肉上滴一小滴墨水,观察足部肌肉收缩的动向会更清楚。 (3)观察蜗牛运动后在玻璃板上留下的痕迹,想一想这种物质有什么作用? (4)尝试用自己的语言描述蜗牛运动的方式()。 (5)尝试用简笔画表示蜗牛的运动,画两个图分别表示足部肌肉的收缩动态。 (6)测量蜗牛运动的速度。你测量的方法是:();你的测量结果是:()。 2.利用教师提供的视频资料,观察龟、鳖、扬子鳄、蟾蜍、壁虎等动物在陆地上的运动,用简单的语言描述它们运动的特点:()。 3.利用教师提供的视频资料,观察哺乳动物的行走、奔跑和跳跃,用简单的语言描述它们的特点:()。 【讨论】 1.蜗牛运动时,足部肌肉总是一部分固定一部分伸展运动。根据你们的观察,蜗牛是以足部肌肉伸长的部分固定,还是以足部肌肉收缩的部分固定的?2.蜗牛运动时,足部分泌的黏液有什么作用? 3.为什么龟、鳖等动物在陆地上的运动速度较慢? 4.行走、奔跑和跳跃都是动物在陆地上的运动方式,它们各自的特点是什么?【思考】 1.不同环境中动物运动的方式不同,请举例说明各种环境中动物运动的主要方式。 2.蝗虫、青蛙、袋鼠等都是善于跳跃的动物,它们的身体结构有哪些特点与这种运动方式相适应?

汇编实验报告

汇编语言程序设计 实验报告 学号:100511530 班级:电气信息类1005 姓名:陆淑琴 指导老师:李诗高

实验一、汇编语言上机的基本过程及环境 【实验目的】 (1)熟悉汇编语言的编辑、汇编、连接及调试的全过程,重点掌握使用DEBUG调试程序的方法。 (2)了解汇编语言的程序结构。 【实验内容】 (1)在数据段中定义两个数(数据自拟,包含有正数和负数),要求编写程序分别计算出这两个数的和、差、积、商,并用Debug的相关命令查询计算结果(包括对CF,OF,SF,ZF的影响)。 (2)首先对AX,BX,CX寄存器赋初值(数据自拟),再将AX寄存器的中间八位,BX的低四位和CX的高四位拼接成一个新的字,并把结果存入偏移地址为0000H的存储单元。其中BX的低四位作为结果字的高四位,CX的高四位作为结果字的低四位。并用Debug的相关命令查询内存单元的结果字。 源代码: DA TA SEGMENT val1 DW 1000h val2 DW 2000h maxv DW ? DA TA ENDS STACK SEGMENT STACK 'STACK'

DB 100H DUP(?) STACK ENDS CODE SEGMENT 'CODE' ASSUME CS:CODE, DS:DATA,SS:STACK .386 MAIN: MOV AX, DATA; MOV DS, AX PUSH val1 PUSH val2 CALL MAX ; POP maxv ;栈顶返回值出栈 MOV AX, 4c00H INT 21H MAX PROC PUSH BP ;执行该指令前堆栈情况 MOV BP, SP ;执行后堆栈情况 MOV AX, [BP+4] CMP AX, [BP+6] JA EXIT MOV AX, [BP+6] EXIT: MOV [BP+6], AX ;用栈顶返回值 POP BP RET 2 ;执行后堆栈情况 MAX ENDP CODE ENDS END MAIN 【实验步骤】 (1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。 (2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ) (3)用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。

汇编语言程序设计实验报告三(子程序设计实验)

汇编语言程序设计实验报告三(子程序设计实验) 一、实验目的 1、掌握主程序与子程序之间的调用关系及其调用方法。 2、掌握子程序调用过程中近程调用与远程调用的区别。 3、熟练掌握码型变换的程序。 二、实验内容 1、从键盘输入二位非压缩BCD数,存入AX寄存器中,编程实现将其转换为二进制 数,并在屏幕上显示。要求码型转换程序用远程子程序编写,字符显示用近程子程序编写。数据可循环输入,遇‘00’结束。 三、实验准备 1、预习子程序设计的基本方法,根据实验内容要求编写出实验用程序。 2、熟悉键盘输入和字符显示的程序段的编制。 四、实验步骤 1、编辑、汇编源程序,生成可执行文件。 2、执行程序,检查输入、输出结果,看是否正确。如不正确,用DEBUG检查,修改 源程序,再汇编、运行,直到程序正确为止。 3、用DEBUG的T命令或P命令跟踪程序的执行,观察在远程和近程调用过程中,堆 栈的变化情况。 五、实验报告要求 1、分析近程调用和远程调用的主要区别。用DEBUG命令观察执行过程有何不同。 2、分析实验结果及所遇到的问题的解决方法。 主程序流程图 转换子程序TRAN流程图

七、程序清单 STA SEGMENT STACK ’STACK’ DB 100 DUP(0) STA ENDS GSAG SEGMENT PARA ‘CODE’ ASSUME CS:CSAG MAIN PROC FAR STRA T: PUSH DS SUB AX,AX PUSH AX REV: MOV AH,1 INT 21H MOV BL,AL INT 21H MOV AH,AL MOV AL,BL CMP AX,3030H JE ENDTRAN CALL NEAR PTR TRAN CALL FAR PTR CON MOV AL,0DH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP JMP REV ENDTRAN: RET MAIN ENDP TRAN PROC NEAR AND AX,0F0FH MOV BL,AL MOV BL,AL MOV CL,3 SHL AL,CL MOV CL,1 SHL BL,CL ADD AL,BL ADD AL,AH RET TRAN ENDP CSAG ENDS CSBG SEGMENT PARA’CODE’ ASSUME CS:CSBG

外汇交易实务实验报告doc

外汇交易实务实验报告 篇一:浙江万里学院实验报告模板-外汇交易实务 浙江万里学院实验报告 课程名称:外汇交易实务 实验名称:外汇交易行情软件与委托客户端的使用 小组成员:专业班级:金融姓名:学号:实验日期:篇二:外汇交易期末实验报告 《外汇交易及风险防范》 课程 实验报告 年级专业 姓名 学号指导教师 上海师范大学 XX 年12 月 13经济学涂萍萍 0 蒋荷新 目录 实验项目一根据基本面预测汇率变动趋势??????????????3 实验项目二根据技术面预测汇率变动趋势??????????????6 实验项目三 实验项目四 实时外汇模拟交易???????????????????8 模拟交易成果汇报交流?????????????????11

实验项目一根据基本面预测汇率变动趋势(2课时) 【实验目的】 学习通过社会、财经新闻筛选与汇率变动相关的信息,并预测一周内的汇率走势。了解汇率基本面分析的含义,掌握汇率基本面分析的基本方法,包括:基本经济因素分析、中央银行干预与政策调整因素分析、市场预期心理和投机因素分析、政治与新闻因素分析。 【实验原理】 影响汇率波动的主要因素包括:(1)政治因素(战争、政治丑闻)(30%); (2)经济因素(经济数据、利率动向)(30%);(3)技术因素(汇率波动的历史走势图)(30%)以及(4)市场因素(市场情绪和央行干预)(10%),其中(1)(2)(4)称为基本面因素,一般认为此三大因素可以解释汇率波动的70%的原因。 【实验内容】 1. 理解政治因素对汇率波动的影响。了解911事件、欧债危机、利比亚战争等重大政治事件对美元及非美货币汇率波动的影响。 2. 了解经济因素对汇率波动的影响。分析物价指数,GDP,国内就业,利率政策等对主要国际货币汇率的影响,特别关注美国非农就业数据对外汇、黄金市场的巨大影响。

相关文档