汇编第一次实验-武汉理工

合集下载

武汉理工大学电工学实验报告

武汉理工大学电工学实验报告

[电子电工实习报告]车辆1104班吴昊宇2019年7月11日目录1.0实验目的 (3)1.1实验原理 (4)1.1.1原理图及原理说明 (4)1.1.2电路装配图 (7)1.1.3连线图 (7)1.2实验内容 (8)1.2.1实训过程 (8)1.2.2元件清单 (8)1.2.3作品展示 (22)1.2.4实验数据分析 (23)1.3总结 (23)1.0实验目的随着现代化技术的发展,电工电子技术在现代化生活中应用越来越广泛,小到家用电器,大到军事设备,在这些形形色色的种类繁多的设备中都用到了电工电子技术。

很多的自动化半自动化控制的未处理系统都是以电子元件为基本单元,通过集成电路来实现的,这就要求工科学生掌握基本的电路设计、制作、检查和维修知识。

本实验的目的如下:●强化安全用电意识,掌握基本安全用电操作方式。

●基本掌握公共电烙铁的焊接技术,能够独立的完成简单电子产品的安装和焊接、拆卸过程,能掌握基本的电路维修维修方法。

●基本掌握电路原理图、装配图的绘制,能独立的完成简单电子电路的设计。

●了解常用电子器件的类别型号、规格、性能及其使用范围。

●能够正确识别常用电子元件,并通过查阅相关手册了解其相关参数。

●熟练的掌握万用表等仪表,并能够独立的检测电路的各种参数,且能检测出简单的电路问题。

1.1实验原理1.1.1原理图及原理说明图18 彩灯音乐盒电原理图本电路以555芯片、二极管、三极管、电解电容与瓷介电容、音乐芯片、喇叭为其核心元件,LED交替发光产生明暗变化,伴随着喇叭发出事先录制的音乐。

工作原理综述:电源开关K1闭合,发光二极管LED3亮,开始由于电容C1短路,所以555芯片的2和6脚为低电平0,又4脚恒为高电位1,由555芯片的输出特性知输出端3为高电平1,LED1亮,三极管VT2截止,LED2灭,7C1通过电阻R1,R3充电,2和6脚电位升高,最终达到高电平1、3脚输出低电平0,LED1灭,三极管VT2导通,LED2亮,7为低阻态,通过电源负开始放电致使2和6脚电位降低至0,3脚又输出高电位1,LED1亮LED2灭,循环往复。

北京理工汇编语言实验一实验报告

北京理工汇编语言实验一实验报告

汇编语言实验一实验报告——DOS 环境下的汇编语言编程环境使用班级:05211102姓名:庞珂学号:1120111306日期:2013.9.2早8:30~11:30实验一 DOS环境下的汇编语言编程环境使用(基础与验证型)一、实验要求和目的1、掌握汇编语言程序设计的基本流程和学会上机开发简单程序;2、熟练掌握宏汇编程序MASM 的使用;3、熟练掌握连接程序LINK 的使用;4、熟练掌握DEBUG 的使用;二、软硬件环境1、硬件环境:计算机系统windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。

三、实验涉及的主要知识汇编语言程序设计上机开发过程如图1.1 所示:1、汇编语言源程序的汇编过程汇编语言源程序的汇编过程是是利用汇编程序(MASM)对已编辑好的源程序文件(.ASM)进行汇编,将源程序文件中以ASCII 码表示的助记符指令逐条翻译成机器码指令,并完成源程序中的伪指令所指出的各种操作,最后可以建立3 个文件:扩展名为 .OBJ 的目标文件、扩展名为 .LST 的列表文件和扩展名为 .CRF 的交叉索引文件。

2、目标程序的连接过程连接程序进行连接时,其输入有两个部分:一是目标文件(.OBJ),目标文件可以是一个也可以是多个,可以是汇编语言经汇编后产生的目标文件,也可以是高级语言(例如C 语言)经编译后产生的目标文件;另一是库文件(.LIB),库文件是系统中已经建立的,主要是为高级语言提供的。

连接后输出两个文件,一是扩展名为 .EXE 的可执行文件,另一个是扩展名为 .MAP 的内存分配文件。

3、Debug 调试过程一个程序特别是比较复杂的程序不能保证没有一点错误。

因此,在投入正式运行前必须进行调试,以检查程序的正确性。

调试程序Debug 就是用来调试汇编语言程序的一种工具。

四、实验内容与步骤1、汇编、链接并调试给出的简单程序,找出程序中的错误。

(一)录入并建立汇编语言源程序文件(ASM 文件),例如:D:\MASM> EDIT TEST01.ASM;TEST01.ASM with several errorsDATA1 SEGMENTword1 DW 1, 9078Hbyte1 DB 21, 'World'DD 12345678HMsg DB 'Hello ,everyone!$'DATA1 ENDSSTACK SEGMENTsta dw 20 dup(?)Top equ size staSTACK ENDScode segmentassume cs:code,ds:data1,ss:stackStart:MOV AX,data1MOV DS,AXMOV DX,OFFSET MsgMOV AH,9INT 21hNopMOV AX,0MOV BX,1HADDITIONADD AX,BXINC BXCOM BX,10JAE ADDITIONMOV AH,4ch ;DOS terminate program functionINT 21hCode endsEND Start(二)用汇编程序MASM 将ASM 文件汇编成目标程序文件(OBJ 文件)其操作步骤如下: D:\MASM>MASM TEST01Microsoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Corp 1981–1985,1987. All rights reserved.Object filename [TEST01.OBJ]:Source listing [NUL.LST]:TEST01Cross-reference [NUL.CRF]:TEST0150674 + 450574 Bytes symbol space free0 Warning Errors0 Severe Errors汇编程序调入后,首先显示版本号,然后出现三个提示行。

【2018-2019】汇编实验报告1 (6000字)-优秀word范文 (5页)

【2018-2019】汇编实验报告1 (6000字)-优秀word范文 (5页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==汇编实验报告1 (6000字)汇编实验报告1.实验名称顺序与分支程序设计2.实验目的1) 掌握顺序程序设计方法。

2) 掌握分支程序的结构及分支程序的设计,调试方法。

3) 学习数据传送及算术和逻辑运算指令的用法。

4) 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。

3.实验内容1) 从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y 按下列公式计算。

???Y?????XXXX2?X(X?3)?2X(X?4)(X?5)/2(X?6)2222) 从键盘上接收两个一位十六进制数X和Y,然后再输入一个A-D之间的一个字符,按下列要求计算。

a)b) c) d)当输入字符为A,则计算X+Y,并以十六进制形式显示出来当输入字符为B,则计算|X-Y|,并以十六进制形式显示出来当输入字符为C,则计算X*Y,并以十六进制形式显示出来当输入字符为D,则计算X/Y,并以十六进制形式显示出来4.源程序1)DATA SEGMENTTABLE DW L1,L2,L3,L4X DB ? ;存放键盘输入的数 DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AX ;将DATA装入DS寄存器MOV AH,1INT 21H;输入一个数存入AL寄存器 CMP AL,33HJB L10 CMP AL,36H JA L10 ;判断输入的数是否在3-6之间AND AL,0FH ;转换成数字MOV X,AL SUB AL,3 SHL AL,1 XOR AH,AHLEA BX,TABLE ADD BX,AXJMP [BX];程序转移指令L1: MOV AL,X MUL AL ADD AL,XJMP L5 ;X^2+XL2: MOV AL,X MUL AL SHL X,1SUB AL,XJMP L5 ;X^2-2XL3: MOV AL,X MUL ALJMP L5 ;X^2L4: MOV AL,XMUL AL SHR AL,1 JMP L5 ;(X^2)/2L5: MOV BL,AL MOV CL,4 SHR AL,CL CMP AL,9H JBE L8ADD AL,7L8: ADD AL,30HMOV DL,AL MOV AH,02H INT 21H ;输出高位结果 MOV DL,BL AND DL,0FH CMP DL,9 JBE L7ADD DL,7L7: ADD DL,30HMOV AH,2 INT 21H ;输出低位结果L10: MOV AH,4CHINT 21H ;结束程序CODE ENDS END START 2)DATA SEGMENTTABLE DW L1,L2,L3,L4X DB ? ;存放键盘输入的数x Y DB ? ;存放键盘输入的数y Z DB ? ;存放键盘输入的数z DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AX ;将DATA装入DS寄存器 MOV AH,1INT 21H;输入一个数存入AL寄存器 CMP AL,30H JB L10CMP AL,46HJA L10 ;判断输入的数是否在0-F之间 CMP AL,41HJB L5SUB AL,07H L5: SUB AL,30H MOV X,AL ;完成输入16进制数存入X中MOV AH,1 INT 21H;输入一个数存入AL寄存器CMP AL,30HJB L10 CMP AL,46H JA L10 ;判断输入的数是否在0-F之间JMP L12 L10:JMP L11 L12:CMP AL,41H JB L6SUB AL,07HL6: SUB AL,30H ;转换成数字 MOV Y,AL ;完成输入16进制数存入Y的功能MOV AH,1INT 21H;输入一个数存入ALMUL YAND AX,00FFH MOV DL,ALJMP L9 ;X*Y L4: MOV AX,0 MOV AL,X MOV BL,Y DIV BLMOV DL,AL JMP L9 ;X/Y寄存器CMP AL,41H JB L10 CMP AL,44H JA L10 ;判断输入的数是否在A-D之间SUB AL,40H MOV Z,AL ;将A-Z转换成1-4存入Z中MOV AL,Z DEC ALSHL AL,1 XOR AH,AHLEA BX,TABLE ADD BX,AXJMP [BX];程序转移指令L9: MOV BL,DL MOV CL,4SHR DL,CL CMP DL,9H JBE L8 ADD DL,7L1: MOV DL,X ADD DL,Y5.运行结果:JMP L9 ;X+Y L2:MOV BL,YCMP X,BLJBE L15SUB X,BLJMP L13 L15:SUB BL,XMOV DL,BLJMP L9 L13:MOV DL,XJMP L9 ;|X-Y| L3: MOV AL,XL8: ADD DL,30H MOV AH,02H INT 21H ;输出高位结果 MOV DL,BL AND DL,0FH CMP DL,9 JBE L7 ADD DL,7L7: ADD DL,30HMOV AH,2 INT 21H ;输出低位结果L11: MOV AH,4CH INT 21H CODE ENDS END START6.对实验的分析和总结CF是进位标志位,向左移位时,最高位进入CF。

武汉理工大学数字信号处理第一次实验报告完整答案

武汉理工大学数字信号处理第一次实验报告完整答案

第一部分:例题调试(一)单位抽样序列10()(00n n n δδ =⎧⎧= ⎨⎨ ≠ ≠⎩⎩0001n=n 或n-n )=0n n代码如下:%先建立函数impseq(n1,n2,n0)function [x,n]=impseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)==0];%编写主程序调用该函数[x,n]=impseq(-2,8,2);stem(n,x);title('DSP_example01单位抽样序列——徐樱笑');(二)单位阶跃序列0110()(-)000n n u n u n n n n ≥ ≥⎧⎧= = ⎨⎨ < <⎩⎩00n 或n 代码如下:%先建立函数stepseq(n1,n2,n0)function [x,n]=stepseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)>=0];%编写主程序调用该函数[x,n]=stepseq(-2,8,2);stem(n,x)title('DSP_example01单位阶跃序列——徐樱笑');(三)实数指数序列x(n)=a n (运算符“.^”)代码如下:n=[0:10];x=0.9.^n;stem(n,x);title('DSP_example03实数指数序列——徐樱笑');(四)复数指数序列(0.10.3)()(1010)j n x n e n -+= -≤≤代码如下:n=[-10:10];alpha=-0.1+0.3*j;x=exp(alpha*n);real_x=real(x); image_x=imag(x);mag_x=abs(x); phase_x=angle(x);subplot(2,2,1); stem(n,real_x);subplot(2,2,2); stem(n,image_x);subplot(2,2,3); stem(n,mag_x);subplot(2,2,4); stem(n,phase_x);suptitle('DSP_example04复数指数序列——徐樱笑')(五)正、余弦序列(0()sin()m x n U n ωθ=+)代码如下:n=[0:42];x=2*cos(0.1*pi*n+pi/3);stem(n,x);title('DSP_example05正余弦序列——徐樱笑');第二部分:课后习题(一)利用zeros函数生成单位抽样序列:代码如下:n=-10:10;y=[zeros(1,10),1,zeros(1,10)];stem(n,y)axis([-10,10,0,2]);title('DSP_test01单位抽样序列——徐樱笑'); (二)利用zeros函数和ones函数生成单位阶跃序列代码如下:n=-5:10;y=[zeros(1,5),1,ones(1,10)];stem(n,y)axis([-5,10,0,2]);title('DSP_test02单位阶跃序列——徐樱笑'); (三)已知x1(n)=u(n+1) (-3<n<5); x2(n)=u(n-3) (-4<n<7)。

武汉理工大学电子电工实验

武汉理工大学电子电工实验

武汉理工大学电子电工实验目录1 电工电子实习目的 (2)2 电工电子实习安全操作知识 (2)2.1 安全用电常识 (2)2.2 电工电子实习安全操作要求 (3)3 常用工具仪器的使用及操作.........................错误!未定义书签。

错误!未定义书签。

3.1 常用电工工具的使用 (3)3.2 指针式万用表的使用 (3)4 电子产品手工焊接技术 (5)3.1 焊接目的 (5)3.2 焊接原理 (5)3.3 焊接工具及材料 (5)3.4 焊接方法及步骤 (6)3.4.1 新烙铁在使用前的处理方法 (6)3.4.2 操作方法及步骤 (6)3.4.3 焊接注意事项 (6)3.4.4 焊点的要求 (6)3.4.5 拆除焊点的方法 (7)4 常用电子元件的识别与测量.........................错误!未定义书签。

错误!未定义书签。

4.1 电阻 (7)4.2 电容 (9)4.3 发光二极管.................................错误!未定义书签。

错误!未定义书签。

4.4 三极管 (9)5 流水彩灯音乐盒的制作.............................错误!未定义书签。

错误!未定义书签。

5.1 元器件清单及测量...........................错误!未定义书签。

错误!未定义书签。

5.2 流水灯电路原理 (12)5.2.1 555 芯片及流水灯闪亮原理介绍 (11)5.2.2 音乐播放原理.........................错误!未定义书签。

错误!未定义书签。

5.2.3 流水灯音乐盒电路原理图...............错误!未定义书签。

错误!未定义书签。

5.2.4 绘制实物装配图(对比实物图).........错误!未定义书签。

错误!未定义书签。

5.2.5 绘制实物布线图(对比实物图).........错误!未定义书签。

武汉理工大学编译原理实验报告

武汉理工大学编译原理实验报告

武汉理工大学学生实验报告书实验课程名称编译原理开课学院计算机科学与技术学院指导老师姓名饶文碧学生姓名学生专业班级软件zy13022015—2016学年第1 学期实验课程名称:编译原理的问题等)在扫描源程序字符串时,旦识别出关键字、分隔符、标识符、无符号常数中之一即以单词形式,类单词均采用相同的结构,即二元式编码形式输出。

每次调用词法分析程序它均能自动继续扫描下去形成下一个单词,直至整个源程序全部扫描完毕,并形成相应的单词串形式的源程序。

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)(1)程序输入:程序输出:(2)程序输入:程序输出:三、实验小结、建议及体会通过这次实验,我加深了对词法分析原理的理解。

对上课学到的抽象知识有了一个实践的练习,对我的学习非常有帮助。

词法分析是编译的第一个阶段,它的主要任务是从左至右逐个字符地对源程序进行扫描,产生一个单词序列,用以语法分析,执行词法分析的程序成为词法分析程序或扫描程序。

本次实验就是要做一个这样的程序。

在之后的编译实验中要以本次实验为基础展开,我会继续努力的!实验课程名称:编译原理第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)编写完代码之后,首先检查一下有没有简单的语法错误登,然后编译连接运行,输入源程序,输入正确则会输出success;否则输出error,并给出适当的提示错误。

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)(1)(2)三、实验小结、建议及体会通过这次实验,我加深了对语法分析原理的理解。

语法分析是编译过程的第二个阶段。

语法分析的任务是识别单词符号是否符合给定的语法规则。

语法分析所依据的是语言的语法规则,即描述程序结构的规则。

通过语法分析确定输入串是否构成一个语法上正确的程序。

本次实验基本上实现了语法分析的功能,验证了输入符号串是否是语法正确的。

微机课程设计——用汇编解一元二次方程

微机课程设计——用汇编解一元二次方程

课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 用汇编语言求解一元二次方程初始条件:设计一个程序,求解一元二次方程02=++c bx ax 。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、能从键盘输入a,b,c 的值,且-99≤a,b,c ≤99;2、将解显示出来,-99≤X1,X2≤99;3、应考虑所有的情况,包含共轭复根;4、编制完整的程序并调试;5、撰写设计说明书及调试心得。

时间安排:指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要 (1)输入 (2)输出 (4)算法设计 (5)完整程序调试 (10)小结 (12)参考文献 (13)解一元二次方程ax 2+bx+c=0。

实现从键盘输入啊,实现从键盘输入a,b,c 的值,且有9999≤≤-a ,9999≤≤b ,9999≤≤-c ,显示方程的解,考虑所有的情况,包含共轭复根。

在日常生活中,这本来是一个非常简单的数学问题,而要用汇编程序解决问题,就要有一整套严丝合缝的流程,并根据流程制作流程图,从而进行编程。

汇编语言是最接近于机器语言的编程语言。

如果说机器语言是计算机操作的本质 那么汇编语言就是最最接近本质的语言。

汇编语言操作直接面向硬件。

所以我们在使用汇编语言的时候,我们能够感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识。

这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的,相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理。

所以,对于计算机技术初学者或者自学者,汇编语言重要性无可替代关键词:汇编语言,一元二次方程,emu8086输入要求:从键盘输入a,b,c的值,且-99≤a,b,c≤99。

方案:采用DOS功能调用,多字符输入——0AH功能:多个字符输入到缓冲区输入参数:DS:DX=输入缓冲区首地址输出参数:DS:DX=输入字符串所在缓冲区地址程序:mov ch,0call read ;读入a(b,c同理)mov a,chread proc nearmov dx,offset buff1mov si,offset buff1mov ah,0ahint 21hmov bx,dxmov cl,[bx+1] ;取出缓冲区第二字节保存实际输入字符的个数 add si,2 ;缓冲区第三字节mov al,[si] ;取出被保存在缓冲区第三字节的实际的第一个字符 cmp al,'-' ;如果第一个字符是负号,跳转jz minus_signmylab0:cmp al,00001101bjz input_over ;判断是否是回车,是回车则跳转,输入结束sub al,30h ;由ASCII转换成其对应的数mov bl,almov al,chmov dl,10imul dladd al,bl ;将转换后的数乘10,相当于10进制左移一位mov ch,alfirst_ok: ;判断下一个字符inc simov al,[si]loop mylab0input_over:mov al,minus_flagcmp al,1 ;如果负号标志是1,则对ch中的数进行取反操作jz negationmov minus_flag,0 ;还原符号标志jmp exitnegation: ;对负号进行处理neg chmov minus_flag,0jmp exitminus_sign:mov minus_flag,1 将负号标志赋值1jmp first_okexit: ret ;结果由ch带回read endp样例:输入a,b,c分别为1,2,1。

武汉理工实验指导书-微机原理及接口技术

武汉理工实验指导书-微机原理及接口技术

《微机原理及接口技术B》实验指导书※实验环境实验设备——唐都TD-PITE 80X86 微机原理及接口技术微机实验平台。

每套设备包括实验箱一台、配备安装有Wmd86联机操作软件的PC微机一台、连接线及电源线。

图1 实验平台连接示意图图2 唐都TD-PITE实验箱图3 唐都TD-PITE实验箱布局图操作步骤:1、打开电脑。

2、插好实验平台电源线。

3、通过串口连接线连接实验箱与微机。

4、打开Wmd86联机操作软件。

5、检查端口是否选择好。

6、进行实验接线。

7、录入汇编程序。

8、编译、链接、下载,观察结果。

图4 Wmd86联机操作软件实验一定时器的使用1.实验目的和意义●熟悉接口试验箱的使用环境。

●体会接口电路通过外部总线与处理器连接原理。

●掌握可编程芯片8253的编程方法。

2.实验设备PC 机一台,TD-PITE 实验装置一套。

3.实验内容1、编写程序,将8254 的计数器0 和计数器1 都设为方式3,用信号源1MHz 作为CLK0时钟,OUT0 为波形输出1ms 方波,再通过CLK1 输入,OUT1 输出1s 方波。

2、编写程序,将8254 的计数器0 设为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动 5 次后产生中断请求,在Wmd86程序运行结果栏上显示字符M 。

改变计数值,验证8254 的计数功能。

4.背景知识〔1〕8254的功能➢8253具有三个独立的16位计数器〔0#~2#通道〕;➢每个通道有6种工作方式;➢可以进行二进制或十进制计数,计数方式为减1计数。

〔最高计数频率2.6MHZ〕〔2〕8254 的内部结构和外部引脚图1.1 8254内部结构图1.2 8254外部引脚〔3〕8254 的工作方式●方式0:计数到0 结束输出正跃变信号方式。

●方式1:硬件可重触发单稳方式。

●方式2:频率发生器方式。

●方式3:方波发生器。

●方式4:软件触发选通方式。

武汉理工汇编实验报告

武汉理工汇编实验报告
实验课程名称:_汇编语言
实验项目名称
分支和循环结构程序设计
实验成绩
实验者
专业班级
软件zy1302班
组别
同组者
实验日期
2015年5月23日
第一部分:实验分析与设计
1.实验内容描述(问题域描述)
1. 编写程序,将BX与DX中较大的一个无符号数放到AX中。
利用debug的u、g、d等命令观察相关寄存器的内容。
三、主要仪器设备及耗材
PC机
第二部分:实验调试与结果分析
一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)
调试方法:
使用d命令、g命令、u命令等进行调试。
二、实验结果分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
三、小结、建议及体会
通过本次实验我掌握了子程序设计的基本方法、调用和返回指令的使用,学习了子程序设计时参数传递的几种方法。成功完成了本次实验题目的同时提高了自己对汇编语言子程序设计的认识。我始终坚持使用记事本工具进行编程,我相信这样可以进一步提高自己。
调试方法:用Debug的R命令查看、改变CPU寄存器的内容;
用Debug的D命令查看内存中的内容;
用Debug的E命令改写内存中的内容;
用Debug的U命令将内存中的机器指令翻译成汇编指令;
用Debug的T命令执行一条机器指令;
用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。
二、实验结果分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
用d命令查看Result存储单元的值
二、实验结果分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
1、

武汉理工大学 操作系统实验报告

武汉理工大学 操作系统实验报告

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称操作系统开课学院计算机科学与技术学院指导老师姓名学生姓名学生专业班级201 —201 学年第学期实验课程名称:操作系统实验项目名称Linux键盘命令和vi实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)1、实验内容描述(问题域描述)掌握Linux系统键盘命令的使用方法。

2、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)Vi编辑器是所有计算机系统中最常用的一种工具。

UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi。

1.进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:例如:$ vi myfile有一点要注意,在进入vi之后,是处于“命令行模式”,要切换到“插入模式”才能够输入文字。

2. 切换至插入模式编辑文件在“命令行模式”下按一下字母“i”就可以进入“插入模式”,这时候就可以开始输入文字了。

3. Insert 的切换处于“插入模式”,就只能一直输入文字,按一下“ESC”键转到”命令行模式”能够删除文字。

4. 退出vi及保存文件在“命令行模式”下,按一下“:”冒号键进入“Last line mode”,例如:: w myfilename: wq (输入”wq”,存盘并退出vi): q! (输入q!,不存盘强制退出vi)三、主要实验工具、仪器设备及耗材安装Linux系统的计算机一台。

第二部分:实验结果分析(可加页)1、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)在整个过程中,最困难的就是记忆整个Vi命令。

在查阅资料的情况下,这个问题得到了解决。

2、实验结果描述1.进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面图1 vi主界面2.切换至插入模式编辑文件在“命令行模式”下按一下字母”i”就可以进入”插入模式”。

武汉理工大学FPGA实验报告

武汉理工大学FPGA实验报告

学生实验报告书实验课程名称FPGA实验开课学院指导教师姓名学生姓名学生专业班级2013-- 2014学年第 2 学期实验课程名称:FPGA原理及应用实验图3-2 操作示意执行完命令后,会看到在Assembler 下生成了一些文件,其中包括(program.vhd) 和Verilog (program.v),这就是汇编编译系统将编写的汇编源文图3-5 操作示意图3-6 操作示意列下的单元格,弹出Clock Period 对话框,可以约束。

如图输入10ns,单击OK 按钮;图3-7 操作示意Pad to Setup 列下的单元格,弹出对话框并输入6ns,单击OFFSET IN)约束设置;图3-9 操作示意File → Save 保存,然后选择Exit 退出约束编辑器。

)生成软件并进行HDL 仿真打开本实验的Assembler 文件包内的program.psm 文件,此汇编范本的汇编在汇编范本Task #1 部分中,添加如下汇编语句,编写完后,则要重新用汇编译系统把编写的汇编源文件program.psm 自动生成用于程序内存的VHDL/Verilog格式文件。

在汇编范本涉及到的端口值的常量,参考PicoBlaze 的指实验课程名称:FPGA原理及应用实验图4-4 操作示意)在此报告中找到“Device utilization summary”,信息如下,可以比较默认选项时候的结果;图4-5 操作示意右击Synthesize 选择Properties,弹出Process Properties 对话框,单击Category 窗口的Xilinx Specific Options,将“Max Fanout”值改为50,单击OK 按钮。

重新双击Processes 窗口中的Synthesize – XST 进行综合;图4-7 操作示意)在此报告中找到“Timing Summary”,时钟频率评估值为378.146MHz;图4-8 操作示意下载并测试系统)在工程的Sources 窗口单击顶层文件loopback.vhd/v 文件,展开Processes 口中的Generate Programming File,双击Configure Device (iMPACT);)弹出 Welcome iMPACT 对话框后,选择“ Configure devices using Boundary-Scan(JTAG)”,单击Finish 按钮,按照ISE9.1 程序下载过程,将loopback.bit 文件下载到FPGA 中后,超级终端显示如图所示。

武汉理工大学-嵌入式系统的实验报告-中国好学长系列之小灰灰的爸爸

武汉理工大学-嵌入式系统的实验报告-中国好学长系列之小灰灰的爸爸

实验报告书实验课程名称嵌入式操作系统开课学院计算机科学与技术学院指导教师姓名毛雪涛学生姓名小灰灰的爸爸学生专业班级中国好学长系列2013 —2014 学年第二学期实验课程名称:嵌入式操作系统实验课程名称:嵌入式操作系统实验课程名称:嵌入式操作系统第二部分:实验调试与结果分析(可加页)五、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)无六、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)一、准备工作建立工作目录,下载源码,安装交叉工具链,步骤如下。

mkdir /root/build_kernelcd /root/build_kernelwget -c /pub/linux/kernel/v2.6/linux2.6.14.1.tar.bz2tar jxvf linux2.6.14.1.tar.bz2export PATH=/usr/local/arm/3.3.2/binPATH二、修改顶层Makefile修改内核目录树根下的的Makefile,指明体系结构是arm,交叉编译工具是arm-linux-。

vi Makefile找到ARCH和CROSS_COMPILE,修改ARCH ?= armCROSS_COMPILE ?= arm-linux-保存退出。

三、设置flash分区此处一共要修改3个文件,分别是:arch/arm/mach-s3c2410/devs.c ;指明分区信息arch/arm/mach-s3c2410/mach-smdk2410.c ;指定启动时初始化drivers/mtd/nand/s3c2410.c ;禁止Flash ECC校验3.1指明分区信息在arch/arm/mach-s3c2410/devs.c文件中:vi arch/arm/mach-s3c2410/devs.c在arch/arm/mach-s3c2410/devs.c文件添加的内容包括:(1)添加包含头文件。

汇编课设-二进制数和十进制数相互转换

汇编课设-二进制数和十进制数相互转换

课程设计题目二进制数和十进制数相互转换学院计算机科学与技术学院专业计算机科学与技术班级姓名指导教师年月日课程设计任务书学生姓名:专业班级:指导教师:工作单位:计算机科学与技术学院题目: 二进制数和十进制数相互转换初始条件:理论:学完“汇编语言程序设计”、“高级语言程序设计”和“数字逻辑”。

实践:计算机学院科学系实验中心提供计算机和软件平台。

如果自己有计算机可以在其上进行设计。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)。

(2)程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。

(3)设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。

(4)设计报告格式按附件要求书写。

课程设计报告书正文的内容应包括:在正文第一行写课程设计题目;1.需求说明(要求、功能简述)或问题描述;2.设计说明(简要的分析与概要设计);3.详细的算法描述;4.源程序与执行结果(含测试方法和测试结果);5.使用说明;6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该程序进一步改进扩展的设想)。

时间安排:设计时间一周:周1:查阅相关资料。

周2:系统分析,设计。

周3~4:编程并上机调试。

周5:撰写课程设计报告。

设计验收安排:17周星期五8:00起到计算机学院科学系实验中心进行上机验收。

设计报告书收取时间:17周的星期五下午5:00之前。

指导教师签名: 2011年12月25日系主任(或责任教师)签名: 2011年12月 25日二进制数和十进制数相互转换1 设计题目二进制数和十进制数相互转换2设计要求2.1用汇编语言实现二进制数和十进制数相互转换。

2.2程序要有三个功能(0:退回DOS,1:十进制转化为二进制,2:二进制转化为十进制)。

2.3功能号输入错误时给出提示,并且可以让用户重新选择。

2.4要求输入的十进制数在0-65535之间,输入的二进制数在0-1111111111111111之间。

武汉理工大学 物理实验 物理实验报告

武汉理工大学 物理实验 物理实验报告

物理实验报告测刚体的转动惯量班 级:________ 学 号:_________ 姓 名:_________ 实验日期:________ 仪器编号:_________ 同组人:_________练习A 用扭摆测刚体的转动惯量[实验目的](1) 学习一种比较测量法; (2) 用扭摆测量刚体的转动惯量; (3) 学习几种常用测量工具的使用。

[实验原理]扭转弹性系数为k连就构成了图1动周期为: kI T π2= (1)式中I 为圆盘的转动惯量。

为I 1的圆环,则振动周期增加为:kI I T 112+=π(2若环的质量为m ,内外直径分别为d 1和d 2,则环的转动惯量I 1可按下示计算:(3)由(1),(2),(3)式可得圆盘的转动惯量为:可见,只要测出振动周期T 1,T ,环的质量m 及内外径d 1 和d 2,即可由上式得出待测刚体(圆盘)的转动惯量。

根据切变模量与扭转弹性系数之间的关系,可进一步得出钢丝的切变弹性模量只要进一步测出钢丝的长度L 及钢丝的直径d ,就能算出钢丝的切变弹性模量。

图1 扭摆()()2221222118121d d m r r m I +=+=()()2221222148m Tdd I T T +=-()()()2212422116m L d d N d T T π+=-(5)[实验仪器]扭摆,停表,游标卡尺(测环内外径),千分尺(测丝直径),米尺(测钢丝长度)。

[实验内容与数据处理] 1. 振动周期测量:表1:振动周期测量 单位:秒 注:ΔB = 0.2/50 = 0.004(s )表2.测量圆环3. 测钢丝直径 为了修正千分尺的偏零误差,将校零读数及钢丝直径读数记录如下: 钢丝直径=-=0Z Z d d 直径不确定度=∆++=∆2220仪zd z d S S4.测得钢丝的长度 L = (cm ); 不确定度=∆l (cm )。

5.圆盘转动惯量计算=-+=)(8)(22122212T T d d mTI(kg ·m 2)2221222221212222111)()1(2d d T T T TT T T d T T rI +∆+∆-+∆-+=∆==∆=∆rI I I =∆±=I I I6.切变弹性模量计算=-+=)()(1622142221T T d L d d m N π= (N ·m -2)2221222112221222)2()2(4)4()(11TT T TT T d d dLN N T T d d L rN N -∆+-∆++∆+∆+∆⋅=∆⋅=∆= ==∆±=N N N[预习思考题](1) 使扭摆作角振动时应注意什么?(2) 为什么圆环必须同心地加到圆盘上?[讨论思考题](1) 为什么钢丝的直径必须准确测定?。

武汉理工操作系统试验报告

武汉理工操作系统试验报告

实验课成绩学生学号0121110680125武汉理工大学书告实验报学生操作系统实验课程名称院计算机科学与技术学院学开课刘军指导老师姓名名李帅学生姓软件1101 学生专业班级学期 2014 2013 —学年第一实验课程名称:操作系统vi 3.退出三、主要仪器设备及耗材 Ubuntu操作体统编辑器Vi第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)subdir命令建立一个子目录1 使用mkdir 文件的内容。

命令查看file12 使用cat或more 的后面:命令的用法附加到文件file13 将date file1的较详细的信息。

4 利用ls -l file1命令列出文件 ls -l命令查看工作目录内容。

命令将文件fa删除。

再利用利用5 rm fa? 命令查看这两个文件是否都还在工作目录中mv file1 file_a命令,然后用ls6 运行不在工作目录中在工作目录中,而file1file_a显然,只有二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)Free 显示系统中已用空闲内存数量Rm:删除文件或目录三、实验小结、建议及体会操作系Windows对比有些不同需要时间去适应。

通过这次实验对LinuxLinux系统常用的命令。

Linux初步掌握了一些统有了进一步的了解。

通过这仅一个周时间的一些最基本知识,我会在后的学习中不断完善和加以扩充的学习,我们只是了解了linux操作系统实验课程名称:实验项目名称编程CLinux下实验成绩实验课程名称:操作系统实验项目名称SHELL编程和后台批处理实验成绩六、实验小结、建议及体会系统下的编程有了进一步的了解。

也对通过这次实验熟悉了shellLinux编程,对Linux里面编有进一步的认识,如何使用命令来打开文件以及在编辑器vi终端方式使用的编辑器vi 写内容等,。

汇编实验一 实验报告

汇编实验一 实验报告

实验一查看CPU和内存用机器指令和汇编指令编程
一、实验目的
1.掌握debug的使用方法,会用基本的D,R命令查看、显示内存和寄存器
2.了解汇编指令编程的方法。

二、实验任务
1检查在存储器低端的BIOS数据区的内容。

(1)检查串行与并行端口
(2)检查系统设备
(3)检查键盘Shift状态
(4)检查显示状态
2 考察ROM BIOS
目的:检查在存储器高端的ROM BIOS中的数据。

(1)检查版本通告
(2)检查ROM BIOS数据
3.用D、R命令查看、显示内存和寄存器,可对寄存器内容进行修改。

三、实验结果及分析
1、检查在存储器低端的BIOS数据区的内容
(1)检查串行与并行端口
说明:检查后发现有四个串行端口,分别是03F8、02F8、03E8、02E8;并行端口也有四个,分别是03BC、03BC、0378、0278、9FC0
(2)检查系统设备
(3)检查键盘Shift状态
(4)检查显示状态
2、考察ROM BIOS (1)检查版本通告
(2)检查ROM BIOS数据
3、用D、R命令查看、显示内存和寄存器,可对寄存器内容进行修改
四、实验总结(心得、体会)
1、通过对检查在存储器低端的BIOS数据区的内容的查看,可以了解计算机的各种状态,而考察ROM BIOS可以鉴定计算机的出厂信息。

2、通过用D、R命令查看、显示内存和寄存器,可以了解计算机运行的过程步骤,并且可以通过偏移地址读取内容。

3、在读取时需要注意的是,在DEBUG显示中是低位至高位的显示,而我们需要的是高位至低位的显示方式,所以在操作时对于双字节的读取,需要将前后字节地址内容互换。

武汉理工通信原理第六章汇编语言程序设计

武汉理工通信原理第六章汇编语言程序设计


mov AL, 0AH
mov AL, AH mov BX, 0abcdH
精品课件
标号
标号是符号表示的地址,称为符号地址, 标号具有段地址,偏移地址,和类型3个属性 类型属性有NEAR和FAR类型
精品课件
变量
变量的值在程序运行过程中可随时修改
变量有3个属性:
(1)段地址:变量所在段的段地址。
(2)偏移地址:变量所在段的偏移地址。
(3)类型:变量所占的字节数。
变量名 DB 表达式
定义字节变

变量名 DW 表达式
定义字变量
变量名 DD 表达式
定义双字变

变量名 量(8个字节)
DQ 表达式
精品课件
定义长字变
上述伪指令中表达式的形式:
(1)一个或多个常数,或运算公式(结果为常数)
当有多个常数时,两两之间用逗号分隔。
从左到右由低地址向高地址顺序存储。
第六章 汇编语言程序设计 一.汇编语言语法 二.汇编语言程序设计 三.汇编程序及上机设计 四.DOS及BIOS功能调用 五.任务切换与混合语言编程
精品课件
6.1汇编语言语法
一、计算机程序设计语言的演变 1)机器语言:直接用机器指令来编制
计算机程序的方法 2)汇编语言:可以用助记符来表示
指令的操作和操作数,也可以用标号和 符号来代替地址、常量和变量。
使用DW时:
移地址
地址表达式中的变量名称表示变量第一个单元的偏
一个字节的偏移地址。
标号表示指令的第
使用DD时:
低两字节为偏移地址,高两字节为段地址。
偏移
地址表达式中的变量或标号可与常数相加减,结果仍为
表示

汇编语言(本科)武汉理工大学 在线作业

汇编语言(本科)武汉理工大学 在线作业

汇编语言(本科)武汉理工大学在线作业一、判断(共计100分,每题2.5分)1、在汇编语言中,寻找操作数的过程就是操作数的寻址一般来说,存放在指令代码中的操作数称为立即数,存放在CPU的内部寄存器中的操作数称为寄存器操作数,存放在内部存储器中的操作数称为存储器操作数。

A.正确B.错误答案:【A】2、在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中的偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为1030H、106CH、10B8H。

A.正确B.错误答案:【A】3、单元中有一条二字节指令,化为二进制是11001101,化为八进制是315。

A.正确B.错误答案:【A】4、数-27的补码表示是11100101(8位),扩展到16位为1111111111100101。

A.正确B.错误答案:【A】5、求出十六进制数9D60与十六进制数62A0之和,并根据结果设置标志位SF、ZF、CF和OF的值,和为0000H;SF=0,ZF=1,CF=1,OF=0。

A.正确B.错误答案:【A】6、假设程序中的数据定义如下:PARTNO DW ?PNAME DB 16 DUP (?)COUNT DD?PLENTH EQU $-PARTNO问PLENTH的值为16H。

A.正确B.错误答案:【A】7、伪指令是它是在对源程序汇编期间由汇编程序处理的操作,它不产生任何机器代码。

A.正确B.错误答案:【A】8、十六进制数0FFF8H表示的十进制正数为65528,表示的十进制负数为-8。

A.正确B.错误答案:【A】9、寻找操作数的过程就是操作数的寻址方式。

A.正确B.错误答案:【A】10、要求屏蔽寄存器AL第0,1两位,则要执行指令AND AL,0FCH;如果要求把AL的第0,1位变反,可使用指令XOR AL,03H。

A.正确B.错误答案:【A】11、SP称为堆栈指示器,它用来存放当前栈顶的EA。

A.正确B.错误答案:【A】12、将二进制数111110化为十进制是62,将十进制数31化为二进制为11111,化为八进制为37。

武汉理工大学学生实验报告书1

武汉理工大学学生实验报告书1
%例3.3 %曲线的色彩和线型 %用图形表示连续调制波形y=sintsin9t及其包络线 t=(0:pi/100:pi)'; %生成(101*1)的时间采样列向量 y1=sin(t)*[1,-1]; %生成(101*2)的矩阵(包络线函数值) y2=sin(t).*sin(9*t); %生成(101*1)的调制波列向量 plot(t,y1,'r:',t,y2,'b') % 用红虚线绘y1,用蓝实线绘y2 axis([0,pi,-1,1])
%定义自变量采样点取值数组 %计算各自变量采样点上的函数值 %用不同线型绘曲线 %加分格线 %建立图例以区别两曲线 %建立坐标轴名 %建立图名
(3) 程序及注释
%df x=linspace(-2,2,25); y=linspace(-2,2,25); [xx,yy]=meshgrid(x,y); zz=xx.*exp(-xx.^2-yy.^2); mesh(xx,yy,zz); title('立体网状图'); %在X轴上取25个点 %在Y轴上取25个点 %xx和yy都是25×25的矩阵 %zz也是25×25的矩阵 %绘制立体网状图 %建立图名
2014
--
2015
学年

1
学期
实验课程名称: 计算机仿真
实验项目名称 实 验 者 同 组 者 数据和函数的可视化 专业班级 实验成绩 组 别 14 年 11 月 23 日
实验日期
一部分:实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备
及耗材,实验方案与技术路线等)
一、实验目的、意义: ⒈掌握二维、三维绘图指令; ⒉掌握图形标识和精细指令; ⒊学习用编程器编程、程序调试、程序保存和运行程序进行仿真 二、实验内容 ⑴在例 3-3 的程序的基础上,加入坐标控制、分格线和图形标识等指令,并运 行; 例 3-3:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言实验报告
学院计算机科学与技术学院专业计算机科学与技术专业班级
学号姓名实验时间: 2011年11月
一、实验名称:
熟悉汇编语言程序调试环境及顺序程序设计
二、实验内容及要求:
实验目的及要求:
1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

实验内容:编写习题5.1和习题5.5的程序并调试通过。

三、实验使用的关键技术和方法:
1.汇编语言源程序的建立
本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。

设定源程序的文件名为ABC。

DATA SEGMENT
BUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH
CN EQU $-BUF
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET BUF
MOV CX,CN
DEC CX
MOV AL,[BX]
INC BX
LP: CMP AL,[BX]
JBE NEXT
MOV AL,[BX]
NEXT: INC BX
DEC CX
JNZ LP
MOV AH,4CH
INT 21H
CODE ENDS
END START
键入以下命令:
C:\>EDIT ABC.ASM
此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口
程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件
一般情况下,MASM汇编程序的主要功能有以下3点:
(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

图2 MASM宏汇编程序工作窗口
汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。

其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。

这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。

3.用连接程序生成可执行程序文件
经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。

连接过程如图3所示。

图3 LINK连接程序工作窗口
上述提示行回答以后,连接程序开始连接,如果连接过程中出现错误,则显示出错误信息,根据提示的错误原因,要重新调入编辑程序加以修改,然后重新汇编,再经过连接,直到没有错误为止。

连接以后,便可以产生可执行程序文件(.EXE 文件)。

4.程序的执行
当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。

如:C:\>ABC
本程序当中没有用到DOS中断调用指令,所以在屏幕上看不到程序执行的结果。

四、实验设计方案说明
对于习题5.1:
流程图如图所示:
对于这题,我原来的想的代码是下边所示的代码:
由于考虑到从键盘上多次输入小写字母与输出相应的大写字母,所以为了简化程序,避免多次书写相同代码,使用了宏定义,input,output INPUT MACRO K
MOV AH,1
INT 21H
MOV K,AL
ENDM
OUTPUT MACRO K
MOV DL,K
MOV AH,2
INT 21H
ENDM
然后是对输入的字符进行检错操作,判断输入的字符的ASCII是否在A~Z 之间,是就进行转化并输出,不是直接跳出循环,操作结束。

CMP M,'A'
JB STOP
CMP M,'Z'
JA STOP
最后是在进行一次正确操作结束后跳到编码的开始时,进行多次操作,如果
想结束操作,可输入任何不在a~z之间的任意字符,结束实验。

对于习题5.5:编写程序,要求能从键盘接受一个个位数N,然后响铃N次(响铃的ASCII码为07)
流程图如图所示:
首先是对输入字符的检错操作,判断输入的字符是否在0~9之间的个位数,如果是,进行下面的操作,否则直接结束。

CMP AL,'0' ;检查输入的数是否在0-9之间
JB STOP
CMP AL,'9'
JA STOP
CBW
MOV CX, AX
然后将正确的数字放入CX中,作为循环的次数,其中循环使用LOOP,每循环一次就执行一次响铃操作,直至CX的内容为0。

BELL: MOV DL,07 ;循环响铃
MOV AH,2
INT 21H
LOOP BELL
JMP BEGIN
STOP: MOV AX, 4C00H
INT 21H
习题5.1的完整代码:
INPUT MACRO K
MOV AH, 1
INT 21H
MOV K, AL
ENDM
OUTPUT MACRO K
MOV DL, K
MOV AH, 2
INT 21H
ENDM
ASSUME CS: CODE, DS: DATA
DATA SEGMENT
M DW 0
DATA ENDS
CODES SEGMENT
BEGIN: MOV AX, DATA
MOV DS, AX
INPUT M
CMP M,'A'
JB STOP
CMP M,'Z'
JA STOP
SUB M,20H
MOV AH,2
MOV DL,0AH
INT 21H
OUTPUT M
MOV AH,2
MOV DL,0AH
INT 21H
JMP BEGIN
STOP: MOV AX,4C00H
INT 21H
CODE ENDS
END
习题5.5:
ASSUME CS: CODE
CODE SEGMENT
BEGIN: MOV AH,1 ;输入数字
INT 21H
CMP AL,'0' ;检查输入的数是否在0-9之间JB STOP
CMP AL,'9'
JA STOP
CBW
MOV CX, AX
JCXZ STOP ;如果cx中是的数为0则结束
BELL: MOV DL,07 ;循环响铃
MOV AL,2
INT 21H
LOOP BELL
JMP BEGIN
STOP: MOV AX,4C00H
INT 21H
CODE ENDS
END
四、测试及评估
习题5.1测试结果如下
生成可执行文件后,对实验进行验证:
最终结果
习题5.5测试结果如下
执行后,进行试验验证
最终结果如下图所示:
五、设计心得
这次试验过程中出现的问题很多,最开始是对错做过程的不熟悉导致编译运行是老出错,最后是代码上的错误。

所以通过这次试验不仅让我懂得对汇编操作的基本过程熟悉了,更多的是对整个编写代码的流程熟悉了。

中间总是出现错误时曾经不想做了,但是觉得这种代码也并不是很难,应该可以实现,所以在不断地改动之后最终让正确的实验结果出现。

所以这次试验还让我对做实验增加了耐心,因而这次收获很多。

学号:0120910340625
武汉理工大学汇编语言实验报告
题目熟悉汇编语言程序调试环境及顺序程序设计
学院计算机科学与技术学院
专业计算机科学与技术
班级计算机科学与技术sy0901
姓名王悦
指导教师杨青
2011 年11 月24 日。

相关文档
最新文档