MASM615汇编语言实验步骤
汇编上机汇编语言步骤
汇编上机汇编语言步骤汇编语言是一种底层的计算机语言,用于将人类可读的指令转换为机器可执行的指令。
它在计算机体系结构和操作系统的开发以及底层编程中起着重要作用。
本文将介绍汇编语言的上机实践步骤,帮助读者更好地理解和应用汇编语言。
I. 准备工作在进行汇编语言编程之前,需要做一些准备工作。
1. 硬件环境准备确保计算机硬件环境能够支持汇编语言编程。
通常,需要一台计算机和合适的开发环境,例如Masm、NASM等。
2. 软件环境准备根据个人喜好和需求,选择合适的开发环境和工具。
例如,可以使用文本编辑器编写源代码,并使用汇编器将其汇编为机器码。
同时,还需要安装调试工具,用于调试和测试编写的程序。
3. 学习资料准备在开始上机实践之前,建议阅读相关的汇编语言教材、文档或参考书籍,了解基本的汇编语言概念和语法规则。
这将有助于更好地理解和应用汇编语言。
II. 编写汇编程序一旦准备工作完成,我们可以开始编写汇编程序了。
以下是编写汇编程序的一般步骤。
1. 分析问题和设计首先,明确问题的需求和目标。
然后,设计程序的逻辑结构,确定需要使用的指令和算法。
2. 编写源代码使用选择的文本编辑器编写源代码。
按照汇编语言的语法规则,逐行编写汇编指令,并添加必要的注释和标签。
3. 汇编程序保存源代码文件,并使用汇编器将源代码转换为机器码。
这一步骤会生成可执行文件,即汇编程序。
4. 运行和调试运行汇编程序,并使用调试工具进行调试。
通过逐步执行代码、监视变量和寄存器的值,可以定位和解决程序中的错误。
III. 优化和扩展完成基本的汇编程序后,可以考虑进行优化和扩展,以提高程序的性能和功能。
1. 代码优化优化汇编程序,使其更高效、更可靠。
可以通过减少指令数量、减少内存访问、使用更有效的算法等方式进行优化。
2. 功能扩展根据需求,添加新的功能或功能模块。
这可能包括输入输出处理、文件操作、图形界面等。
IV. 运行和测试完成优化和扩展后,进行运行和测试。
汇编语言程序设计实验报告
汇编语言程序设计实验报告汇编语言程序设计实验报告引言:汇编语言是计算机中最基本的语言,通常用于处理硬件相关问题。
在这个实验中,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。
以下是我们的实验报告。
正文:1. 实验环境我们使用的实验环境是Intel 8086微处理器与高级汇编语言。
微处理器使用的是PCB-512主板,而高级汇编语言是MASM。
2. 实验目的我们的实验目的主要是学习汇编语言的基础知识和编程技巧,包括了汇编语言的寄存器、指令、内存管理等方面的知识。
我们的另一个目的是掌握汇编语言的常用编程技巧,能够独立完成一些简单的汇编程序。
3. 实验内容我们的实验内容主要包括以下几点:(1)学习汇编语言的基础知识,包括寄存器、指令、内存管理等方面的知识。
(2)掌握汇编语言的常用编程技巧,包括数据输入输出、运算、跳转等基本操作。
(3)实践用汇编语言编写程序,如计算器、菜单等实用程序。
(4)了解8086微处理器的结构和原理。
4. 实验过程在这个实验过程中,我们完成了以下几个程序:(1)计算器计算器是一个简单的程序,主要用于实现两个数之间的加、减、乘、除等基本运算。
我们通过输入输出指令、存储指令等指令实现了这个程序的功能。
(2)菜单菜单是一个实用程序,主要用于展示一个简单的菜单并实现用户选择相关功能的功能。
我们使用了汇编语言中的跳转指令、输入输出指令等实现了这个程序。
5. 实验结果在我们的实验中,我们成功完成了上述两个程序。
我们通过输入输出指令、存储指令等指令实现了这个程序的功能。
6. 实验总结在这个实验过程中,我们学习汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。
我们通过编写计算器和菜单等简单实用程序,加深了对汇编语言的理解和认识。
我们认为这个实验对我们今后的学习和工作都有很大的帮助。
结论:通过这个实验,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。
实验一掌握汇编步骤.文档
实验一一、掌握设置汇编语言程序的编译环境二、掌握常用的DOS命令三、掌握汇编程序的编译四、掌握汇编程序的调试一、掌握设置汇编语言程序的编译环境1、下载微软公司的汇编语言编译软件masm5 。
把此软件拷贝到D盘根目录下2、设置环境变量,此作用是让Dos可以直接调用masm5软件包里面的所有命令1)我的电脑--》属性--》高级--》环境变量--》系统变量的path值--》在最后面加上;D:\masm52)开始--》运行--》输入cmd 就进入DOS窗口了--》打入masm命令正确的会出现:microsoft macro assembler version 5.00错误的会出现:'masm' is not recognized ....或masm不是内部或外部命令二、掌握常用的DOS命令1、切换盘符命令,如C盘转去D盘,直接在后面打D:2、列出所在目录下所有文件和文件夹命令dir3、进入下一级目录,比如进入“123”文件夹cd 123退出到上一级目录cd..课堂练习:在Dos窗口里面,进入D盘的masm5文件夹,把里面的所有文件列出来。
三、掌握汇编程序的编译准备工作:1)在D盘建立英文名的文件夹"shiyan1"。
2)开始--》运行--》cmd 进入DOS界面。
3) 在Dos界面进入"shiyan1"文件夹1)cd.. 2)cd.. 3)d: 4)cd shiyan1 。
1. 编辑源程序edit 1.asm ; 在对应文件夹生成1.asm源程序文件2. 对源程序编译masm 1.asm ;在对应文件夹生成1.obj目标文件(注:masm汇编是检查语法的过程,会在dos窗口给出编译的信息,正常是0个warning 和error。
错误会给出错在第几行)3. 对目标文件链接link 1.obj ;在对应文件夹生成1.exe可执行文件四、掌握汇编程序的调试1. debug 1.exe ;对1.exe调进内存进行调试2. r命令显示寄存器t命令单步执行,并显示寄存器等内容g命令把整个程序运行完毕d命令显示内存1)显示代码段d cs:0 8 (2)显示数据段d ds:0 10q命令退出调试u命令反汇编。
【精品】Masm软件使用教程及上机实验问题
上机实验问题
上机实验问题
• 什么是有效地址?
有效地址EA是一16位无符号数,表示操作数所在单 元到段首的距离即逻辑地址的偏移地址。 当操作数是存放在存储器中时,存储器的存储单元 的物理地址有两部分组成。一部分是偏移地址;一 部分是段地址。在8086/8088的各种寻址方式中,寻 找存储单元所需的偏移地址可由各种成分组成,称 为有效地址,用EA表示。可以通过存储器寻址方式 获得有效地址。
调试程序
在Masm for Windows中集成CV(全称CodeView)与DEGUB两种调试工具,默认为用CV调 试程序。 (1)用CV调试 先单击“运行”按钮生成EXE文件,再单击“调试”按钮。下图是调试求 3+5的汇编程序,当连续按F10或连续在命令窗口输入P或t命令执行到ADD AL,03时,可 以看到AL的值为8。
调试程序
(2)用DEBUG调试 ① 依次单击“工具/选项”出现图8的界面,选中“DEBUG 调试”,再单击确定。
调试程序
② 先单击“运行”按钮生成EXE文件,再单击“调试”按钮。 说明:图中是调试求3+5的汇编程序,当连续输入P命令执行到ADD AL,03时,可 以看到AL的值为8。
在线帮助
当编写程序时,有可能忘记某个指令的用法,只要用鼠标点击关键字,按右键在 弹出的菜单上选实时帮助(或按F2)即可获得该指令的帮助。
MOV BX,OFFSET BLOCK MOV SI,(6-1)*2 MOV DX,[BX] [SI]; 操作数的有效地址是基址和变址之和
上机实验问题
• P108 E3.11习题解答
该程序AX中存的内容就是偏移TABLE数组3个的地址内容
修改程序语法错误
提示: 汇编程序的语法错误信息的形式: 文件名 行号 错误编号 错误内容 ↓ ↓ ↓ ↓ E:\汇编程序\helloworld.asm(9):Error A2008:Syntax error:CODES 小技巧: 一条语句错误可能会产生若干条错误信息,该例就是因为第9行SEGMENT多输入 一个S,导致很多错误,只要在第9行SEGMENTS改为SEGMENT即可调试通过。 特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试 程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很 多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。
Masm6.11的使用方法汇编语言程序设计最终版
实验一 Masm6.11的使用方法一、实验目的1、创建一个新的汇编语言程序,熟练掌握汇编语言开发工具的使用方法,并对开发环境中一些坏境变量进行设置。
2、创建一个工程文件,对该工程文件进行编译,连接,并运行;3、对建立的工程文件进行调试,在运行过程中查看各个寄存器的值,内存单元的值等。
二、实验环境该试验包括的硬件和软件条件如下:1、硬件环境(1)Intel Core Duo CPU P8700(2)内存4G2、软件环境(1)Window XP Professor(2)MASM6.11开发软件三、实验步骤1、将Masm6.11安装程序拷贝到D盘根目录下,并执行d:\Masm611目录下Setup.exe文件,按照安装提示将程序安装到C盘根目录。
2、将C:\masm611\Bin目录下的所有文件拷贝到C:\Masm611\binr目录下,将C:\Masm611\help目录下的所有文件拷贝到c:\Masm61\binr目录下。
3、执行C:\Masm611\Binr目录下的pwb.exe文件,打开开发环境。
4、在PWB编辑窗口中输入实验1.1中的程序,并保存为test.asm文件。
5、执行Project菜单下New Project子菜单创建一个新的工程文件,并命名为test.mak,将test.asm文件加入到该工程文件中。
6、执行Project下Build子菜单编译连接该工程文件,并运行该可执行程序,观察程序执行的结果。
7、执行Run菜单下Debug子菜单,进入调试环境。
8、在程序的如下位置设置断点,并按要求观察寄存器堆栈或者内存单元的值。
Data segmentMsgl db "please input the number of student:$"Num db 0EnMsg db 0ah,0dh,'$'Msg2 db "please input the grade of each student:$"Msg3 db "the average grade of these student is:$"avg db 0ascavg db 0,0,'$'Data endsStack segment para stackdb 20h dup(0)Stack endscode segmentAssume Cs:code,Ss:stack,ds:DataStart: mov ax,datamov ds,axlea dx,Msgl ;1此行设置断点,观察DS所指示的数据段的情况mov ah, 09hint 21hCall Numproc ;2此行设置断点,观察屏幕输出,并观察堆栈的变化mov num,bl ;3此行设置断点,观察bl的值,并观察堆栈的变化lea dx,EnMsgmov ah,09hint 21hlea dx,Msg2mov ah,09hint 21hcall Avgproc ;4此行设置断点,观察屏幕输出信息lea dx,EnMsg ;5此行设置断点,观察avg所对应的存储单元的值mov ah,09hint 21hlea dx, Msg3mov ah,09hint 21hcall bta ;6此行设置断点,观察屏幕输出信息mov ah,4ch ;7此行设置断点,观察ascavg所对应的存储单元的值及屏幕输出信息int 21hNumproc procpush axpush cxpush dxlea dx,EnMsgmov ah,09hint 21hmov bl,0lop1: mov ah,01hint 21h ;8设置断点观察al寄存器的值cmp al,0dhjz lop2cmp al,'0'jl lop1cmp al, '9'ja lop1sub al,30hmov cl,almov al,blmov ch,10mul chmov bl,al ;9设置断点观察al寄存器的值add bl,cl ;10设置断点观察bl寄存器的值jmp lop1lop2: pop dxpop cxpop axretNumproc endpAvgproc procpush axpush cxxor dx,dx ;11设置断点观察堆栈值的变化mov cl,num ;12设置断点观察cl寄存器的值lop3: call Numprocxor ax,axmov al,bladd ax,dxDiv numadd avg,al ;13设置断点观察avg存储单元的值xor dx,dxmov dl,ahsub cl,1jnz lop3pop ax ;14设置断点观察avg存储单元的值pop cxret ;15设置断点观察堆栈值的变化Avgproc endpbta procpush ax ;16设置断点观察堆栈值的变化push bxxor ax,axmov al,avgmov bl,10div bladd ah,30h ;17设置断点观察ax寄存器的值add al,30hmov ascavg ,al ;18设置断点观察ascavg存储单元的值mov ascavg+1,ahlea dx,EnMsgmov ah,09hint 21hlea dx,ascavg ;19设置断点观察dx寄存器的值mov ah,09hint 21hpop bxpop axretbta endpcode endsend start9、按照程序的执行过程绘制出程序流程图。
汇编语言程序设计实验内容(川大微机原理实验资料和内容以及MASM使用方法)
第一部分汇编语言程序设计实验一熟悉、使用DEBUG调试工具一.上机目的:1.了解并逐步熟悉汇编语言的编辑方法及特点.2.复习8088汇编语言的段结构、常用的指令与伪指令、存储空间的分配等。
3.掌握汇编语言的编辑、汇编及连接的过程。
4.了解并逐步掌握运用DEBUG进行调试汇编语言程序。
二.实验内容:1.运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。
2.运用MASM﹒EXE文件进行汇编,修改发现的各种语法错误,直至正确,形成*.OBJ 文件。
3.运用LINK.EXE文件进行连接,形成*.EXE文件。
4.仔细阅读附录中的DEBUG部分,掌握各种命令的所有方法。
5.运用DEBUG。
EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。
6.再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG 的设置断点,单步执行等功能发现错误所在并加以改正。
程序清单:多字节非压缩型BCD数除法(88754/6=14792)DA TA SEGMENTA DB 8,8,7,5,4B DB 6C DB 5DUP (0)N EQU 5DA TA ENDSCODE SEGMENTASSUME CS:CODE;DS:DATA;ES:DATA,START MOV AX,DA TAMOV DS,AXMOV ES,AXCLDLEA SI,ALEB DI,CMOV CX,NMOV AH,0LP1:LODSBAADDIV BSTOSBLOOP LP1MOV CX,NLEA DI,CLP2:MOV DL,[DI]MOV AH,2INT 21HDEC DILOOP LP2MOV AH,4CHINT 21HCODE: ENDSEND START实验二设计汇编语言程序一.8088提供了一套字符串处理指令,这些指令的特点是:在使用前必须先在指定的寄存器中存入源字符串和目的字符串的首地址及相关字符数,在处理过程中还可以使用REP重复操作前缀。
汇编语言程序设计实验内容(川大微机原理实验资料和内容以及MASM使用方法)
第一部分汇编语言程序设计实验一熟悉、使用DEBUG调试工具一.上机目的:1.了解并逐步熟悉汇编语言的编辑方法及特点.2.复习8088汇编语言的段结构、常用的指令与伪指令、存储空间的分配等。
3.掌握汇编语言的编辑、汇编及连接的过程。
4.了解并逐步掌握运用DEBUG进行调试汇编语言程序。
二.实验内容:1.运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。
2.运用MASM﹒EXE文件进行汇编,修改发现的各种语法错误,直至正确,形成*.OBJ 文件。
3.运用LINK.EXE文件进行连接,形成*.EXE文件。
4.仔细阅读附录中的DEBUG部分,掌握各种命令的所有方法。
5.运用DEBUG。
EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。
6.再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG 的设置断点,单步执行等功能发现错误所在并加以改正。
程序清单:多字节非压缩型BCD数除法(88754/6=14792)DA TA SEGMENTA DB 8,8,7,5,4B DB 6C DB 5DUP (0)N EQU 5DA TA ENDSCODE SEGMENTASSUME CS:CODE;DS:DATA;ES:DATA,START MOV AX,DA TAMOV DS,AXMOV ES,AXCLDLEA SI,ALEB DI,CMOV CX,NMOV AH,0LP1:LODSBAADDIV BSTOSBLOOP LP1MOV CX,NLEA DI,CLP2:MOV DL,[DI]MOV AH,2INT 21HDEC DILOOP LP2MOV AH,4CHINT 21HCODE: ENDSEND START实验二设计汇编语言程序一.8088提供了一套字符串处理指令,这些指令的特点是:在使用前必须先在指定的寄存器中存入源字符串和目的字符串的首地址及相关字符数,在处理过程中还可以使用REP重复操作前缀。
汇编语言程序设计的实验环境及实验步骤
汇编语言程序设计的实验环境及实验步骤1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行:(1) 编辑源程序(生成.ASM文件)(2) 汇编源程序(.ASM → .OBJ)(3) 连接目标程序(.OBJ → .EXE )(4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件)(5) 运行程序输出结果。
2、Windows环境下的汇编语言集成编程环境的使用实验一 DOS环境下的汇编语言编程环境使用(基础与验证型)实验要求和目的1、掌握汇编语言程序设计的基本方法和技能;2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;3、熟练掌握宏汇编程序MASM的使用;4、熟练掌握连接程序LINK的使用。
实验涉及的主要知识单元1、编辑源程序例如,编写程序,可以在DOS模式下用编辑程序edit.exe建立汇编语言源程序文件Hello.asm,注意文件名的扩展名必须是.asm。
也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“cmd”进入DOS模式,运行edit软件,例如:C:> edit hello.asm2、汇编语言源程序的汇编过程汇编程序调入后,首先显示版本号,然后出现三个提示行。
第一个提示行为:Object filename [HELLO.OBJ]:询问目标程序文件名,方括号内为机器规定的默认的文件名,通常直接按回车键,表示采用默认的文件名(如上所示)。
第二个提示行为:Source listing [NUL.LST]:询问是否建立列表文件。
若不建立,直接回车;若要建立,可以输入文件名hello再回车。
列表文件中同时列出源程序和机器语言程序清单,并给出符号表,有利于程序调试。
第三个提示行为:Cross-reference [NUL.CRF]:询问是否要建立交叉索引文件。
若不建立,则直接回车;若要建立,可以输入文件名。
汇编语言的上机过程(基于MASM 6.15)
(上机第一步)EDIT,是编辑程序,像一个文本编辑器,用来编辑汇编语言源程序,编辑好的程序扩展名为*.asm;(第二步)MASM,是汇编程序,用来把*.asm程序编译成二进制代码,该二进制代码文件称为目标程序,扩展名为*.obj;(第三步)LINK,是链接程序,用来把*.obj文件变成可执行目标代码,即可执行文件*.exe;在第二步和第三步中,可以发现程序语法上的错误;(第四步)DEBUG是调试工具,用于发现程序逻辑上的错误。
汇编语言的上机过程(基于MASM 6.15)汇编语言的一般上机过程:1.建立ASM文件 2.产生OBJ文件 3.产生EXE 文件4.程序的调试和执行MASM 6.15包含文件:***************************************************M ASM.EXE 汇编器E DOS下的文本编辑器E DIT.HLP EDIT帮助文件L IB.EXE 过程库管理程序L INK.EXE 连接器D OSXNT.EXEm l.err 汇编的错误信息文件m l.exe(masm and link)汇编连接器***************************************************D EBUG.EXE 调试器(一般是系统自带)***************************************************对于MASM 6.10以下的版本,汇编器和连接器是分开的,分别是MASM.EXE 和LINK.EXE,使用时要先用MASM.EXE生成.OBJ文件,再使用LINK.EXE生成.EXE文件。
ml.exe把MASM.EXE和LINK.EXE整合到一起,可以一步生成.EXE 文件。
ml命令有许多参数,可以使用ml /?命令查看。
下面介绍几个低级实用的参数:/AT Enable tiny model (.COM file)/c Assemble without linking 只汇编不连接/Fe<file> Name executable 指定.EXE文件名/Fl[file] Generate listing 生成列表文件(.LST)/Fm[file] Generate map 生成映像文件(.MAP)/Fo<file> Name object file 指定.OBJ文件名/I<name> Add include path 指定include文件的路径名两种开发环境:1.32位Windows控制台(CMD.EXE)①解压缩MASM6.15.ZIP到D:\②开始-程序-附件-命令提示符-右键-发送到桌面快捷方式③修改桌面命令提示符属性:目标:%SystemRoot%\system32\cmd.exe起始位置:D:\MASM④双击命令提示符图标即可进入基于32位Windows控制台下的汇编程序环境。
宏汇编(MASN)及汇编语言上机过程实验报告
佛山科学技术学院实验报告课程名称汇编语言程序设计实验项目实验一宏汇编(MASN)及汇编语言上机过程专业班级 13 网络工程班姓名学号指导教师杨定安成绩日期2015.10. 25一、实验目的1.通过实验了解和熟悉微机系统的配置。
2.学习在DEBUG状态下输入汇编源程序的方法。
3.初步掌握调试(在DEBUG状态下)的过程。
二、实验原理1. 本实验要求在DEBUG状态下输入汇编源程序,并用DEBUG命令进行调试。
用单步跟踪的方法验证指令的功能。
2. 以下是给定的参考程序,并在实验时在每条指令的“;”符号右边按要求填写指令的执行结果。
注:⑴微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数,在输入时数的后面不加后缀“H”;⑵在DEBUG状态下执行程序时,“INT 20H”指令可使系统执行完该指令前的程序时返回到“-”提示符状态,并且恢复CS和IP寄存器原来的值。
三、实验仪器微机一台,U盘一块。
四、实验步骤1.开机和关机操作顺序开机:先打开微机外部设备电源开关,如显示器,最后打开主机电源开关。
关机:与开机相反,先关掉主机电源开关,然后关闭所有外设的电源开关。
2. 装入DEBUG程序若计算机系统启动正常,可以进入MASM文件夹或MASM5文件夹从磁盘上调用DEBUG,程序到内存。
如是WINDOWS环境下,先运行CMD命令,然后运行CD MASM命令,再运行DEB2000命令。
一般C盘上装有DEBUG和DEB2000软件,若没有,可以用复制命令从其它盘拷贝过来,然后从装有DEBUG 和DEB2000软件的磁盘上调用DEBUG和DEB2000软件程序。
例如:C :\MASM> DEB2000↙(↙回车符)-(-DEBUG 提示符)当显示器出现提示符“-”时,说明已进入DEBUG状态,这时,可用DEBUG命令进行操作。
4. 用DEBUG的Register命令检查所有寄存器内容,并作记录,主要是R命令5. 用DEBUG的Assemble命令输入汇编源程序。
使用MASM运行第一个汇编程序全过程
初次使用MASM编译器编写汇编程序的完整过程1.运行 cmd 命令2.输入edit3.进入汇编源码编辑框4.在源码输入框中输入汇编源码并将源程序保存,并拷贝到MASM和LINKER所在的盘符或文件夹下5.在 Dos 环境下进入到 MASM 5.0 汇编编译器所在的目录6.然后运行 masm.exe可以从上面的截图中看到 [. ASM] 的标记,这个标记代表的是需要在这里输入要编译的源程序文件名,这里有一点特别的是,由于默认的文件扩展名为 .asm ,所以在编译 .asm 的汇编源程序时可以不用指定源程序所在文件的扩展名。
7.我们将一开始编辑好的汇编源程序所在的文件输入以进行编译(1)此时可以看到编译器提示需要输入要编译出的目标文件的名称,由于在一开始已经指定了 js.asm,所以编译器自动指定了目标文件的名称为 js. obj 的名称,如果在这里不做修改的话,则编译器会以默认目标文件名称 js. obj 进行输出,在这里我并不改变名称,所以直接按 Enter 键即可;(2)提示需要输入列表文件的名称,其实是完全可以不要让编译器生成这个 LST 文件的,所以也不需要进行输入,直接按 Enter 键即可;(3)提示需要输入交叉引用文件的名称,这里也完全可以不要让编译器生成这个 CRF 文件,所以也不需要进行输入,直接按 Enter 键即可。
至此,汇编源程序编译成功编译得到的结果就是在我的 D:\ 目录下生成了一个 JS.obj 文件8.下面就是要实现对目标文件的连接经过编译操作后,我们得到了一个 .obj 的目标文件,但很显然,这还并不是一个可执行文件,下面就需要对目标文件进行连接,从而得到一个可执行文件。
一般来说,需要准备一个连接器,这里我使用的是微软提供的 Linker 连接器,即LINK.EXE。
9.进入 LINK.EXE 文件所在目录,直接运行 LINK.EXE此时提示需要输入被连接的目标文件的名称,这里也就是JS.obj ,由于我的 JS.obj 和 Link.exe 在同一目录下,所以不需要指定路径,直接给出.obj的名称即可,按Enter 键。
微机原理汇编实验-汇编语言程序上机操作方法实验
学生实验报告实验课程名称:微机原理汇编实验开课实验室:年月日年级、专业、班学号姓名成绩实验项目名称汇编语言程序上机操作方法实验指导教师教师评语一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,为后继课程打下坚实的基础。
二、实验原理使用MASM汇编语言设计工具,设计简单的汇编语言程序并进行运行调试,以便掌握汇编语言设计、编写、调试和运行程序的方法。
三、实验仪器、材料1.软件MASM5.02.PC微机一台四、实验步骤1.建立asm文件在windows系统环境下,应用写字板或其它文字编辑软件编写汇编语言源文件。
注意保存的源文件以asm为后缀。
2.用汇编程序MASM对源文件汇编产生目标程序.OBJ。
3.用连接程序LINK产生可执行文件.EXE。
4.执行程序。
5.程序调试五、实验源代码;------------------------------------------------- ;程序名:Lab101;功能:把NUM数组中的最大值取出并显示输出;-------------------------------------------------DATA SEGMENTNUM DB 12,52,36,14,25,32,14,126 COUNT EQU ($-NUM)DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX,COUNT ;初始化循环次数MOV SI,OFFSET NUMMOV AL,[SI]MOV DL,ALINC SIAGAIN:MOV AL,[SI]INC SICMP DL,ALJL SWAPLOOP AGAINJMP FINISHSWAP:MOV DL,ALLOOP AGAINJMP FINISH;--------------------------------;子程序名:TRANNUM;功能:将数字转换为字符串;入口参数:AL;出口参数:无;--------------------------------TRANNUM PROC NEARMOV AL,DLXOR AH,AHMOV CX,3MOV DL,10TRAN1:DIV DLXCHG AH,ALADD AL,'0'PUSH AXXCHG AH,ALMOV AH,0LOOP TRAN1MOV CX,3TRAN2:POP DXCALL DISPLAYLOOP TRAN2RETTRANNUM ENDP;--------------------------------;子程序名:DISPLAY;功能:将单个字符显示输出;入口参数:DL;出口参数:无;--------------------------------DISPLAY PROC NEARMOV AH,02HINT 21HRETDISPLAY ENDPFINISH:CALL TRANNUMMOV AH,4CH ;程序结束返回DOSINT 21HMAIN ENDPCODE ENDSEND START六、实验过程原始记录(数据图表、计算等)1、打开命令提示符:输入cmd2、输入:cd G:/asm/tos3、输入:G:4、输入:masm lab1015、输入:link lab1016、输入:lab101七、实验结果分析从程序代码分析,所给数值中最大值为126,运行程序后输出结果为126,说明程序能够实现其功能。
汇编编译工具MASM6.11的使用实验报告
2)、用MASM命令对源文件进行汇编,产生.OBJ文件。若汇编时提示有错(注意,汇编程序只能指出程序的语法错误,而无法指出程序逻辑的错误。),用文字编辑工具修改源程序后重新汇编,直至通过。
3)、用LINK将.OBJ文件连接成可执行的.EXE文件。
4)、在DOS状态下运行LINK产生的.EXE文件。若未出现预期结果,用DEBUG检查程序。
Microsoft (R) MASM Compatibility Driver
Copyright (C) Microsoft Corp 1993. All rights reserved.
Invoking: ML.EXE /I./Zm /c hello.asm
Microsoft (R) Macro Assembler Version 6.11
熟悉汇编编译工具masm6.11的使用:学会使用MASM编译程序、学会使用LINK
连接程序。注意:应事先准备好示例程序。
编辑一个扩展文件名为ASM的汇编语言源程序。
用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件(扩展名为OBJ)。
用连接程序LINK或TLINK连接目标代码文件,形成可执行文件(扩展名为EXE)。
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
Assembling: hello.asm
D:\MASM611\BIN>link hello
Microsoft (R) Segmented Executable Linker Version5.31.009Jul 13 1992
实验数据和结果
Microsoft Windows XP [版本5.1.2600]
熟悉masm及编写简单的汇编程序
实验二熟悉masm及编写简单的汇编程序一、实验目的1.熟悉masm软件及简单汇编程序的编写。
二、利用masm编译软件检查标号的组成除英文和数字外,能否包含以下特殊字符:(1)编写程序新建一个文本文档,在下面写如下程序段code segmentassume cs:codebegin:mov ax,bxcode endsend begin修改标号begin,使其包含. —_ @ ? $ ,若能编译通过,则说明标号中可以包含盖特殊符号。
实验结果:上述符号能编译通过。
(2)编译及运行程序编译:进入dos命令提示符,开始——运行——输入cmd输入cd\使目录为:c:\>(或输入cd...返回上级目录最终回到c:\>)输入以下命令c:\>cd masm5 (进入masm5文件夹)C:\masm5>masm (运行masm程序)Source filename 【.asm】: 输入程序的路径Object filename 【.obj】:输入生成的目标文件的文件名(可不写,直接回车,默认与源文件名相同)再按俩次回车键,最后显示程序的相关信息及错误信息。
运行:回到根目录C:\masm5>输入以下命令C:\masm5>link 目标文件名再按三次回车键,生成可执行文件名回到根目录C:\masm5>可执行文件名(运行程序)生成后的目标文件即可执行文件在C:\masm5中(2)编写程序让屏幕显示某个指定储存区域的内容。
参考程序1:data1 segment;d1 db'30','$';data1 ends;stack1 segment para stack;dw 20 dup(0);stack1 ends;code segment;assume cs:code,ds:data1,ss:stack1;begin:mov ax,data1;mov ds,ax;lea dx,d1;mov ah,09h;int 21h;1 / 2mov ah,4ch;int 21h;code ends;end begin;程序运行结果:30参考程序2:code segmentassume cs:codebegin:mov bx,1000hmov word ptr[bx],3231hlea dx,[bx]add bx,2mov byte ptr[bx],'$'mov ah,09hint 21hmov ah,4chint 21hcode endsend begin程序运行结果:123.略实验总结:1.对课本内容相对不熟悉2.对试验参数不够了解,影响实验速度友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
汇编实验方法
1.汇编语言实验操作方法
一.实验的基本方法(MASM宏汇编子目录下)
1.在DEBUG下运行汇编指令或简单小程序
在DEBUG提示符下,用汇编命令a (如图1)输入汇编指令或简单小程序,用单步命令 t (如图2)或全程命令g(如图3) 来执行,并检查执行中间结果与最后结果。
图1:命令 a
图2:命令 t
图3:命令 g
2.标准汇编程序上机方法
A.建立ASM文件,用EDIT .COM全屏幕编辑文件或其他编辑文件建立扩展名为ASM (如图4)的源程序.
B.用MASM(或ASM)产生扩展名为 OBJ(如图5) 目标文件。
图4:
图5:
C.用LINK产生扩展名为EXE可执行文件。
D.在DEBUG下,把文件调入内存,调试程序。
E.在DOS下可直接执行扩展名为 EXE 的文件。
二.汇编语言的工作环境.
A.硬件环境
IBM-PC及其系列机
内存256K字节以上
外存:硬盘或至少一个软驱
CPU:80586以上
显示器:单色或彩色显示器
键盘:标准ASCII码键盘
B.软件环境
编缉程序:或其他编缉程序
汇编程序:MASM.EXE 或ASM.EXE
连接程序:LINK.EXE
调试程序: 或DEBUG.EXE。
汇编实验报告6
汇编实验报告6汇编实验报告6引言:汇编语言是一种底层编程语言,它直接操作计算机硬件,提供了对计算机底层资源的更精确控制。
在本次实验中,我们将继续学习和实践汇编语言的相关知识,探索其在计算机系统中的作用和应用。
一、实验目的本次实验旨在加深我们对汇编语言的理解,并通过实践进一步掌握汇编语言的基本概念、语法和应用。
具体目标如下:1. 掌握汇编语言的基本指令和寻址方式;2. 理解和实现简单的汇编程序;3. 学会使用调试工具调试汇编程序。
二、实验环境本次实验使用的环境为Windows操作系统和MASM汇编器。
在实验开始前,我们需要确保已经正确安装了MASM汇编器,并配置好了相关环境变量。
三、实验过程1. 编写程序本次实验我们将编写一个简单的汇编程序,实现两个数相加并输出结果的功能。
首先,我们需要使用文本编辑器打开一个新的文件,并保存为.asm格式。
接下来,我们将按照汇编语言的语法规则,逐步编写程序。
2. 汇编程序的结构一个标准的汇编程序由三个部分组成:数据段、代码段和堆栈段。
在数据段中,我们定义了需要使用的变量和常量;在代码段中,我们编写了实际的汇编指令;而堆栈段则用于存储程序执行过程中的临时数据。
3. 汇编指令的使用在本次实验中,我们将使用一些常见的汇编指令,如MOV、ADD、SUB等。
这些指令用于操作寄存器、内存和立即数,实现数据的传输、运算和比较等功能。
4. 调试程序编写完汇编程序后,我们需要使用调试工具对程序进行调试,以确保程序的正确性。
调试工具可以帮助我们逐条执行程序,并查看寄存器和内存的变化,从而找出程序中的错误。
四、实验结果与分析经过编写和调试,我们成功地实现了两个数相加并输出结果的功能。
我们可以通过调试工具查看程序执行过程中寄存器和内存的变化,以验证程序的正确性。
同时,我们还可以对程序进行性能分析,了解其在不同输入情况下的执行效率。
五、实验总结通过本次实验,我们深入学习了汇编语言的基本概念和应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
退出编辑窗口
6、输入masm example1.asm回车
程序通过编译了。
7、输入link example1.obj回车,回车,回车,回车,回车
8、输入debug example1.exe回车
再输入U(查看反汇编命令,debug的调试命令,还有其他的)
MS-DOS Debug Commands
assemble
A
[address]
compare
C
range address
dump
D
[range]
enter
E
address [list]
fill
F
range list
go
G
[=address] [addresses]
hex
H
value1 value2
input
汇编语言实验步骤简单提示
1、点击桌面“ ”,选择“运行”,输入“CMD”后回车如:
2、 (假设masm615放在 )
3、输入:cd masm615 (回车)
4、 进入到编辑源程序的状态,跟TC界面是一样的。
实际上编辑Intel汇编语言源程序*.asm,可以用的记事本,不过记得把文件的后缀名改成asm,尤其不能留记事本的文件后缀名txt。
I
port
load
L
[address] [drive] [firstsector] [number]
move
M
range address
name
N
[pathname] [arglist]
output
O
byte
proceed
P
[=address] [number]
quit
Q
register
R
[register]
search
S
range list
trace
T
[=address] [number]
unassemble
U
[range]
write
W
[address] [drive] [firstsector] [number]