实验2 汇编语言程序上机过程.doc_第1页
实验2 汇编语言程序上机过程.doc_第2页
实验2 汇编语言程序上机过程.doc_第3页
实验2 汇编语言程序上机过程.doc_第4页
实验2 汇编语言程序上机过程.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

南昌大学汇编语言程序设计实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验2 汇编语言程序上机过程一实验目的熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。了解汇编语言程序的汇编、运行环境。 二实验内容1掌握常用的编辑工具软件(如WORD、EDIT)、MASM和LINK的使用;2伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP;3利用的INT 21H的1号功能实现键盘输入的方法;三实验要求1仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容;2了解利用的INT 21H的1号功能实现键盘输入的方法,了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法;3阅读下面程序段。四实验环境PC微机DOS操作系统或 Windows 操作系统MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境五实验步骤1、按步骤完成下列程序的编译、连接、运行及调试等过程:datasegmentmessagedbThis is a sample program of keyboard and displaydb0dh,0ah,Please strike the key!,0dh,0ah,$dataendsstacksegmentpara stack stackdb50 dup(?)stackendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,axmovdx,offset messagemovah,9int21hagain:movah,1int21hcmpal,1bhjeexitcmpal,61hjcdisplaycmpal,7ahjadisplayandal,11011111bdisplay:movdl,almovah,2int21hjmpagainexit:movah,4chint21hcodeendsendstart实验步骤:1用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为ASM。2用MASM对源文件进行汇编,产生OBJ文件和LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。3用TYPE命令显示1产生的LST文件。4用LINK将OBJ文件连接成可执行的EXE文件。5在DOS状态下运行LINK产生的EXE文件。即在屏幕上显示标题并提示你按键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期结果,用DEBUG检查程序。6.将程序修改,使得用户键入除小写字母以外的其他字符(除ESC键),输出提示信息“Illegal character is striked,Please input again!” ,并要求重新输入。2.下面程序任务是完成查表求一个十以内整数的平方,程序有错误,请进行纠正并调试运行。DATA SEGMENT TABLE DB 0,1,4,9,16,25,36,49,64,81 HEX DW 5 ;待查的整数 RESULT DW ?DATA ENDSCD SEGMENT ASSUME CS:CODE, DS:DATSTART: MOV AX, DATA MOV DS, AX MOV BX, TABLE MOV AX, HEX ADD BX, AX MOV AX, BX MOV RESULT, AX MOV AH, 4CH INT 21HCD ENDS END START实验步骤1、 将该文件存成.asm文件,将其生成可执行文件。2、 编译该程序,找出错误。并纠正。3、 连接、运行看程序是否能得到正确结果。若不行,用Debug加载该可执行文件,单步调试,观察各寄存器变化及RESULT单元的值。找出问题。4、 重复汇编语言程序的上机过程,使程序能正确得到结果。5、 修改源程序,选用换码指令XLAT完成本程序相同的功能。补充此程序的输入和输出功能。使得程序能任意输入数据,平方值也能以十进制显示在屏幕上。date segment table db 0,1,4,9,16,25,36,49,64,81 hex dw ? result dw ? message db 0dh,0ah,Error! db 0dh,0ah,$date endscode segment assume cs:code,ds:datestart: mov ax,date mov ds,ax mov ah,01 int 21h push ax mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h pop ax cmp al,39h ja down cmp al,30h jb down sub ah,01 sub al,30h lea bx,table xlat mov bx,spstep1: mov dx,0 mov cx,10 div cx push dx cmp ax,0 ja step1step2: pop ax add ax,30h mov dl,al mov ah,02h int 21h cmp sp,bx ja step2 jmp exitdown: lea dx,message mov ah,09 int 21hexit: mov ah,4ch int 21hcode ends end start 六实验报告要求汇编,连接及调试时产生的错误,其原因及解决办法,要求你修改的程序的清单(修改后)和调试记录;各实验中的关键数据截图。七简答题1若在源程序中把INT 21H的H省去,会产生什么现象?程序中的一些指令变成无效的,dos系统要求终止程序2

温馨提示

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

评论

0/150

提交评论