汇编语言程序设计 实验一_第1页
汇编语言程序设计 实验一_第2页
汇编语言程序设计 实验一_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 一 汇编语言程序设计基础一、实验目的1掌握汇编语言程序上机过程。2掌握汇编语言结构。3学习汇编语言的伪操作。4了解汇编程序、连接程序、DOS系统装入和返回功能。5掌握用TDEBUG调试汇编语言程序的方法二、实验任务1编写完整的汇编语言程序(1) 定义一个数组,数组的内容为110sum中。(2) 编写程序计算1234H+5678H,结果放入变量reesult。(3) 编写程序计算12345678H+91012334H,结果放入变量reesult。2伪操作学习编辑下列源文件:SEGMENTdatavar0var1var2var3var4datacodeDB 10101010B,TsingH

2、uaDW efghDB374,1DW1,9080HDDffeeddccHENDSSEGMENTASSUME CS:code,DS:dataMOVMOVLEAENDSENDDS,dataCX,var0AL,var1start:codestart汇编该文件,据提示说明出错语句的错误原因。修改程序中的错误,在TDEBUG下查看变量var0var4在内存中的存放情况。三、实验说明1了解汇编程序、连接程序、DOS的装入和返回功能。2汇编语言程序的上机过程(1)建立汇编语言程序源文件。可使用任何一个文本编辑器(如文件,源文件,源文件的扩展名通常取为.asm。EDIT.com)编辑源(2)汇编文件,形成目标

3、模块。汇编程序的使用masm。若文件有语法错误,据错误提示,返回(1若无错,则形成.OBJ目标文件和.LST列表文件。(3)连接目标模块,形成可执行文件。连接程序的使用link。若有错,据错误提示,返回(1若无错,则形成.EXE可执行文件和.MAP映像文件。(4)DOS下直接键入可执行文件名,即可执行该程序。(5) 运行结果不对,需调试程序,查找原因。返回步骤(1)查看源文件,查找错误,修改文件。TDEBUG下调试.EXE文件,找出错误之处,再返回步骤(1)TDEBUG下装入.exe文件的方法,利用在实验一中掌握的调试方法对程序进行调试。3 对于编程任务(18086的寻址方式来简化程序。4 对

4、于编程任务(235 由于程序中无结果的显示,故需在TDEBUG下运行并查看结果。6 利用TDEBUG,学习伪操作的方法。在TDEBUG下查看源程序时,发现.asm源文件SEG,OFFSET等)均被一些确定的数值代替,从而说明,这些用符号表示的地址,经过汇编、连接及装入内存后,都有了具体的选择理地址与之对应,其它的一些伪操作也都在程序执行前已经完成,通过对在TDEBUG下查看源程序,对比.asm源文件,可以掌握伪操作的功能。例:有如下程序段,程序源文件名设为Study.asm:SEGMENTDBhow are you doing?,DWdatastringD_wordData1234h,5678

5、hENDSSEGMENTASSUMEPROCCodeCS:code,DS:dataFARmainPUSH DSBegin:MOV AX,0PUSH AXMOV AX,dataMOV DS,AXMOV SI,OFFSETMOV BL,stringRETstringENDPENDSmaincodeENDbegin经汇编、连接后,形成Study.exe,在TDEBUG下装入此文件,查看程序。12A7:0000 1EPUSH DS12A7:0001 B8000012A7:0004 50MOV AX,0000PUSH AX12A7:0005 B8A51212a7:0008 8ED812A7:000A B

6、E0000MOV AX,12A5MOV DS,AX;原为MOV AX,dataMOV SI,0000;原为MOV SI,OFFSET string12A7:000D 8A1E0000 MOV BL,0000 ;原为MOV BL,string12A7:0011 CBRETF;省略与程序部分无关的显示对照源程序Study.asm,可知:(1) 定义的data段,在内存的段值为12A5H;(2) 伪操作OFFSET的作用是取变量string的偏移地址:从汇编后操作数OFFSET string由string的偏移值0000代替可知;(3) 变量string是一个直接寻址的操作数:从程序中操作数stri

7、ng被操作数0000代替可知。(4) 查看12A5H段的内容12A5:0000 48 6F 77 20 61 72 65 2079 6F 75 20 64 6F 69 6E How are you doing12A5:0010 67 20 3F 24 34 12 78 5600 00 00 00 00 00 00 00 g?4Xv 12A5:0020 1E B8 00 00 50 B8 A5 128E D8 BE 00 00 8A 1E 00P 看到存放在内存的字符串How are you doing?,其后存放数值1234H,5678H,存放规则为低地址的内存单元放低字节数据,高地址的内存单元放高字节数据。(5) 利用TDEBUG查看当前各寄存器值,尤其注意标志位,段寄存器等特殊寄存器。AX=0000 BX=0000 CX=0032 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1295 ES=1295 SS=12A5 CS=12A7 EP=0000 NV UP EI PL NZ NA PO NC(6DEBUG下对照查看来掌握。注:完成以上任务后,学习在汇编环境下在屏幕上输出一个字符的方法。MOV DL,AMOV AH,02HINT 21H则在屏幕上输出一个字符A四、问题思考1汇编语言程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论