实验一熟悉汇编语言上机环境.pdf

合集下载

实验1_认识汇编语言

实验1_认识汇编语言

实验一 认识汇编语言1.1 实验目的(1)理解汇编语言的概念及其与高级语言的区别(2)了解MASM6.11和TASM软件包的安装及配置(3)了解常用汇编语言集成环境(4)掌握汇编语言程序的上机过程1.2 预备知识1.2.1 系统环境对汇编语言的初学者来说,DOS环境的优点是:DOS操作系统简单,程序员可以管理系统的所有资源,访问和修改系统中的所有内存(包括内存控制块、中断向量表),直接对I/O端口进行读写,便于对知识的学习和理解。

其缺点是:单任务的DOS操作系统只有一个运行级别,任何进程与DOS操作系统都是同等级别的,致使系统中各个进程会相互影响。

如果某个进程死机,整个系统就会瘫痪。

但是DOS系统已经退出历史舞台,目前的学生只熟悉Windows环境而对DOS知之甚少,继续要求学生在DOS系统的命令行界面下编写和调试程序,无疑存在巨大的困难。

目前,IBM PC及其兼容机配置的Intel系列微处理器可以工作在实模式、保护模式和虚拟86三种模式下。

实模式是汇编语言入门的基础,是汇编语言教学中无法跨越的阶段。

了解实模式是理解内存分段式管理和寻址方式的基础。

保护模式是Windows系统的工作模式,虚拟86模式则是在保护模式下提供的模拟8086处理器工作的模式,为学习汇编语言提供了便利。

DOS汇编程序在Win32环境中运行时,操作系统会模拟实模式运行16位进程。

对于一些可能会影响整个操作系统工作的指令,windows操作系统会拒绝执行。

64位的Windows 环境则不提供16位应用的虚拟环境。

因此,采用Win32环境进行汇编语言程序的编辑工作,在虚拟控制台环境中学习(汇编、连接和调试)汇编语言是最佳方案。

下面我们将逐步给大家讲解如何安装和配置汇编语言的编译调试环境,并选择适合的编辑软件来组建汇编语言的集成环境。

最后,叙述如何使用Visual Studio 2008 Express作为汇编语言的工作环境。

1.2.2 汇编语言上机过程汇编语言程序需要经过编辑、汇编、连接、调试与执行等过程才能实现其具体功能。

实验一 熟悉汇编程序调试步骤

实验一 熟悉汇编程序调试步骤

实验一汇编语言环境一、实验目的1.熟悉汇编语言的上机环境,学习EDIT,MASM,LINK程序的使用,掌握建立、汇编、链接、运行汇编语言程序的过程。

2.熟悉DEBUG有关命令的使用方法。

二、实验原理建立、汇编、链接、运行汇编语言程序的过程方法。

三、主要仪器及耗材计算机、MASM软件包。

四、实验内容与步骤内容:1.输入、编辑汇编语言程序。

2.对汇编语言程序进行汇编、连接和运行。

步骤:1.在DOS提示符下,进入MASM目录。

2. 在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。

1) 调用edit输入、编辑源程序并保存在指定的目录中;例:edit no1.asm,进入编辑窗口code segmentassume cs:codestart:mov ah,08hint 21hmov ah,4chint 21hcode endsend start编辑完后,何在退出edit窗口2) 用汇编程序masm对源程序汇编产生目标文件obj。

例:masm no1不断修改错误,直至汇编通过为止,产生no1.obj。

3) 用连接程序link产生执行文件exe.例:link no14) 执行程序:可直接从DOS执行程序,即在DOS环境中,输入文件名no1即可。

再次熟悉汇编连接,运行过程。

1.在DOS提示符下,进入MASM目录。

2. 在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。

1) 调用edit输入、编辑源程序并保存在指定的目录中;例:edit no2.asm,进入编辑窗口DATAS SEGMENTbuf db 'I am a student!$' ;此处输入数据段代码DATAS ENDSSTACKS SEGMENTdb 200 dup(0);此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXlea dx,bufmov ah,9int 21h;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START编辑完后,何在退出edit窗口2) 用汇编程序masm对源程序汇编产生目标文件obj。

《汇编语言程序设计》实验报告(一)

《汇编语言程序设计》实验报告(一)
MESS1 DB 'MATCH!’,13,10,’$'
MESS2 DB 'NO MATCH!’,13,10,’$'
DATA ENDS
对以上源程序重新汇编、连接、运行,结果输出为:MATCH!
七、实验总结
通过这次上机实践,我对汇编程序和连接程序的使用开始有一点了解。但刚开始还是很不顺的,总是出现找不到文件,后来经过同学的指导,终于知道自己的错误,原来是路径错误。所以还需要勤加练习,多多实践。
四、实验材料、工具、或软件
多媒体计算机、WINDOWS XP系统或纯DOS系统、MASM6.11以上版本或汇编语言程序设计实验集成环境。
五、实验要求
1. 编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示‘MATCH’,若不相同则显示‘NO MATCH’。用串比较功能来完成程序所要求的功能。
2.完成课堂例题,并用DEBUG运行,观察结果。
六、试验内容与步骤:(附上必要的调试过程及运行结果截图,可加附页)
试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示‘MATCH’,若不相同则显示‘NO MATCH’。用串比较功能来完成程序所要求的功能。上机步骤如下:
《汇编语言程序设计》实验报告(一)
姓名
学号
系别
班级
指导教师
实验日期
课程名称
《汇编语言程序设计》
同组实验者
一、实验名称:实验一汇编程序和连接程序的使用
二、实验目的:
1. 熟悉汇编语言的上机环境;
2. 学习EDIT,MASM,LINK程序的使用;3. 掌握建立、汇、链接、运行汇编语言程序的过程。

实验一 熟悉汇编语言使用环境

实验一  熟悉汇编语言使用环境

实验一熟悉汇编语言使用环境一、实验目的:1、熟悉汇编语言的编辑、汇编、连接、运行的全过程。

2、了解汇编语言的程序结构、学习调用过程实现输入输出及用INCLUDE命令包含文件的方法。

3、算术运算类操作二、实验内容和步骤:1、汇编语言源程序要运行的四个步骤:(1)用编辑软件EDIT或记事本编辑一个扩展文件名为ASM的汇编语言源程序。

(2)用汇编程序MASM或TASM 汇编上述的汇编语言源程序,形成目标代码文件。

(扩展名为OBJ)(3)用连接程序LINK 或TLINK连接目标代码文件,形成可执行文件。

(扩展名为EXE)(4)运行可执行文件。

观察执行结果,以验证其正确性。

2、从键盘上输入两个十进制数正数(<32767),相加并显示结果。

参考程序:.model tiny.stack 256.CODESTART:CALL read ;从键盘接受一个十进制数MOV AX,BXcall dpcrlfCALL read ;从键盘接受一个十进制数ADD bx,aXcall dpcrlf ;回车换行CALL write ;显示结果.exit 0INCLUDE out_B_D.ASM ;把二进制转换为十进制数输出过程:write INCLUDE in_D_B.ASM ;把二进制转换为十进制数输入过程:readEND START3. 改写程序为输入两个十进制数,相减并显示输出。

4.改写程序为输入两个十进制数,相乘并显示输出。

5.改写程序为输入两个十进制数,相除并显示输出。

(注:例4.27read:十进制—>二进制转换过程,出口参数BX=二进制数;例P4.28,write:二进制—>十进制转换过程,入口参数BX=二进制数, dpcrlf:回车换行)三、记录结果与分析:(截图并打印在实验报告上)四、实验中遇到的问题和解决的步骤、方法五、问题与思考(2位压缩BCD加、减及转换成对应ASC输出等运算、字节的非压缩BCD加、减、乘等运算。

汇编语言上机实验报告(一)

汇编语言上机实验报告(一)

汇编语⾔上机实验报告(⼀)汇编语⾔上机实验报告(⼀)李昌健学号:U201010153专业:应⽤物理学1001班时间:2013年5⽉16⽇地点:南⼀楼实验⼀在⼀个以BUF为⾸址的缓冲区中存放着字符串'How are you'。

请写⼀个程序,将该字符串倒转。

倒转后的字符串放在⼀个新缓冲区中。

使⽤TD观察程序运⾏结束前,是否实现了上述功能。

提⽰:变量可⽤如下伪指令定义BUF DB ‘How are you'N = $ - BUF ; N为字符串的长度NEW_BUF DB N DUP(0)操作提⽰:使⽤TD.EXE调试程序时,应先单步执⾏各个语句,每执⾏⼀条语句,都应观察数据段中的内容以及相应寄存器的变化。

⼆实验要求掌握基本的程序设计框架和⽅法、熟悉常⽤指令的⽤法、熟悉DOS功能调⽤、进⼀步掌握TD的使⽤⽅法。

三寄存器分配和变量定义说明本题利⽤LOOP做循环,逐⼀将BUF中的字节复制到NEW_BUF中。

1 存储单元分配BUF:存放初始串’how are you ’NEW_BUF:存放复制的字符串2寄存器分配BX: BUF 的偏移地址BP:NEW_BUF的偏移地址CX:记录循环次数SI,DI:分别⽤作BUF和NEW_BUF的变址寄存器AX:临时寄存器四流程图五源代码DATA SEGMENTBUF DB 'How are you'N=$-BUFNEW_BUF DB N DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV BP,OFFSET NEW_BUFMOV CX,NMOV SI,CXMOV DI,0DEC SILINE: MOV AL,[BX+DI]MOV DS:[BP+SI],AL INC DIDEC SILOOP LINECODE ENDSEND START六运⾏结果⽤td调试程序,可以看到在数据段⾥NEW_BUF已经存放了倒置的BUF.实验⼆⼀题⽬假设数据段定义如下:DATA SEGMENTSTRING DB ‘The Personal Computer & TV’DATA ENDS试⽤字串操作等指令编程完成⼀下功能:(1)把该字符串传送到附加段中偏移量为GET_CHAR开始的内存单元中。

实验一汇编语言程序上机过程与调试

实验一汇编语言程序上机过程与调试

实验⼀汇编语⾔程序上机过程与调试实验⼀汇编语⾔程序上机过程与调试(基本指令实验)⼀、实验⽬的1、熟悉80X86寻址⽅式及基本指令的功能,进⼀步理解和巩固课堂学习的内容。

2、掌握汇编语⾔程序设计上机过程和汇编语⾔源程序结构,为后续汇编语⾔程序设计打好基础。

3、熟悉Masm for windows集成实验环境,以及DEBUG、CODEVIEW调试⼯具的使⽤⽅法。

⼆、实验预习要求1、熟悉汇编语⾔程序设计上机步骤,熟悉DEBUG、CODEVIEW调试⼯具的使⽤⽅法。

2、复习80X86操作数寻址⽅式及基本指令。

3、了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运⾏环境的问题除外),以便在实验时进⾏验证。

三、实验内容(⼀)、读懂下列源程序,使⽤Masm for windows集成实验环境⽣成名为EX11.ASM的源程序,汇编⽣成EX11.OBJ⽂件和EX11.LST⽂件,连接⽣成EX11.EXE⽂件;⽤EDIT 或记事本打开EX11.LST⽂件,了解.LST⽂件包含的信息;使⽤DEBUG 和CODEVIEW调试⼯具单步执⾏EX11.EXE程序,注意观察IP值的变化,并回答下列问题。

1. 程序装⼊后,代码段寄存器CS的内容为0B68 H,代码段第⼀条可执⾏指令:MOV AX,DATA对应的机器代码为B81A0B H,它是⼀个3 个字节的指令,注意观察执⾏该指令时IP值的变化情况,该指令源操作数DATA的寻址⽅式是直接寻址,其值为0B6A 。

2. 执⾏完MOV DS,DA TA指令后,DS的内容为0B6A H,源程序在数据段中定义的数据82H,68H,88H被装⼊的存储单元的物理地址分别是0B6A0 H,0B6A1H,0B6A2H.3. 程序中第⼀条ADD AL,[BX]指令对应的机器代码为0207 H,它是⼀个2个字节的指令,注意观察执⾏该指令时IP值的变化情况;该指令源操作数的寻址⽅式是直接寻址,该操作数所在存储单元的逻辑地址(DS):(BX)为0B6A:0001 ,其物理地址为0B6A1H;执⾏完该指令后(AL)= EA H,CF= 0 ,OF= 0 ,ZF= 0,SF= 1 ,AF= 0 ,PF= 0 ;若两操作数为⽆符号数,计算结果是否正确?z 若两操作数为带符号数,计算结果是否正确?z若计算结果正确,结果是正数还是负数?f4.执⾏完第⼆条ADD AL,[BX]指令后(AL)= 72 H,CF= 1 ,OF= 1 ,ZF= 0 ,SF= 0,AF= 1 ,PF= 1 ;若两操作数为⽆符号数,计算结果是否正确?B 若两操作数为带符号数,计算结果是否正确?B5.指令MOV SUM,AL中,⽬的操作数的寻址⽅式为直接寻址。

实验一汇编语言程序设计上机实验的基本过程

实验一汇编语言程序设计上机实验的基本过程

实验一汇编语言程序设计上机实验的基本过程〇、实验目的和要求:1.熟悉汇编语言程序设计上机实验的计算机软硬件平台。

2.熟悉汇编语言程序设计上机实验的过程。

3.熟练掌握汇编语言源程序的编辑及对其汇编、连接、运行的过程。

4.熟练掌握使用DEBUG调试和运行程序的方法(“工欲善其事,必先利其器!)。

一、实验提要注:以下内容基于初次使用DOS系统和初次上机进行汇编语言程序设计实验以及基本会使用Windows系统的状态,故可根据自己对相关知识得了解和掌握程度,选择性阅读相关内容。

此标注适用于本实验教程的全部内容。

㈠汇编语言程序设计上机实验所需的软硬件平台汇编语言程序设计上机实验需要的计算机软硬件:●装有DOS或Windows操作系统且能正常使用的通用计算机。

●在某个硬盘分区的根目录下创建一个文件夹(类同于DOS系统的目录)。

例如,在计算机的D盘创建一个名为MASM的文件夹(DOS系统对此的标识为“D:\MASM>”,此即所谓的“DOS系统提示符”的表示形式),且在该目录具有以下两个程序:汇编程序MASM.EXE连接程序LINK.EXE而DOS和Windows操作系统本身都提供有以下两个工具程序:文本编辑程序调试程序和两程序文件正常存放在Windows系统的system32文件中(DOS系统中这两文件就存放在于系统文件所在的目录),且默认可以使用于任何工作路径,故在DOS系统状态下,可直接运行EDIT和DEBUG。

其中:可用来编辑和保存汇编语言源程序。

当然,也可使用任何可以编辑纯文本格式的文字编辑软件,诸如Windows系统中自带的记事本等等。

是汇编语言程序设计的得力利器,可以用其完成汇编语言程序设计的几乎整个过程。

本实验教程将详述DEBUG用来调试程序的方法。

此外,据需可选用的软件还有LIB.EXE、CREF.EXE、EXE2BIN.EXE等。

本课程上机实验所用工作平台的建立,将根据所使用的计算机及其所属网络的情况而定。

汇编语言上机实验一2015李中

汇编语言上机实验一2015李中
NEXT1: MOV DL,AL
MOV AH,02H
INT 21H
MOV AX,SUM
AND AL,0FH
ADD AL,30H
CMP AL,39H
JBE NEXT2
ADD AL,07H
NEXT2: MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
实验报告
课程:汇编语言程序设计
专业班级:计算机科学与技术
学号:
姓名:李中
实验一、熟悉汇编语言上机环境
一、实验目的
熟悉在微机上建立、汇编、链接、调试和运行汇编语言程序的全过程
二、实验要求
1、学会使用EDIT建立汇编语言源程序文件
2、学会使用MASM将汇编语言源程序编译为目标程序的方法
3、学会使用LINK将目标程序链接为可执行程序的方法;
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
LEA DX,DATA
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
编辑:
汇编:
链接:
测试:
2、编辑、汇编、链接、执行下列程序。观察程序的执行结果。该程序的功能是:计算放在DATA1和DATA2单元中的两个数据之和,结果在屏幕上显示出来。
END START
编辑:
汇编:
链接:
执行:
四、遇到的问题与体会
用EDIT进行程序编辑时,要先保存。否则断电后代码消失,还得重新编写。
ASSUME CS:CSEG,DS:DSEG

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计上机实验指导书电子信息工程学院工业自动化教研室2008年4月15日汇编语言程序设计的实验环境及上机步骤一、实验环境汇编语言程序设计的实验环境如下:1. 硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境Windows98/2000/XP操作系统任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)汇编程序(MASM.EXE或TASM.EXE)连接程序(LINK.EXE或TLINK.EXE)调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用DEBUG.EXE。

二、上机实验步骤1.确定源程序的存放目录建议源程序存放的目录名为MASM中,MASM子目录在C盘或D盘的根目录下。

2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。

下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。

在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“”,屏幕上出现EDIT的编辑窗口。

窗口标题行显示了EDIT程序的完整路径名。

紧接着标题行下面的是菜单行,窗口最下面一行是提示行。

菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F 打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。

如果键入EDIT命令时已带上了源程序文件名(C:\ASM\HELLO.ASM),在编辑窗口上部就会显示该文件名。

如果在键入EDIT 命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。

熟悉和掌握汇编语言上机的基本操作

熟悉和掌握汇编语言上机的基本操作
4)在DOS系统提示符下利用DIR命令检查TEST.ASM文件是否确实产生。
汇编:
利用ML.EXE宏汇编程序,将已经存盘的ASCII码源程序翻译成二进制目标程序,其扩展名一般为.OBJ。
1)操作方法:假定当前工作路径为C:\MYTEST>,且所需文件均存在于当前路径,则针对源程序TEST.ASM的汇编有以下三种方法(其中斜体部分由键盘输入):
外部命令一样,直接在DOS系统下运行,整个编程工作完成。如在本实验中:
C:\MYTEST>TEST↘
2)一般在编写较复杂的程序时,可能出现设计上的错误。如果不能在源程序中检查出错误,则必须通过DEBUG调试,才能检查出错误所在,然后再回到前面的各个步骤中重复操作。在本实验中,由于程序简单,可以不必调试。
b)C:\MYTEST>ML TEST.ASM↘
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987.
All rights reserved.
Object filename [TEST.OBJ]:↘
学生
实验记录
学生
实验总结
通过本次实验学习了如何搭建模拟DOS环境和使用DEBUG程序的使用方法。
再学习了编辑、编译、链接和运行的过程,并且进行实际的操作。学习了DEBUG程序的命令符。
教师评分
Source listing [NUL.LST]:↘
Cross-reference [NUL.CRF]:↘
51524 + 435132 Bytes symbol space free
0 Warning Errors

汇编语言上机实验报告1

汇编语言上机实验报告1

汇编语言上机实验报告1汇编语言上机实验报告1实验内容:1.编写一个程序,求解给定整数的阶乘并输出结果。

2.编写一个程序,求解斐波那契数列中的第n个数并输出结果。

实验步骤:1.阶乘程序:编写一个汇编程序,通过输入一个整数n,求解n的阶乘。

程序流程如下:1.1.定义变量n,用于保存输入的整数。

1.2.将n与0进行比较,如果n为0,则直接将1输出作为阶乘的结果,并跳转到程序结束;否则继续执行下一步。

1.3.将n的值保存到寄存器中,并将n减1,保存到n中。

1.4.将n与0进行比较,如果n为0,则直接跳转到程序结束;否则继续执行下一步。

1.5.将n的值与寄存器中保存的值相乘,将结果保存到寄存器中。

1.6.将n减1,保存到n中并跳转到第4步。

1.7.输出寄存器中的结果作为阶乘的结果,并跳转到程序结束。

2.斐波那契数列程序:编写一个汇编程序,通过输入一个整数n,求解斐波那契数列中的第n个数。

程序流程如下:2.1.定义变量n,用于保存输入的整数。

2.2.将n与0进行比较,如果n为0,则直接将0作为结果输出,并跳转到程序结束;否则继续执行下一步。

2.3.将n与1进行比较,如果n为1,则直接将1作为结果输出,并跳转到程序结束;否则继续执行下一步。

2.4.将n的值保存到寄存器中,并将n减1,保存到n中。

2.5.将n与0进行比较,如果n为0,则跳转到第9步;否则继续执行下一步。

2.6.将n减1,保存到n中并跳转到第7步。

2.7.将n的值与寄存器中保存的值相加,将结果保存到寄存器中。

2.8.将n减1,保存到n中并跳转到第5步。

2.9.输出寄存器中的结果作为斐波那契数列中第n个数的结果,并跳转到程序结束。

实验结果:1.阶乘程序运行结果:请输入一个整数:55的阶乘为:1202.斐波那契数列程序运行结果:请输入一个整数:6斐波那契数列中第6个数为:8实验总结:通过本次实验,我学习了如何在汇编语言中编写程序解决一些基本的数学问题。

实验一汇编语言上机及Debug调试

实验一汇编语言上机及Debug调试

实验一汇编语言程序上机过程以及调试(1)一、预习内容1.工具软件MASM、LINK的使用2.常用DEBUG命令的使用: G,D,R,T,U,Q3.完整程序设计方法的格式。

二、目的要求1.掌握常用工具软件MASM、LINK的使用2.掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序3.掌握完整程序设计方法的格式,能正确书写数据段,代码段等。

三、实验内容比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。

DSEG SEGMENTstring1 db 'Move the cursor backward.'string2 db 'Move the cursor backward.'mess1 db 'Match.',13,10,'$'mess2 db 'No match.',13,10,'$'DSEG ENDSCSEG SEGMENTassume cs:CSEG, ds:DSEG, es:DSEG,MAIN PROC FARstart: mov ax, dsegmov ds, axmov es, axlea si ,string1①cld②repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx,mess1disp: mov ah,09hint 21hmov ax, 4c00hint 21hMAIN ENDPCSEG ENDSend start实验步骤:1)用文字编辑工具(记事本或EDIT)将源程序输入完整后保存在d:\masm下,注意保存时将文件扩展名改为.asm(如test1.asm)。

2)屏幕左下角”开始”–“运行”输入cmd ,进入dos命令操作,先用d: 和cd mas m 命令改变路经,接着用”masm + 文件名” (如masm test1,这里文件名可以不带扩展名)对源文件进行汇编,产生.obj文件和.LST文件。

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计的实验环境及上机步骤

第1章汇编语言程序设计实验1.1 汇编语言程序设计的实验环境及上机步骤1.1.1 实验环境汇编语言程序设计的实验环境如下。

1.硬件环境微型计算机(Intel x86系列 CPU)1台。

2.软件环境·Windows 98/XP/Me/2000操作系统;·任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等);·汇编程序(MASM.EXE或TASM.EXE);·链接程序(LINK.EXE或TLINK.EXE);·调试程序(DEBUG.EXE或TD.EXE)。

本书建议文本编辑器使用EDIT或NOTEPAD,汇编程序使用MASM.EXE,链接程序使用LINK.EXE,调试程序使用TD.EXE。

1.1.2 上机步骤汇编语言程序设计的实验2和实验3仅使用TD.EXE,关于TD.EXE的使用方法请参见附录B。

下面介绍的上机实验步骤适用于除实验2和实验3的所有实验(包括硬件接口部分的全部实验)。

1.确定源程序的存放目录建议源程序存放的目录名为ASM,并放在C盘或D盘的根目录下。

如果没有创建过此目录,请用如下方法创建。

通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中单击右键,弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。

请把MASM5文件夹下的所有文件及TD.EXE都复制到此目录中。

2.建立ASM源程序建立*.ASM源程序可以使用记事本文本编辑器。

注意:保存时扩展名必须ASM。

设建立的源文件为HELLO.ASM3.用MASM.EXE汇编源程序产生OBJ目标文件源文件HELLO.ASM建立后,要使用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.OBJ文件)。

具体操作如下:方法一:在Windows中操作用资源管理器打开源程序目录C:\ASM,把HELLO.ASM拖到MASM.EXE程序图标上。

实验一 汇编语言上机操作

实验一 汇编语言上机操作

实验一汇编语言上机操作
14计机3班08 何晓畅
一、实验内容:练习常用的DOS命令,熟练掌握DEBUG的主要命令及其应用。

1、DOS命令用法
(1)用2种方法在WINDOWS系统中进入DOS环境;
(2)用DIR命令查看根目录下的文件;
(3)用CD命令进入Program Files子目录,并查看子目录中的文件。

2、DEBUG的命令用法:
(1)进入DEBUG,用D命令查看数据段0100H-0200H单元中的内容;
(2)用U命令查看代码段中0100H开始的程序;
(3)用R命令查看并修改IP寄存器的值为0;
(4)用E命令修改数据段5号、6号单元的内容为12、34;
(5)自我练习其他命令,如T/D/P/F/Q等命令。

二、实验过程
1.
以dosbox进入dos
用终端进入dos
用DIR查看根目录下的文件
用CD命令进入Program Files子目录,并查看子目录中的文件
2.
用dosbox进入debug,用D命令查看数据段中0100H—0200H单元的内容
用U命令查看代码段中0100H开始的程序
用R命令查看并修改IP寄存器的值为0.
用E命令修改数据段5号,6号单元的内容为12、34。

其他命令的练习
Hello world的实现。

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计的实验环境及上机步骤一、一、实验环境汇编语言程序设计的实验环境如下:1. 1.硬件环境微型计算机(Intel x86系列CPU)一台2. 2.软件环境⏹⏹Windows98/2000/XP操作系统⏹⏹任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)⏹⏹汇编程序(MASM.EXE或TASM.EXE)⏹⏹连接程序(LINK.EXE或TLINK.EXE)⏹⏹调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。

二、二、上机实验步骤注:以下步骤适用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。

1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。

如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。

请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。

2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。

下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。

在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。

图1 文本编辑器EDIT的编辑窗口窗口标题行显示了EDIT程序的完整路径名。

紧接着标题行下面的是菜单行,窗口最下面一行是提示行。

熟悉汇编环境实验

熟悉汇编环境实验

实验一熟悉汇编环境
学号 201216008 姓名孙坤专业电子信息科学与技术成绩【实验目的】
(1) 熟悉上机实验流程、调试及查看实验结果。

(2) 熟悉汇编语言编程环境;
(3) 编写简单程序,并调试;
【实验内容及步骤】
1、熟悉汇编语言编程环境(MASM)
1)用编辑程序建立ASM源文件;
2)用MASM程序把ASM文件转换成OBJ文件
3)用LINK程序把OBJ文件转换成EXE文件;
4)用DOS命令直接键入文件名就可以执行程序。

2、编写简单程序,并调试;(例:2+3=5,要求显示器输出结果)
DSEG SEGMENT
DATA1 Dw 2
DATA2 Dw 3
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG
START: MOV AX, DSEG
MOV DS, AX
MOV AX , DATA1
ADD AX , DATA2
ADD AX,30H
MOV AH,2
MOV DL,AL
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
3、熟练掌握DEBUG调试功能,查看实验结果。

【实验心得与体会】
这是本学期微机原理的第一次试验,本次试验前半节课我们主要熟悉了DOS命令。

熟悉了生成可执行文件的流程。

后半节课编写了2+3实验的程序,并运行得到了结果。

《汇编语言上机环境及基本步骤》实验报告

《汇编语言上机环境及基本步骤》实验报告

汇编语言上机环境及基本步骤一、实验目的:1.掌握编写汇编源程序的基本格式。

2.熟悉汇编语言上机环境。

3.掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。

4.掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。

二、实验内容:在屏幕上显示并打印字符串“This is a sample program.”三、实验仪器微机一台四、实验步骤:1.在某盘如E盘,以自己的名字的汉语拼音建立一个工作目录(文件夹,名称不要太长,不超过8个字符比如zhangsan),将文件MASM.EXE,LINK.EXE等复制到该目录下,编辑的源文件也保存到该目录下。

从WINDOWS进入DOS环境:C:\>2.用EDIT编辑SW1.ASM源文件。

(1). 从当前目录进入自己的目录下,C:\>E: 回车E:\> CD zhangsan ↙回车键入EDIT并回车:E:\ zhangsan>EDIT根据菜单提示进行各种操作。

(2)进入EDIT编辑------EDIT是一种全屏幕编辑软件,可输入、编辑、修改、保存、另存源程序非常方便。

说明:也可在WIDNDOWS环境下用记事本编辑源文件,在保存时,保存类型应选择所有文件,不能选择文本文件(*.txt),否则在编译时会找不到源文件的。

(3).编辑新文件:a、在EDIT编辑器中输入汇编源程序。

b、检查输入有无错误。

c、打开文件菜单FILE→选择另存为SA VE AS┅→输入文件名为:SW1.ASM→保存。

注意:保存到你自己的文件夹中d、若需要修改此文件,用FILE菜单→选择打开OPEN→输入文件名SW1.ASM,即可修改。

修改后注意重新再存盘。

(4).编辑汇编源程序a、在EDIT(或记事本)中输入源程序。

b、检查。

c、存盘。

可保存为SW1.ASM3.用汇编程序MASM将SW1.ASM文件汇编,生成SW1.OBJ目标文件。

(1).一般简单程序只需生成.OBJ文件,可键入简化命令:E:\zhangsan>MASM SW1;↙若有错误,则显示错误行号及错误性质,如:SW1.ASM(5):error A2006:undefined symbor:xxxx(2).若有错重新进入EDIT进行修改。

08计算机汇编语言上机实习一

08计算机汇编语言上机实习一
的实验报告目录中。 文件名:学号_姓名_汇编语言实验一.word
INT 21H ; 9号调用输出How do you do?
MOV AH,4CH ;设置4CH号调用 INT 21H ;结束程序运行,返回DOS CODE ENDS END START
注意:请在西文状态下输入程序和, ;等符号,否则汇编会 出错 (out of memory)。
思考题:修改程序,使用2号单字符输出DOS功能调用显示
二、实验环境建立
1、汇编语言源程序的上机环境 (1)硬件系统(省略) (2)软件系统
1)DOS操作系统:汇编语言程序的建立和 运行都是在DOS操作系统下进行的。 注意在WIN XP/WIN 2K/WIN SERVS的开始 程序 附件 C:\命令 提示
• DOS 命令简单介绍 改变盘符: C:\>D: (变成D:\>)
How do you do?(参照老师提供的程序实例AAA.ASM)
实验(二)汇编语言调试过程部分实验 报告内容
1、写出汇编语言源程序结构 2、汇编语言调试过程 3、汇编调试中的问题和解决方法
四、要求
1、必须完成课件规定的两个实验内容。 2、将连接后的执行文件保留,老师抽查,完
成后签到。 3、提交电子档实验报告至网络教学平台指定
DATA SEGMENT STR DB “How do you do?$” DATA ENDS STACK SEGMENT STACK DB 200 DUP(?) STACK ENDS
CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE
START: MOV AX,DATA ; 给DS赋初值 MOV DS,AX LEA DX,STR ;显示缓冲区首址赋DX MOV AH,9 ; 设置9号调用

汇编语言上机实验报告

汇编语言上机实验报告

汇编语言上机实验报告汇编语言上机实验报告引言:汇编语言是一种底层的计算机语言,通过使用汇编语言,我们可以更加深入地了解计算机的运行原理和底层机制。

本次实验旨在通过上机实践,掌握汇编语言的基本语法和编程技巧,同时加深对计算机底层的理解。

实验目的:1. 学习汇编语言的基本语法和指令集;2. 掌握汇编语言的程序设计和调试方法;3. 加深对计算机底层原理的理解。

实验环境:本次实验使用的是Windows操作系统,并安装了MASM汇编语言开发工具。

实验过程:1. 实验一:Hello World程序我们首先编写一个简单的Hello World程序,用于验证汇编语言的环境是否正常。

通过使用MASM工具,我们可以将源代码汇编成可执行文件,并在命令行中运行。

该程序的功能是在屏幕上输出"Hello World"。

```assembly.model small.stack 100h.datamsg db 'Hello World$'.codemain procmov ah, 09hlea dx, msgint 21hmov ah, 4chint 21hmain endpend main```通过编译、链接和运行,我们可以在屏幕上看到"Hello World"的输出。

2. 实验二:计算两个数的和在这个实验中,我们将学习如何编写一个简单的加法程序。

我们定义两个变量a和b,并将其值相加,然后将结果输出到屏幕上。

```assembly.model small.stack 100h.dataa db 10b db 20sum db ?.codemain procmov al, aadd al, bmov sum, almov ah, 09hmov dl, sumadd dl, 30hint 21hmov ah, 4chint 21hmain endpend main```在屏幕上,我们可以看到输出结果为"30",即10加20的和。

汇编实验报告

汇编实验报告

实验一(1)熟悉汇编语言程序调试环境及顺序程序设计一、实验目的及要求:1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、熟悉汇编语言程序调试环境1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。

设定源程序的文件名为ABC。

DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一熟悉汇编语言上机环境一、实验目的熟悉在微机上建立、汇编、连接、调试和运行汇编语言程序的全过程。

二、实验要求1.仔细阅读本实验教程的第一章和第二章;2.学会使用EDIT建立汇编语言源程序文件;3.学会使用MASM将汇编语言源程序编译为目标程序的两种方法;4.学会使用LINK将目标程序连接为可执行程序的两种方法;5.学会使用DEBUG中的U、D、G命令。

三、实验举例【例3.1】 编辑、汇编、连接、执行下列程序,观察实验结果。

【程序功能】该程序的功能是利用BIOS功能调用,从键盘上接收若干个字符,并将它们的ASCII码与键盘扫描码以十六进制的形式显示出来,当按下<Ctrl>+<C>键时,停止程序的执行。

【步骤一】 用EDIT编辑源程序,并以EXAM1.ASM为文件名存入磁盘。

程序清单如下:SSEG SEGMENT STACKSTK DB 80H DUP(?)SSEG ENDSCSEG SEGMENTASSUME CS:CSEG,SS:SSEGHTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码AND AL,0FHCMP AL,10JC HTOA1ADD AL,07HTOA1: ADD AL,30HRETHTOA ENDPBHTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码PUSH CXMOV CH,ALMOV CL,04SHR AL,CLCALL HTOAMOV AH,ALMOV AL,CHCALL HTOAPOP CXRETBHTOA ENDPDISASC PROCN EAR ;该子程序的功能是在光标处显示AL中的字符PUSH AXMOV AH,14INT 10HPOP AXRETDISASC ENDPDISAL PROC NEAR ;该子程序的功能是显示AL中的内容PUSH AXCALL BHTOAXCHG AH,ALCALL DISASCMOV AL,AHCALL DISASCPOP AXRETDISAL ENDPBIOS: PUSH DS ;主程序XOR AX,AXPUSH AXAGAIN: MOV AH,0INT 16HPUSH AXCALL DISALMOV AL,'-'CALL DISASCMOV AL,AHCALL DISALMOV AL,' 'CALL DISASCPOP AXCMP AL,03HJNZ AGAINMOV AH,4CHINT 21HCSEG ENDSEND BIOS源程序输入完成后,按<Alt>+<F>键,用↑、↓键头选择Save As项保存文件,在出现对话框时输入EXAM1.ASM即可。

【步骤二】 用宏汇编程序MASM对汇编语言源程序EXAM1.ASM进行汇编,生成文件名为EXAM1.OBJ的目标程序。

操作如下:C:>\MASM EXAM1;↙屏幕显示如下信息:Microsoft <R> Macro Assembler Version 5.00Copyright <C> Microsoft Corp 1981-1985,1987. All rights reserved.EXAM1.ASM(10): error A2009: Symbol not defined: HTOA1EXAM1.ASM(12): error A2105: Expected: instruction or directive50542 + 449842 Bytes symbol space free0 Warning Errors2 Severe ErrorsC:>\上述信息提示在EXAM1.ASM文件的第10、12行分别有2个语法错误。

这时应返回到第一步,编辑源程序状态,找出有错误的程序行,修改有错误的语句。

上述程序中第10行并没有错误,只因第12行HOTA1标号后面遗漏了“:”号,导致第10行的错误,将第12行语句的标号HTOA1后加一个“:”号即可。

然后保存EXAM1.ASM文件,重新进行汇编,直至没有错误信息提示为止,方可进行下一步操作。

再次进行汇编,屏幕显示如下信息:Microsoft <R> Macro Assembler Version 5.00Copyright <C> Microsoft Corp 1981-1985,1987. All rights reserved.EXAM1.ASM(10): error A2009: Symbol not defined: HTOA1EXAM1.ASM(12): error A2105: Expected: instruction or directive50542 + 449842 Bytes symbol space free0 Warning Errors0 Severe ErrorsC:>\没有产生错误信息,表明汇编通过,可以进行下一步操作。

【步骤三】 用LINK对目标文件进行连接,生成文件名为EXAM1.EXE的可执行文件。

操作如下:C:>\LINK EXAM1;↙屏幕显示如下信息:Microsoft (R) Segmented-Executable Linker Version 5.13Copyright (C) Microsoft Corp 1984-1991. All rights reserved.LINK: fatal error L1093: EXAM1.OBJ: object not foundC:>\一般情况下,连接过程不会出现错误,但是,如果程序中没有设置堆栈段,或设置了堆栈段,但未定组合类型语句STACK,连接程序LINK也会提示警告信息,但不影响程序的执行,可以忽略。

本程序出现的错误是没有找到EXAM1.OBJ文件,就是说在汇编过程中有错误产生,导致汇编程序没有通过,没有生成EXAM1.OBJ文件。

在这种情况下必须回到编辑状态改正程序中的错误语句,然后重新进行汇编,直到没有错误信息提示,并且生成了EXAM1.OBJ文件,方可再次进行连接操作。

再次进行连接,屏幕显示如下信息:Microsoft (R) Segmented-Executable Linker Version 5.13Copyright (C) Microsoft Corp 1984-1991. All rights reserved.C:>\当连接过程中没有错误信息提示,表明连接成功,可进行下一步操作。

【步骤四】执行EXAM1.EXE程序。

因本例题是从键盘输入字符,然后在屏幕上显示它的ASCII码和键盘扫描码,所以在DOS提示符下直接键入文件名EXAM1并按回车键即可。

当用户输入一个字符后,屏幕即显示它的ASCII和它的键盘扫描码。

操作如下:C:>\EXAM1↙61-1E 62-30 63-2E 64-20 65-12以上输入的是字母ABCDE,显示的分别是它们的ASCII码和键盘扫描码。

至此该程序调试完成。

四、实验内容1.编辑、汇编、连接、执行下列程序。

观察程序的执行结果,并用DEUBG中的E命令修改DATA1和DATA2中的原始数据,重复计算两数之和。

该程序的功能是:计算存放在DATA1和DATA2单元中的两个数据之和,结果在屏幕上显示出来。

参考程序如下:DSEG SEGMENTDATA1 DB 35HDATA2 DB 29HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEGMOV DS,AXMOV AL,DATA1ADD AL,DATA2PUSH AXMOV CL,4SHR AL,CLADD AL,30HCMP AL,39HJBE OK1ADD AL,07HO K1: MOV DL,ALMOV AH,02HINT 21HPOP AXAND AL,0FHADD AL,30HCMP AL,39HJBE OK2ADD AL,07HOK2: MOV DL,ALMOV AH,02HINT 21HMOV AH,4CHINT 21HCSEG ENDSEND START2.将实验内容1修改成计算DATA1和DATA2中数据之差,并用DEBUG中的E命令修改DATA1和DATA2中的原始数据,重复计算两数之差。

参考程序请读者参照实验内容1的程序自行修改。

3.编辑、汇编、连接下列程序,并在DEBUG下执行该程序,观察存放在存储单元中的结果数据。

该程序的功能是:求5!,计算结果存放在SUM单元中。

参考程序如下:DSEG SEGMENTNUM DB 5SUM DW ?DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEGMOV DS,AXMOV CL,NUMMOV AL,1MOV BL,1DATA: MUL BLINC BLLOOP DATAMOV SUM,ALMOV AH,4CHINT 21HCSEG ENDSEND START五、实验报告要求1.按照上机实验的操作顺序写出操作步骤;2.写出每个程序的运行结果;3.总结实验过程中遇到的问题及解决方法。

相关文档
最新文档