




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/ 1BEIJING UNION UNIVERSITY/北京联合大学信息学院微机原理与嵌入式系统报告姓名:刘仡凡班级 学号:2009080304429专业:通信工程指导教师:刘瑞祥2011年11月18日实验一 DOS环境下的汇编语言编程环境使用 (基础与验证型)一、实验要求和目的1掌握汇编语言程序设计的基本方法和技能;2、 熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;3、熟练掌握宏汇编程序 MASM的使用;4、熟练掌握连接程序 LINK的使用。二、软硬件环境1硬件环境:微机 CPU 486以上,500MB以上硬盘,32M以上内存;2、软件环境:装有 MASM 5.0、DEBUG、LI
2、NK、EDIT、CREF.EXE 和 EXR2BIN.EXE 等应用程序。三、实验内容与步骤1实验内容编写程序,在屏幕上显示"Hello World!",该源程序取名为hello.asm 2、实验步骤汇编语言程序设计上机过程如图1.1所示。图1.1汇编语言程序上机过程(一)用编辑程序 EDIT建立汇编语言源程序文件(ASM文件)在Windows 2000或者在 Windows XP环境下鼠标单击 "开始”宀"运行”,在"运行”中输入“ CMD 进入DOS模式,运行EDIT软件,例如:C> EDIT hello.ASM进入EDIT的程序编辑
3、画面时,输入汇编语言源程序如下:DATA SEGMENTMSG DB'Hello World!', 0DH,0AH ,'$'定义数据段,并初始化待显示的字符串DATA ENDSSTACK SEGMENT 'stack'DB100 DUP(O);定义堆栈段STACK ENDS- 1 - / 12CODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODE ;由ASSUME指令定义各段寄存器的内容START:MOVAX,DATAMOVDS,AXLEADX,MSGMOVAH,9;调用dos功能,显示字符串INT21Hmovah,4
4、ch;返回 dos 状态int21hCODE ENDSEND START(二)用汇编程序 MASM将ASM文件汇编成目标程序文件 (OBJ文件)当源程序建立以后, 仍以 hello.asm 程序为例, 我们用汇编程序 MASM 对 hello.asm 源程序文件进行汇 编,以便产生机器码的目标程序文件 hello.obj ,其操作步骤如下:C>MASM hello.asmMicrosoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Corp 1981985, 1987. All rights reserved.Obje
5、ct filename ABC.OBJ :Source listing NUL.LST :Cross-reference NUL.CRF :50674 + 450574 Bytes symbol space free0 Warning Errors0 Severe Errors(三)用连接程序LINK生成可执行程序文件(EXE文件)经汇编后产生的二进制的目标程序文件 (OBJ 文件 )并不是可执行程序文件 (EXE 文件 ),必须经连接以 后,才能成为可执行文件。连接程序并不是专为汇编语言程序设计的。如果一个程序是由若干个模块组成 的,也可通过连接程序 LINK 把它们连接在一起。这些模块可以
6、是汇编程序产生的目标文件,也可以是高 级语言编译程序产生的目标文件。连接过程如下:C>LINK hello.objMicrosoft (R) Overlay Linker Version 3.60Copyright (C) Microsoft Corp 1983-1987. All rights reserved.Run File ABC.EXE :List File NUL.MAP :Libraries .LIB :(四)程序的执行当我们建立了可执行文件 hello.EXE 后,就可直接在 DOS 下执行该程序: C>hello.exe 或者 hello从而显示 Hello Wo
7、rld! 的结果四、实验要求与提示1 、实验要求( 1 )掌握汇编语言程序设计上机过程;汇编语言上机操作中,不同于 windows 操作系统,需要进入“命令提示符”界面,- 3 - / 12- 5 - / 12通过命令代码进行实际操作。(2 )回答思考问题;(3 )记录实验结果。练习通过“ debug”调试程序,如图:C:KC: f 1JIDOWS syst »32 Vend, exe debug Basi&h. exenX=9BBB DS=0C37 6048:0030 PuHC4B:0B86 0C4S:0003 0C48:0005 0C4S:0009 SC4B:000E 0
8、048:000D 0048:000F 0C48:a011 »C4S:0013 gC48:0O15 HC48:0017 6C4B:001? 0048:001B 0C4»:0O1D HC4S:001FBX -=S000CX-0094 DX =3000SP-000SES=0C37SS=0C47 CS-0C48 IP-0000B8470CHOU AK,0C4?BS47BC 8ED8 8D1&0000B409CD21B44C CD21 00S0 0000 8000 0800 60Q0 0000 00000000UUAUTUTDDDDDDDDOOEONONDDDDDDDDMML
9、MIMIAAAAAAAAnX,0C47 DS网DM.00001 AH ,0921AH,4C 21BX+SI L tBX+STl.AL EX+81,AL tBX+Sl L BX+SI 1PAL tBX+SI l.AL tBX+Sl ,AL tBX+S11,ALBP=0003SI=0B00 DI-0S0BNU UP ET PL NZ NA PO HC六、思考与练习以及测评标准(1) 汇编过程中 MASM hello和MASM hello.ASM的结果是否一致。“ masm hello ”编译对象没有文件后缀,而“ masm hello.asm ”意为编译“ hello.asm文件;(2) 连接过程
10、中 LINK hello和LINK hello.OBJ的结果是否一致。“ link hello”编译对象没有文件后缀,而“ link hello.obj”将会把“ hello.obj打包成可执行文件,即:hello.exe ;(3) 使用Word如何录入汇编语言源程序。存档时,后缀改用“ .asm” ;实验二Debug的使用(基础与验证型)一、实验要求和目的熟练掌握动态调试程序 DEBUG的使用;二、软硬件环境1、硬件环境:微机 CPU 486 以上, 500MB 以上硬盘, 32M 以上内存;2、软件环境:装有 MASM 5.0、Debug、LINK、EDIT、CREF.EXE和 EXR2B
11、IN.EXE等应用程序。三、实验内容与步骤1、实验内容进入和退出Debug程序(2) 学会Debug中的D命令、R命令、T命令、G命令、U命、Q命令等的使用。(3) 利用Debug,验证程序中指令的功能和结果。(4) 使用Debug调试程序调试汇编程序。2、实验步骤(1) 在DOS提示符下,进入 Debug程序。(2) 详细记录每一步所用的命令,以及查看结果的方法和具体结果。(3) 求从1开始连续50个奇数之和,并将结果存放在名字为 SUM的字存储单元中。已汇编、连结生成 了可执行文件test1.EXE,存放在d:MASM目录下。请使用 Debug对其进行调试。调试过程DATASEGMENT;
12、定义数据段SUM DW0;定义变量并赋初值DATAENDSSTACKSEGMENTSTACK ;定义堆栈段DB200 DUP(0)STACKENDSCODESEGMENT;定义代码段ASSUME DS:DATA,SS:STACK,CS:CODE ;由ASSUME指令定义各段寄存器的内容START: MOVAX,DATAMOVDS,AXMOVCX,5;累加次数MOVAX,0;存放累加和MOVBX,1NEXT: ADDAX,BXINCBXINCBXDEC CXJNENEXTMOVSUM,AX;存放最终累加结果MOVAH,4CHINT 21H;返回 dos 状态CODE ENDSENDSTART进入
13、Debug并装入可执行文件 test1.EXED:MASM>Debug test1.EXE<Enter>观察寄存器初始状态-R <Enter>注:(1) 以上显示的寄存器值,可能和你的电脑显示的不一样。(2) Debug中默认的进制疋十八进制。 观察数据段中相应位置的值-D数据段:偏移地址 <Enter> 使用U命令反汇编-U从程序存放的位置开始 <Enter> 使用T命令进行单步执行观察结果 使用G命令执行-G地址(程序终止的偏移地址处)<Enter>四、实验要求与提示1实验要求(1 )熟练掌握Debug的命令;(2)熟练掌握
14、使用 Debug调试汇编程序;(3 )回答思考问题;(4 )记录实验结果。2、实验提示一般使用Debug调试汇编程序的步筹如下:(1) 调用DEBUG,装入用户程序(2) 观察寄存器初始状态(3) 以单步工作方式开始运行程序(4) 观察用户程序数据段初始内容(5) 连续工作方式运行程序"C: WIHDOWSsyst en32 kod.exe - debug d:>asB.h2- exeBEIDBX=8001CX-000SDX=0000SP-09CSBP=0Q98SI=SBSa DI=9008DS=0C47ES-0C37SS=0C48CS-0CS5IP =0010NV UP El
15、PL 忖忑 NA P0 NC0055=0010 -t43INCBKAX=0001耐 eoazCX=0005M-0000SP=00C8BP=0000SI=0000 DI=0000DS=0C47ES=0C37SS=0C48CS=0C55IP=0011HU UP ElPL HZ NA P0 NC0055:001143INCBX-tAK=0001m=0003CK=0005DK=O0OBSF=00C8BP=8B0B81=0000 DI=0000DS=0C47ES-BC37SS=0C4SCS =0IC56IP-0012NU UP ElPL NZ NA PE NCBC5S:R01249DECCX-tAX=0
16、001BX=0003CX-0004DX =31000£P=09CSBP=0008SI=8989DI=000S1)S=0C47ES=0C37SS=0C48CS=0C55IP=0013HU UP ElPL NZ NA P0 HC0C55:0013 -t75F9JNZ000EAK=0001BX=8OB3CX=0004DX=0000SP=00G8BP=0000SI=0000 DI=0000to£=0C47ES=0C37SS=0C4flCS=0055IP=000EHU UP ElPL HZ 附 P0 NCUC55:m0ES3C3ADDAX,BX0 0- _w 0 0- 0 -B 00
17、 0 0 0 0 0 0 000 0 00 00 0 00 0 00 0 0 0 00000 000 00000 0 0 0 00 0 0 0 0 0 00 _w 0 0 0- 0- 0 0 0 0-0 0 000 0 0 00 0 0 0 0 0 _0 _0 0 0 0 _0 0 0 _0 _0 -0 0- 0 0 0 -M-一 00 _0 0 _0 0- 0- 0- 0 0 _0 -0 0- 0- 0- 015五、思考与练习以及测评标准(1) 如何启动和退出 Debug程序。(2) 整理每个Debug命令使用的方法,实际示例及执行结果。(3) 启动Debug后,要装入某一个.EXE文件,应
18、通过什么方法实现?实验三分支程序设计知识提要:本部分内容主要对分支程序加以介绍,其知识要点:1.无条件转移指令 JMP无条件转移指令JMP是使程序无条件转移至目标处,又分为段内转移、段间转移。2 .条件转移指令JXX条件转移指令可分为三大类:1 )简单条件转移指令指令。根据单个标志位的状态判断转移条件。标志位指令转移条件意义CFJCCF=1有进位/借位JNCCF=0无进位/借位ZFJE/JZZF=1相等/等于0JNE/JNZZF=0不相等/不等于0SFJSSF=1是负数JNSSF=0是正数OFJOOF=1有溢出JNOOF=0无溢出PFJP/JPEPF=1有偶数个1JNP/JPOPF=0有奇数个
19、12)无符号数条件转移指令。假设在条件转移指令前使用比较指令,比较两个无符号数A, B,指令进行的的操作是 A-B,其转移指令如下:指令转移条件意义JA/JNBECF=0 AND ZF=0A>BJAE/JNBCF=0 OR ZF=1A>=BJB/JNAECF=1 AND ZF=0A<BJBE/JNACF=1 OR ZF=1A<=B3)带符号数条件转移指令。指令转移条件意义JG/JNLESF=OF AND ZF=0A>BJGE/JNLSF=OF OR ZF=1A>=BJL/JNGESF OF AND ZF=0A<BJLE/JNGSF OF OR ZF=1
20、A<=B一、实验要求和目的1熟悉汇编语言程序设计结构;2 熟悉汇编语言分支程序基本指令的使用方法;3掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法。、软硬件环境1.硬件环境:微机 CPU 486以上,500MB以上硬盘,32M以上内存;2 .软件环境:装有 MASM 5.0、DEBUG LINK和EDIT等应用程序。三、实验内容与步骤1实验内容(1 )编写计算下面函数值的程序:1,x0y = « 0, x = 01,x cO设输入数据为X、输出数据Y,且皆为字节变量,使用Debug查看X、Y两个变量的数据0的数的(2)以ARRAY为首地址的内存单元中,存放若干个8位的
21、带符号数,统计数组中大于等于个数,并将结果存入 RESULT字节单元中。2.实验步骤(1) 编写程序(2) 对程序进行debug调试,观察中间结果四、实验要求1实验要求(1)画出各程序流程图;出口- 9 - / 12(2)列出程序清单,加上适量注释;data segme ntxx dw 12yy dw data endsstack segment stack 'stack'db 100h dup (?)stack endscode segmentassume cs:code,ds:data,ss:stack start:mov ax,datamov ds,ax将 xx 转移给
22、ax与 0 比较大于等于 0,转 bigpr转 equprmov ax,xxcmp ax,0 xjge bigpr xmov yy,0ffffhjmp exit bigpr:je equpr x=0,mov yy,1jmp exitequpr:mov yy,0 exit: mov ax,4chint 21hcode endsend start(3) 记录实验结果。-13- / 12C: f llDOWSXsyst eB32c>Ld. exe debug d: MasMhe. exeG:H)X=0M4C 醐=0000 S=0C3E ES=0G2E C3F:002fl CD21 d 0c3e
23、C3E:0C30C3E:0C406964C3E:0C50 6E 64 C3E:0C68?20DC3E:0C702069C3E:0C80 &F 6E C3E:0C907415C3E:0CA0 M 28 C3E:0CBO 74 69 d Uc3e : (dldtmC3E=OB00 0C 00 C3E:0010 B8 3E C3E:002000FFC3E:B03090C7C3E:0040 ?C 26 C3E:0050 EB 1A C3E:00S0 3B C8 C3E=007000BBCX=003C DXSP=0100SS=0C42 CS=0C3F IP=002fiI NT 21BP=0000
24、81=0000 DT=0000HU UP El PL HZ NA PE NG五、实验的收获和体会CA705E15 40127636 1D A34 5 5D 1007542661 62 0E S343 7525 3165 5774 6529 3A20 £965 6C-2079 6E-7472 72-6520 25-32&5 64-5472 20-6E2A 14-4373 20-25E1EDS551666066736F7874 0A7577720DC5F5D15-M 6?664662 1F24E344 66776577 621591E5 S767S664 05432450 26 6576 G1 40 0 560 2A 72214270idLLabe 1 not Fou nd.Syntax erro r-.Current date is 胃 1. .SunN nT tie Ue dl huFr iS a t .Enter net? date Cxl>:Current t ine is M E1 CF 6 0 54 400F0OOS700EB2D17000DE12081RE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑地面设计规范
- 云南省盈江县第一高级中学2025届高考冲刺化学模拟试题含解析
- 2025年亚硝酸盐中毒解毒药项目建议书
- 河北省衡水市景县梁集中学2025届高三下学期联合考试化学试题含解析
- 贵州省黔东南苗族侗族自治州2024-2025学年高二下学期3月联考地理试题(含答案)
- 天目山民宿创业计划书
- 2025年走芯车床项目发展计划
- 德国知识产权
- 2025年建筑模型制作合作协议书
- 2025届上海市南汇第一中学高考化学五模试卷含解析
- 2024年苏州市市属事业单位招聘工作人员笔试真题
- 浙教版九年级数学同步训练:二次函数与几何结合压轴题(Ⅱ)(原卷版)
- 筒仓防雷施工方案
- 【地理】2024-2025学年人教版七年级下册地理背诵知识点
- 2025年上海工艺美术职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 23G409先张法预应力混凝土管桩
- 2024年宁波职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 《企业绩效考核工作探究的国内外文献综述》3200字
- 2024年09月全国2024年中国银行信息科技运营中心校园招考笔试历年参考题库附带答案详解
- 2025年临床医师定期考核必考复习题库及答案(620题)
- DB32∕T 3724-2020 高标准农田建设项目初步设计报告编制规程
评论
0/150
提交评论