汇编实验报告 实验一 汇编程序的汇编及运行.doc

汇编实验报告 实验一 汇编程序的汇编及运行.doc

ID:53264040

大小:886.50 KB

页数:47页

时间:2020-04-02

汇编实验报告 实验一  汇编程序的汇编及运行.doc_第1页
汇编实验报告 实验一  汇编程序的汇编及运行.doc_第2页
汇编实验报告 实验一  汇编程序的汇编及运行.doc_第3页
汇编实验报告 实验一  汇编程序的汇编及运行.doc_第4页
汇编实验报告 实验一  汇编程序的汇编及运行.doc_第5页
资源描述:

《汇编实验报告 实验一 汇编程序的汇编及运行.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一汇编程序的汇编及运行1.实验目的和要求(1)熟悉汇编程序的汇编、连接、执行过程(2)生成LST文件,查看LST文件(3)生成OBJ文件,修改语法错误(4)生成EXE文件(5)执行2.实验环境IBM—PC机及其兼容机实验的软件环境是:操作系统:DOS2.0以上;调试程序:DEBUG.COM;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM.EXE);连接装配程序:LINK.EXE;交叉引用程序:CREF.EXE(可有可无)。3.实验内容及实验数据记录(1)将数据段输入,取名1.txt,保存在MASM文件夹下。生成LST文件,(不必

2、连接、运行)用EDIT查看1.LST文件。试回答:DA1,DA2的偏移量分别是多少?COUNT的值为多少?DATASEGMENTORG20HNUM1=8NUM2=NUM1+10HDA1DB‘IBMPC’DA2DB0AH,0DHCOUNTEQU$-DA1DATAENDSEND(2)输入有错误的文件,修改错误语句。(MASM没有出现错误即可。不必连接、运行。)DATASEGMENTVAR1DB0,25,ODH,300VAR2DB12H,A4H,6BHVAR3DB’ABCDEF’VAR4DW1234H,5678HVAR5DW10HDUP(?)DATAENDSCODESEGMEN

3、TASSUMECS:CODE,DE:DATABEINGMOVAX,DATAMOVDS,AXLEASI,VAR5MOVBX,OFFSETVAR2MOV[SI],0ABHMOVAX,VAR1+2MOV[BX],[SI]MOVVAR5+4,VAR4MOVAH,4CHINT21HCODEENDSENDSTART(3)输入正确的程序,汇编、连接、运行STACKSSEGMENTSTACKDW128DUP(?)STACKSENDSDATASSEGMENTSTRINGDB‘WELCOME!’,13,10,‘$’DATASENDSCODESSEGMENTASSUMECS:CODES,DS:

4、DATASSTART:MOVAX,DATASMOVDS,AXLEADX,STRINGMOVAH,9INT21HMOVAH,4CHINT21HCODESENDSENDSTART1.算法描述及实验步骤1.(1)生成1.st文件(2)用EDIT查看文件2.修改后正确算法:DATASEGMENT VAR1DB0,25,0DH,30 VAR2DB12H,0A4H,6BH VAR3DB'ABCDEF' VAR4DW1234H,5678H VAR5DW10HDUP(?) DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATA BEING:MOVAX,DAT

5、A MOVDS,AX LEASI,VAR5 MOVBX,OFFSETVAR2 MOVbyteptr[SI],0ABH MOVAL,VAR1+2 MOVAX,[SI] MOV[BX],AX MOVAX,VAR4 MOVVAR5+4,AX MOVAH,4CH INT21H CODEENDS ENDBEING5.调试过程1.程序没有错误,结果:2.程序运行出现错误:问题及改正:(1).2.asm(2):errorA2009:Symbolnotdefined:ODH表示没有定义ODH;出错语句VAR1DB0,25,ODH,300,这里的ODH应该为16进制数的0DH。修改后仍提示

6、错误,因为300越界,可改为30。(2).2.asm(3):errorA2009:Symbolnotdefined:A4H没有定义A4H这个变量 出错语句“VAR2DB12H,A4H,6BH”16进制中字母开头的16进制数开头必须加上“0”,所以必须在A4H之前加0.,将其改为0A4H。(3).2.asm(9):errorA2009:Symbolnotdefined:DS是存储代码段的,所以将DE改为DS。(4).2.ASM(10):errorA2105:Expected:instructionordirective;问题:这是符号的漏写了,语句“BEINGMOVAX,D

7、AT”中BEING后面漏了“:”,所以应加上“:”。(5).2.asm(14):errorA2035:Operandmusthavesize没有指明大小 出错语句“MOV[SI],0ABH”立即数存入内存中,必须指明大小;所以必须在[SI]前加入byteptr改为“MOVbyteptr[SI],0ABH” (6).2.asm(15):errorA2068:Cannotaddresswithsegmentregister 出错语句“MOVAX,VAR1+2”VAR1的地址+2后只占8位空间,而AX寄存器为16位,所以位数不匹配,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。