汇编语言 实验2

汇编语言 实验2

ID:35997169

大小:106.02 KB

页数:7页

时间:2019-04-29

汇编语言 实验2_第1页
汇编语言 实验2_第2页
汇编语言 实验2_第3页
汇编语言 实验2_第4页
汇编语言 实验2_第5页
资源描述:

《汇编语言 实验2》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、汇编语言程序设计实验二MASM汇编器使用学号:姓名:1.使用MASM为DOS和Windows编程:a)DOS中运行的程序:先输入程序,.386.modelflat,stdcalloptioncasemap:noneincludemasm32includewindows.incincludemasm32includekernel32.incincludemasm32includemasm32.incincludelibmasm32libkernel32.libincludelibmasm32libmasm32.lib.dataHelloWorlddb"HelloW

2、orld!",0.codestart:invokeStdOut,addrHelloWorldinvokeExitProcess,0endstart再打开DOS命令提示符界面,输入“masm32binml/c/Zd/coffhello.asm”在没错误情况下,可以连接文件,输入“masm32binLink/SUBSYSTEM:CONSOLEhello.obj“,在工作目录中会产生可运行文件Hello.exe,运行并记录运行结果。b)Windows中运行的程序:先修改程序,.386.modelflat,stdcalloptioncasemap:noneincludemasm32i

3、ncludewindows.incincludemasm32includekernel32.incincludemasm32includeuser32.incincludelibmasm32libkernel32.libincludelibmasm32libuser32.lib.dataHelloWorlddb"HelloWorld!",0.codestart:invokeMessageBox,NULL,addrHelloWorld,addrHelloWorld,MB_OKinvokeExitProcess,0endstart用命令“masm32binml/c

4、/Zd/coffhellow.asm”编译程序,再用命令“masm32binLink/SUBSYSTEM:WINDOWShellow.obj”连接程序,运行并记录运行结果。1.使用Debug调试编辑执行汇编代码的步骤:a)使用文本编辑器(如:Notepad),编辑汇编程序,并将程序在工作子目录中,保存为以“.asm”为后缀的文件中。b)打开DOS命令提示符界面,在工作子目录下输入“ml.asm”命令,产生“.exe”可执行文件。注意,过程中“.obj”文件也会产生,如果汇编程序中有过多出错指令,“.exe”文件就不会产生。c)使用“debut.e

5、xe”执行并debug程序。2.程序模板:DATA_HERESEGMENTDATA_ADW1DUP(0);在数据段中预留位置DATA_BDW1DUP(0);预留另一个位置;预留位置的初始值都是0HDATA_HEREENDSSTACK_HERESEGMENTSTACKDW100DUP(0);内存中堆栈位置TOP_STACKLABELWORD;栈顶位置命名STACK_HEREENDSCODE_HERESEGMENTASSUMECS:CODE_HERE,DS:DATA_HERE,SS:STACK_HERESTART:MOVAX,DATA_HEREMOVDS,AX;DS寄存器初始化MOVAX,STA

6、CK_HEREMOVSS,AX;SS寄存器初始化MOVSP,OFFSETTOP_STACK;初始化堆栈指针;;在此顺序输入程序指令;INT3H;断点CODE_HEREENDSENDSTART1.解析Intelx86指令:a)将模板程序复制为part_a.asmb)将表1中的代码复制到程序中c)生成“part_a.exe”并debug这个程序d)使用“-u”分解程序e)填表解释每条指令f)回答问题:i.将表格1空白处填满ii.一些指令不包括ModR/M字节,指出这些指令iii.解释段覆盖前缀字节,解释为什么指令MOVDS:[DI+0203H]中,BX不需要前缀字节,而指令MOVDS:[BP+2

7、H]中,DX需要前缀字节?表格1指令段覆盖前缀字节(HEX)操作码(OP)ModRegr/m位移量字节数ADDAX,BXADCBX,ES:[SI]TESTAX,0305HMOVDS:[BP+2h],DXMOVDS:[DI+0203H],BXANDAL,CHORAH,03HROLAX,CLJMPFINISH(JMP跳向程序最后一条指令)5.使用汇编语言程序解方程是一件不容易的事情。一般使用计算机来求解,都是编写

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

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

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