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软件使用教程及上机实验问题

【精品】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的使用方法汇编语言程序设计最终版

实验一 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使用方法)

汇编语言程序设计实验内容(川大微机原理实验资料和内容以及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使用方法)

汇编语言程序设计实验内容(川大微机原理实验资料和内容以及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]:询问是否要建立交叉索引文件。

若不建立,则直接回车;若要建立,可以输入文件名。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5、输入源程序后保存,摁ALT+F键,就出现 选择“Exit”
退出编辑窗口
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]
相关文档
最新文档