资源描述:
《西电机电院微机原理上机答案.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、汇编语言上机题姓名:学号:成绩:实验一、上机过程及DEBUG应用编写程序,建立数据段DATA,将你的姓名(汉语拼音)及学号存入DATA数据段的BUFFER1区域,然后利用程序将BUFFER1区域中的字符串(姓名及学号)依次传送到从BUFFER2开始的内存区域中去。上机过程与要求1.建立原程序:源程序文件名为buffer.asm,源程序清单如下:datasegmentbuffer1db'hepan04105038'buffer2db13dup(?)dataendscodesegmentASSUMECS:CODE,DS:DATASTART:movax,d
2、atamovds,axmoves,axleasi,buffer1leadi,buffer2movcx,0dcldrepmovsbmovah,4chint21hcodeendsendstart2.汇编后生成的obj文件名为buffer.OBJ3.连接后生成的目标文件名为buffer.EXE4.DEBUG调试:在DEBUG下,利用U、D、G、R等命令对EXE文件进行调试后,相关信息如下:(1)表1-1反汇编清单中所反映的相关信息段地址偏移地址机器码助记符第一条指令14B40000B89D14MOVAX,14B2第二条指令14B400038ED8MOVDX
3、,AX最后一条指令14B4001ED1E3SHLBX,1*注:最后一条指令是对应于代码段中最后一条指令(2)在未执行程序之前,用D命令显示内存区域BUFFER1及BUFFER2中的内容,其相关信息如表1-2所示。表1-2未执行程序之前的数据区内容变量区段地址值偏移地址变量值(或字符串)BUFFER114B20000hepan04105038BUFFER214B2000D………….(3)执行程序以后用D命令显示内存区域的相关信息,如表1-3。表1-3执行程序之后的数据区内容变量区段地址值偏移地址变量值(字符串)BUFFER114B20000hepan0
4、4105038BUFFER214B2000Dhepan04105038(4)用R命令检查寄存器的内容如表1-4所示。表1-4有关寄存器内容寄存器名CSDSIPAXBXCXSIDI内容14B414A2000000000000003900000000回答问题a)宏汇编命令MASM的作用是什么?答:产生OBJ文件。b)连接命令LINK的作用是什么?连接后生成什么文件?答:产生EXE文件,生成EXE文件。c)DEBUG下U命令的作用是什么?答:反汇编被调试命令。d)DEBUG下D命令的作用是什么?答:显示内存单元的内容。e)在DEBUG下如何执行.EXE文件
5、,写出执行命令的常用格式。答:DEBUGNAME.EXE。实验二、寻址方式练习掌握8086/8088的寻址方式是学习汇编语言的基础,因此,我们以数据传送指令为例编写了下面的程序,通过该程序对主要的几种寻址方式进行练习。DATA1SEGMENTM1DB0A0H,0A1H,0A2H,0A3H,0A4H,0A5HM2DB0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFHDATA1ENDSDATA2SEGMENTN1DB0B0H,0B1H,0B2H,0B3H,0B4H,0B5HN2DB0B6H,0B7H,0B8
6、H,0B9H,0BAH,0BBH,0BCH,0BDH,0BEH,0BFHDATA2ENDSSTACKSEGMENTPARASTACK‘STACK’DB0C0H,0C1H,0C2H,0C3H,0C4H,0C5HDB0C6H,0C7H,0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFHDW100DUP(?)TOPLABELWORDSTACKENDSCODESEGMENT ASSUMECS:CODE,DS:DATA1,ES:DATA2,SS:STACKSTART:MOVAX,DATA1MOVDS,AXMOVAX,DATA2MOV
7、ES,AXMOVAX,STACKMOVSS,AXMOVAX,OFFSETTOPMOVSP,AXMOVSI,OFFSETM2LEADI,N2MOVAL,’5’MOVAH,6MOVBL,M1MOVBH,[SI]MOVCL,ES:N1MOVCH,ES:[DI]MOVBP,0000HMOVDX,[BP]MOVAH,4CHINT21HCODEENDSENDSTART任务1:用EDIT建立源程序,然后汇编、连接生成目标文件。任务2:在DEBUG下,将上述目标文件调入内存,利用U、D等命令,检查RAM区中的数据,合理使用D命令,分析所显示的信息并填写表2-1。任务
8、3:执行程序后,填写表2—2中各寄存器之值。表2—2:执行程序后各寄存器之值寄存器寄存器之值寄存器寄存器之值