80868088汇编语言上机调试与实验指导
实验一、汇编语言程序的上机过程及调试
实验一、汇编语言程序的上机过程及调试<i>汇编程序调试过程</i>实验一、汇编语言程序的上机过程及调试<i>汇编程序调试过程</i>一、实验目的熟练掌握汇编语言上机汇编、连接和装入运行。
学会使用调试程序DEBUG或TD来进行程序调试。
<i>汇编程序调试过程</i>二、实验内容(一)汇编程序建立过程a.建立汇编源程序─通过b.编译为目标文件d.连接为可执行文件c.不通过,重新修改(语句错误)f.不正确,用调试工具调试,重新修改(逻辑错误)e运行正确g.完成<i>汇编程序调试过程</i>汇编语言的源程序需要编译和连接后才能在计算机上执行。
汇编语言源程序扩展名规定为.ASM。
用MASM编译源程序后,将产生源程序的目标程序文件,其扩展名为.OBJ。
再经过连接程序(LINK)把目标程序文件与库文件或其他目标文件连接在一起形成可执行文件(扩展名为.EXE)。
这时就可以运行该程序了。
DOS下可直接键入可执行程序的文件名从而运行该程序。
<i>汇编程序调试过程</i>(二)过程详细说明步骤a: 建立汇编源程序如果现在的根目录不是E盘,写入E :然后回车,再打入cd *** (***是你新建的文件夹名),例如电气031班的同学,现在你的DOS界面根目录为:E\dq031 。
打入edit然后回车,EDIT的操作画面便会出现在屏幕上,alt键可以控制工具栏操作,←↑→↓箭头控制阴影选择的上下移动。
我们现在按alt键,选中flie, 按↓选中open,回车,找到刚刚拷贝的asm 文件,回车。
选择存盘并给你输入的文件起一个文件名,形式:*** . asm ;然后回到dos环境。
<i>汇编程序调试过程</i>步骤b: 编译目标文件在DOS提示符下键入MASM *** .asm回车,(其中***为你刚才在*****RE a 中建立的文件名)这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三次提问,在这可以一路回车即可。
实验一 汇编语言程序设计的实验环境及上机步骤
实验一熟悉汇编语言程序设计的实验环境及上机步骤一、实验目的:1、掌握文本编辑程序EDIT的基本使用方法。
2、熟练掌握汇编语言上机操作的基本步骤,学会汇编语言程序的编辑、汇编、连接、运行等操作方法。
二、上机实验指导(一)实验环境1.硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境⏹Windows98/2000/XP操作系统⏹文本编辑器(NOTEPAD(记事本))⏹汇编程序(MASM.EXE)⏹连接程序(LINK.EXE)(二)上机实验步骤上机步骤总结如下:1.把汇编程序拷贝到 C:\ASM\2.用记事本建立ASM源程序,保存为C:\ASM\HELLO.ASM3.汇编 C:\ASM>MASM HELLO.ASM<回车>4.链接C:\ASM>LINK HELLO.OBJ<回车>5.执行C:>ASM>HELLO〈回车〉下面详细介绍上机步骤:1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
创建方法:找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE都拷贝到此目录中。
2.建立ASM源程序使用NOTEPAD(记事本)文本编辑器建立ASM源程序。
打开记事本,输入源程序后,保存为后缀为.ASM的文件,保存路径为C:\ASM\HELLO.ASM。
3.用MASM.EXE汇编源程序产生OBJ目标文件具体操作如下:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:C:\Documents and Settings>cd..(回车,退回到上一级根目录)C:>CD ASM<回车>C:\ASM>MASM HELLO.ASM<回车>操作时的屏幕显示如图2所示。
实验三80868088常用指令使用分析
实验时间: 2016 年 4月 27 日实验成绩评定:姓名:侯珍珍学号:2014310685实验三 8086/8088常用指令使用实验目的:通过实验掌握下列知识:1、8086/8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG2、DEBUG命令: A,D,E,F,H,R,T,U。
3、BCD码,ASCII码及用16进制数表示二进制码的方法。
4、8086/8088寄存器: AX,BX,CX,DX,FLAGS,IP。
内容及步骤:一、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示符 '- '。
2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。
3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。
观察结果:4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。
观察结果:5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?观察结果:6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3) A5,79H (4)1284H,5678H (5) A758,347FH手算结果:34H+22H=56H 34H-22H=12H56H+78H=CEH 56H-78H==FFDEHA5H+79h=11EH a5H-79H=2CH1284H+5678H=68FCH 1284H-5678H=BC0CHA758H+347FH=DBD7H A758H-347FH=72D9H7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。
8、用R命令将AX,BX内容改写为1050H及23A8H。
汇编实验指导新(实验一)
汇编语言程序设计实验指导实验一汇编语言程序设计上机及debug的使用一、实验目的及要求1.学会使用EDIT、MASM、LINK、DEBUG等软件工具。
2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容(一) 上机过程1.汇编语言源程序的上机环境硬件环境:目前8086汇编语言程序一般多在IBM PC/XT及其兼容机上运行,因此要求机器具有一些基本配置就可以了,汇编语言对机器硬件环境没有特殊要求。
软件环境:软件环境是指支持汇编语言程序运行和帮助建立汇编语言源程序的一些软件。
编写MASM程序至少需要三个工具,一个是用来准备源文件的文本编辑程序,一个是用来将源文件转换成目标文件的MASM汇编程序,最后一个是用来将多个目标文件连接成一个DOS可执行文件的LINK连接程序。
(1)进入DOS操作系统:汇编语言程序的建立和运行在DOS操作系统支持下进行,要首先进入MS-DOS状态:点击开始菜单/运行在打开提示框中输入cmd再回车cd\apps\masm回车(2)编辑程序:编辑程序是用来输入和建立汇编语言源程序的一种通用的系统软件,通常源程序的修改也是在编辑状态进行的。
编写汇编语言程序的第一步,就是用文本编辑程序编写源文件。
源文件的编写可以利用任何一种文本编辑程序完成,具体使用哪一种,完全取决于个人喜好。
比如,记事本、、WORDSTAR、、等,但要注意,除了注释的内容外,一定要在非文本方式下输入各种语句和间隔符号,否则会汇编出错。
如:Edit abc.asm回车源程序以asm作文件名后缀。
Microsoft公司在推出MASM6.0的同时也提供了优秀的全屏幕文本编辑程序,作为PWB(程序员工作平台)的组成部分。
该编辑程序支持下拉式菜单、鼠标,并可根据用户特定需求进行裁剪。
(3)汇编程序:8086的汇编程序有基本汇编ASM.EXE和宏汇编MASM.EXE两种。
基本汇编ASM.EXE不支持宏操作,因此,一般选用宏汇编MASM.EXE。
实验报告——找出80868088指令系统所有指令的操作码的编码
实验二找出8086/8088指令系统所有指令的操作码的编码一、实验目的本实验旨在利用debug工具的e和u功能找出8086/8088指令系统的指令格式中各种操作码编码对应的指令功能。
二、试验原理:1、每条指令1~6个字节不等2、指令的第一字节为操作码,规定指令的操作类型。
第二字节规定操作数的寻址方式接着以后的3~6 字节依据指令的不同取舍。
3、第一个字节的八个二进制位中前六位为操作码的主要部分,之后一位是D字段,然后是W字段,W指出操作数类型:W=0 为字节,W=1 为字,D指出操作数的传送方向:D=0 寄存器操作数为源操作数,D=1 寄存器操作数为目标操作数。
4、用DOS的输入/输出重定向功能,让debug自动执行一批命令。
三、试验内容和步骤1、用试探法(1)打开debug,输入如下内容:-e 100 00 00 00 00 00 00-u 100 1050B5D:0100 0000 ADD [BX+SI],AL0B5D:0102 0000 ADD [BX+SI],AL0B5D:0104 0000 ADD [BX+SI],AL可以得到如下结果:结论:操作码字节前六位为000000(二进制)看来是一条ADD指令,而且只占两个字节。
记下来:指令码汇编指令---------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL(2)将指令首字节变为01,重复以上实验-e 100 01 00-u 100 1010B5D:0100 0100 ADD [BX+SI],AX得到以下结果:结论:第1字节由00(二进制0000 0000)变为01(二进制0000 0001),ADD指令的第二个操作数由AL变为了AX。
AL为8位寄存器、AX为16位寄存器,印证了W字段的作用,增加一条有用的记录:指令码汇编指令-------------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL0B5D:0100 0100 ADD [BX+SI],AX(3)将指令首字节变为02,重复以上实验-e 100 02 00-u 100 1010B5D:0100 0200 ADD AL,[BX+SI]得到以下结果:结论:第1字节由00(二进制0000 0000)变为02(二进制0000 0010),ADD 操作的传送方向发生转变,印证了D字段的作用。
微机原理与汇编语言实验指导书
微机原理与汇语言实验指导书信控学院测控系曹玉波孙明革2010-08-21目录Ⅰ.汇编语言部分 (1)实验一汇编基本操作 (1)实验二利用DEBUG调试程序调试程序段 (4)实验三分支程序实验 (7)实验四循环程序实验 (9)实验五子程序实验 (10)实验六字符处理程序实验 (13)实验七汇编语言综合设计实验 (16)Ⅱ. 微机原理及应用部分 (17)实验一8255A可编程并行口实验 (17)实验二8253A定时/计数器实验 (20)实验三使用8259A的单级中断控制实验 (23)实验四使用ADC0809的A/D转换实验 (29)实验五使用DAC0832的D/A转换实验 (32)实验六使用8251A的串行接口应用实验 (35)附录:DVCC-8086JHN实验平台性能特点 (39)Ⅰ.汇编语言部分实验一汇编基本操作实验目的1、熟悉DIR、MD、CD等DOS系统常用命令;2、熟悉在PC机上建立、汇编、链接、调试、和运行汇编语言程序的全过程;3、设计一个完整的顺序结构汇编语言程序,学习数据传送和算术运算指令的用法。
实验内容一、示例题:在屏幕上显示信息:“1A”其宏汇编语言程序如下:DA TA SEGMENT ;定义数据段x db 48 ;定义字节型变量x, x值存放于内存DATA段字节偏移量0处y db 65 ;定义字节型变量y, y值存放于内存DATA段字节偏移量1处DA TA ENDSCODE SEGMENT ;定义代码段(伪指令,编译器使用)ASSUME CS:CODE,DS:DATA(伪指令,编译器使用)1 ST: MOV AX,DATA ;数据段在内在重定位,以便程序能够正确引用的在数据段中2 MOV DS,AX ;定义的变量3 MOV DL,x ;x值即48D(或31H)-“1”的ASCII码存入寄器DL4 MOV AH,2 ;5 INT 21H ;调用2号DOS中断,用于显示DL中存放的字符6 MOV BX,017 MOV DL,[BX] ;通过BX寄存器间接址将y值存入DL(与第3行有相同的作用)8 MOV AH,29 INT 21H ;此段语句功能同上一段10 MOV AH,4CH11 INT 21H ;4C号DOS中断,功能是结束程序,将系统控制权返给操作系统CODE ENDS ;以下两句为伪指令,不占用内存,编译器使用END START实验步骤(假设MASM6汇编程序在D:\ MASM6目录下),方框框起的部分为键盘输入。
8086汇编语言上机调试步骤.
8086汇编语言上机调试步骤1、在网络课堂-微机原理与接口技术-实验指导-汇编工具下载,下载汇编工具并解压,文件夹名为“masm”。
2、用鼠标点击“masm”文件夹。
进入该文件夹后将看到 MASM.EXE,LINK.EXE , DEBUG.EXE3个文件进行复制操作。
3、用鼠标点击“我的电脑”再点击D: 盘,并在 D: 盘上建立新的“ MASM”文件夹,最后将上面的3个文件全部复制到该文件夹中。
(注意实验所有的文件都放在该文件夹内4、用文本编辑软件UltraEdit-32、WINDOWS 中的记事本或其它的文本编辑器输入汇编语言程序, 注意在最后一行的 END输入完后要按一次回车键,保存的源文件的扩展各一定要是“.asm”如: example.asm 。
(建议用记事本输入源程序,另存时,保持类型选择“所有文件”如图所示5、进入MS-DOS方式 ( 从开始>程序>附件>命令提示符或者(从程序 > 运行输入“cmd”回车,进入MS-DOS环境。
6、进入D:>MASM文件夹7、显示MASM文件夹内所有文件“dir”命令8、在 DOS 提示符下进行汇编、连接、动态调试等操作。
例如: 对源文件 example.asm 进行的操作D:\MASM\MASM example.asm;汇编源程序操作D:\MASM\LINK example.dbj;连接并生成扩展名为 .EXE 的可执行文件D:\MASM\DEBUG example.exe;对可执行文件进行调试9、要求掌握的调试命令(在 DEBUG 中使用的命令a: U - 反汇编命令用法: -U 代码段地址:起始偏移地址如:-U CS:100b: D - 显示内存中的数据命令用法: -D 数据段地址:存放数据的偏移地址如:-D DS:00 20c: T - 单步执行程序命令用法: -T 要执行的指令条数如:-T 3d: G - 连续执行程序命令用法: -G=代码段地址:指令的起始偏移地址指令的结束偏移地址如: -G=CS:100 106注意: 结束地址一定要是操作码的所在地址e: R - 查看和修改寄存器数据命令用法: -R 回车如:-R AXf: F - 对内存单元填充数据命令用法: -F 数据段地址:偏移首地址偏移未地址填入的数据如: -F DS:100 120 ffg: Q - 退出”DEBUG“应用程序命令10、应用例子;二进制到BCD转换(a.asm;将给定的一个二进制数,转换成二十进制(BCD码DATA SEGMENT RESULT DB 3 DUP(?DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AX, 123MOV CL, 100DIV CLMOV RESULT, AL ; 除以 100, 得百位数MOV AL, AHMOV AH, 0MOV CL, 10DIV CLMOV RESULT+1, AL ; 余数除以 10, 得十位数MOV RESULT+2, AH ; 余数为个位数JMP $ CODE ENDSEND START汇编源程序操作:D:\MASM>MASM a.asm ;D:\MASM>LINK a.OBJ;对可执行文件进行调试的操作:D:\MASM>DEBUG A.EXE--U CS:0000 ;用反汇编命令”U 代码段地址:起始偏移地址“显示出程序的表示符执行程序前观察内存中的数据-D DS:0000 ;用显示内存中的数据命令命令“D 数据段地址:存放数据的偏移地址”显示内存中的数据-G=CS:0000 001E ;连续执行程序命令代码段地址:指令的起始偏移地址指令的结束偏移地址执行程序后观察内存中的数据(结果-D DS:0000 ; 用显示内存中的数据命令命令“D 数据段地址:存放数据的偏移地址”显示内存中的数据-R IP 修改IP寄存器中的数据IP 001E 显示修改前的数据:00 输入修改的数据-T ;单步执行程序命令(执行一条指令-T3 ;执行3条指令-R -R AX AX 007B :1111 -R ;查看寄存器数据命令;查看和修改寄存器数据命令;查看寄存器数据命令 -D DS:0000 ;用显示内存中的数据命令命令“D 数据段地址:存放数据的偏移地址” 显示内存中的数据 -F 数据段地址:偏移首地址偏移未地址填入的数据 -F DS:0000 0030 DF ;对内存单元填充数据 -D DS:00 ;观察内存中的数据-Q ;退出”DEBUG“ 应用程序命令。
汇编语言上机实验指导
汇编语言上机实验指导实验一汇编语言基本指令操作练习一、实验目的:1、掌握8086/8088基本指令的使用方法和功能。
2、初步了解汇编语言程序设计的基本结构和利用DEBUG调试程序的方法。
3、进一步熟悉汇编语言的上机过程。
二、上机实验指导:(一)利用DEBUG的A命令输入指令,做如下实验。
1、比较下面指令的区别:①MOVAX,2000H②MOVBX,[2000H]-D2*******;显示字存储单元DS:2000的内容3ADC:20005A58ZX-R;显示指令执行前AX,BX的内容AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=3ADCES=3ADCSS=3ADCCS=3ADCIP=0100NVUPEIPLNZNAPONC3ADC:0100858CFFF3TESTCX,[SI+F3FF]DS:F3FF=74C0-A;利用A命令输入汇编指令3ADC:0100MOVAX,20003ADC:0103MOVBX,[2000]3ADC:0107INT3;此中断为断点中断,使程序执行暂停3ADC:0108-G;不指定地址,从当前CS:IP处执行AX=2000BX=585ACX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000 DS=3ADCES=3ADCSS=3ADCCS=3ADCIP=0107NVUPEIPLNZNAPONC3ADC:0107CCINT3;指令执行后,AX=2000H,BX=585AH2、以寄存器BX作为地址指针,从BX所指的存储单元开始起,连续存放着两个无符号数(字操作数),编程求它们的和,并将结果存放在这两个数之后。
-RBX;显示BX寄存器中的内容(BX=0000h)BX0000:;回车-D0*******;显示DS:0000到DS:0005的内容(BX所指的三个字操作数),如BX不为0000H,自己修改范围。
实验一汇编语言上机及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文件。
实验二 汇编语言程序上机过程
实验二汇编语言程序上机过程实验目的:熟悉8086/88汇编语言编程格式及上机设计调试过程。
如图5-1所示。
实验器材:计算机一台,DOS或WINDOWS环境,、MASM.EXE、LINK.EXE、DEBUG.EXE 等程序文件。
实验内容及步骤:1、编辑录入源程序建议EDIT后的文件名不要省略,源程序扩展名必须为ASM,不能省略。
EDIT界面如图6-1所示,激活菜单用鼠标单击或ALT+菜单名的第一个字母。
最常用的文件下拉中Save(保存)、Exit(退出,若未存盘会提示是否存盘)两个命令,如果未存盘选择Exit则会弹出如图6-2所示的对话框询问是保存退出(Yes)、不保存退出(No)、取消返回继续编辑(Cancel)。
例如:执行如下命令图6-1 EDIT的基本界面图6-2 EDIT的Exit命令对话框2、汇编汇编命令格式如下:建议源程序基本名不要省略。
例如:;扩展名“.ASM”可省略若没有错误显示如下:Microsoft (R) Macro Assembler Version 5.10Copyright (C) Microsoft Corp 1981, 1988. All rights reserved.Object filename [aa.OBJ]: ;目标文件名Source listing [NUL.LST]: ;源程序列表文件,加行号便于查错Cross-reference [NUL.CRF]: ;交叉参考文件,名字信息49576 + 420869 Bytes symbol space free0 Warning Errors ;警告错误0 Severe Errors ;严重错误,若有此类错误,不能生成目标OBJ文件有关错误信息的含义请参看教材附录C。
如果省略源程序名则第一个提示信息为:Source filename [.ASM]: ;源程序文件名3、连接连接命令格式如下:建议目标程序基本名不要省略。
汇编语言程序设计上机步骤与调试方法
汇编语言程序设计上机步骤与调试方法在汇编语言程序设计中,上机步骤与调试方法是非常重要的,它们能够帮助程序员更好地编写和调试程序。
本文将介绍汇编语言程序设计的上机步骤以及常用的调试方法,帮助读者更好地理解和应用这些知识。
一、上机步骤1. 准备工作在开始上机之前,我们需要做一些准备工作。
首先,确认计算机已经连接好必要的硬件设备,例如键盘、显示器等。
其次,确保操作系统和开发环境已经正确安装并能够正常运行。
最后,根据需要准备好所需的汇编语言文档和程序样例。
2. 创建新项目在开始编写汇编语言程序之前,我们需要创建一个新的项目。
在项目中,我们可以组织和管理相关的文件和代码。
通常,我们会选择一个合适的集成开发环境(IDE)来创建和管理项目。
3. 编写程序在创建项目之后,我们可以开始编写汇编语言程序。
首先,我们需要了解目标机器的指令集和寄存器,以便正确地编写程序。
然后,根据需求,我们可以使用不同的指令、寄存器和内存来实现所需的功能。
在编写程序的过程中,注意代码的可读性和易于维护性是非常重要的。
4. 调试程序编写完汇编语言程序后,我们需要进行调试,以确保程序的正确性和稳定性。
调试是一个迭代过程,通常包括以下步骤:- 设置断点:在程序中设置断点,以便在特定位置停止程序的执行。
- 单步执行:通过逐条执行程序的指令,我们可以观察程序的执行过程,并检查各寄存器和内存的值。
- 监视变量:在调试过程中,我们可以监视程序中的变量值,以验证其正确性。
- 查看输出:观察程序的输出结果,与预期结果进行比较,以确定程序是否按照预期执行。
- 修复错误:如果发现程序中存在错误,我们需要对程序进行修改和调整,直到问题解决为止。
5. 运行程序在完成程序的调试之后,我们可以运行程序并观察其运行效果。
在运行过程中,我们可以测试程序的各种功能,以确保其正常工作。
二、调试方法1. 打印输出在调试汇编语言程序时,打印输出是一种常用且简单有效的调试方法。
汇编语言程序设计上机实验指导
汇编语言程序设计上机实验指导一、实验目的1.掌握汇编语言的基本原理和编程技巧。
2.加深对计算机系统结构的理解。
3.培养实验操作和编程能力。
二、实验环境1.所需软件:MARS仿真器。
2.操作系统:任意支持MARS仿真器的操作系统。
三、实验内容1.实验一:编写一个简单的汇编语言程序,实现加法运算。
(1)要求用户输入两个整数。
(2)将两个数相加。
(3)输出两个数的和。
2.实验二:编写一个汇编语言程序,实现乘法运算。
(1)要求用户输入两个整数。
(2)将两个数相乘。
(3)输出两个数的乘积。
3.实验三:编写一个汇编语言程序,实现判断一些数是否为质数。
(1)要求用户输入一个整数。
(2)判断该整数是否为质数。
(3)输出判断结果。
4.实验四:编写一个汇编语言程序,实现打印从1到N之间的所有质数。
(1)要求用户输入一个整数N。
(2)打印出从1到N之间的所有质数。
四、实验步骤1.打开MARS仿真器,创建一个新的程序。
2.按照实验要求,编写汇编语言程序代码。
3.在MARS仿真器中调试和运行程序。
4.检查程序输出结果是否与预期相符。
5.优化程序代码,提高程序的效率和性能。
五、实验注意事项1.确保编写的代码逻辑正确、语法规范。
2.程序设计要遵循模块化设计原则,尽量将程序划分为多个模块,提高程序代码的可读性和维护性。
3. 实验过程中要注意调试程序,排除可能出现的bug。
4.在程序编写过程中,保持良好的编程习惯,合理命名变量和子程序,提高代码的可读性。
六、实验总结1.实验报告中需包含实验的目的、内容、步骤、注意事项等内容。
2.分析并总结实验中遇到的问题和解决方法。
3.对实验过程、结果的合理性进行分析和讨论。
4.提出对实验中存在问题的改进建议。
以上就是一份汇编语言程序设计上机实验指导的内容。
希望这份指导能够帮助学生们更好地进行汇编语言程序设计的实验,提高他们的实践能力和编程水平。
微机原理80868088汇编语言上机基本操作指
8086/8088汇编语言,是在DOS环境下运行的编程语言,汇编语言是针对8086/8088 CPU的,凡兼容80X86指令系统的CPU ,都可以正常运行调试。
如目前使用的Windows 2000 / Windows 2003 / Windows XP等系统下都可以编辑、调试汇编语言程序。
一、进入编辑调试环境1.开始→运行,在运行框输入CMD而后回车,即进入DOS环境。
2.开始→程序→附件→C:命令提示符,也可进入DOS 环境。
二、使用到的软件程序1.源程序编辑软件:EDIT.EXE,也可用其他任意编辑软件,如Windows 环境下记事本,但最后扩展名要改为.ASM,否则无法汇编。
2.汇编程序(MASM.EXE或TASM.EXE),将编辑好的.ASM源程序汇编成目标文件.OBJ。
OBJ是程序编译后的二进制文件,在通过链接器和资源文件链接就成exe文件,OBJ只给出了程序的相对地址,而EXE是绝对地址。
3.连接程序(LINK.EXE或TLINK.EXE),LINK又称链接器,把一个或多个目标文件(.obj)链接成可执行(.exe)文件。
4.调试程序(DEBUG.EXE或TD.EXE),DEBUG,俗称“抓臭虫”,DOS 系统有力的侦错,跟踪程序运行,检查系统数据的工具程序,它是在字符界面下以单字符命令方式工作。
要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了有效的调试手段。
需要说明的是,EDIT、MASM、LINK、DEBUG是微软操作系统推出的汇编连接调试工具。
在一般教学上使用就足够了。
而TASM、TLINK、TD是Borland公司推出的。
到目前为止,TASM的最后一个版本是5.0版,这个版本支持WIN32编程,并单独为WIN32编程附带有一整套32位程序:32位的编译器TASM32.EXE、连接器TLINK32.EXE和资源编译器BRC32.EXE。
8086汇编语言程序设计实验指导书.
汇编语言上机实验指导书一、概述上机实验总学时为16学时,其中综合性实验为2学时。
实验共有6项暂定为8次,每次2学时。
1.实验辅导的主要内容实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。
开始的实验介绍较细,后面的实验简要介绍。
2.实验的软硬件要求关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。
软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG程序和EDIT.EXE编辑软件(其它编辑软件也可以)。
3.加强实践能力的培养实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。
其中包括:实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等;开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。
对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。
实验一汇编语言运行环境及方法、简单程序设计(2学时、验证性)1.实验目的:(1) 熟悉汇编语言运行环境和方法(2)了解如何使用汇编语言编制程序(3) 熟悉DEBUG有关命令的使用方法(4) 利用DEBUG掌握有关指令的功能(5) 利用DEBUG运行简单的程序段2.实验内容(1)学会输入、编辑汇编语言程序(2)学会对汇编语言程序进行汇编、连接和运行(3)进入和退出DEBUG程序(4)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
对于U命令、N命令、W命令等,也应试一下。
3.实验准备(1)仔细阅读有关汇编语言环境的内容,事先准备好使用的例子。
8086-8088微机原理及应用II实验指导书
第一部分软件部分实验实验一汇编语言上机环境的熟悉和命令使用【实验目的及要求】1学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。
2学会使用MASM在计算机上汇编、连接、调试及运行程序的方法。
3掌握用DEBUG调试汇编程序的方法,为以后实验打下基础。
【实验内容】一、建立软件工作环境为了正常运行汇编程序,需要如下程序:masm.exe 或tasm.exe ;汇编命令link.exe ;链接命令debug.exe ;调试命令二、按照要求完成以下题目1、在屏幕上输出'This is a masm sample!'(1)使用文本文档编辑如下源程序,并保存为sample.asm:;Program is an exampledata segmentastr DB 'This is a masm sample!',0dh,0AH,'$'data endscode segmentassume CS:code,DS:datamain proc farstart:PUSH DS ;保护环境,返回DOSXOR AX, AXPUSH AXMOV AX, data ;数据段的初始化MOV DS, AXLEA DX, astr ;取得字符串的首地址MOV AH, 09h ;9号功能调用INT 21hRETmain endpcode endsend start(2)使用masm汇编命令汇编源程序c:\ >masm sample.asm ---开始汇编Microsoft (R) Macro Assembler V ersion 5.00Copyright (C) Microsoft Corp 1981-1985, 1987. ……--软件提示Object Filename[sample.obj]: --提示输入目标文件名,可省略直接回车Source listing[Nul.lst]: --提示输入列表文件名,可省略直接回车Cross reference[NUL.crf]:Warning errors 0Severe errors 0注意:若汇编的错误提示不为0,则须重新修改sample.asm,然后再汇编,该过程直到错误提示为0为止。
8086-8088微机原理及应用实验指导书
8086/8088微机原理与接口技术8086/8088微机原理与接口技术 (1)前言 (3)第一章实验环境介绍 (6)1.1汇编语言程序的上机过程 (6)1.1.1、源程序的编辑 (6)1.1.2、汇编 (6)1.1.3、链接 (6)1.1.4、调试 (7)1.2 8088实验仪的连机实验环境(DJ-8086k) (7)1.2.1、系统配置 (7)1.2.2、DJ-8086k软件启动和联机 (7)1.2.3、DJ-8086k软件主窗口 (8)1.2.4、源程序的编辑 (8)1.2.5、编译 (9)1.2.6、仿真调试 (9)第二章软件部分实验 (10)实验一汇编语言上机环境及基本操作 (10)实验二DEBUG调试程序的应用 (12)实验三多精度十进制加法程序设计 (17)实验四数学表达式计算 (19)实验五分支结构程序设计 (21)实验六循环结构程序设计 (22)实验七EMU8086集成开发环境 (23)第三章硬件部分实验 (25)3.1 存储器实验 (25)3.2 简单IO口实验 (28)3.3 8255A接口控制实验(一) (30)3.4 8255A接口控制实验(二) (32)附:实验报告格式 (37)前言认真做好实验,是掌握应用,提高动手能力的一个重要环节。
本课程安排了一些接口部件的实验,每个实验2学时,目的在于让同学们了解和掌握汇编语言的程序设计的基本方法和常用的接口器件的使用方法。
一个完整的实验过程,包括实验前的准备、实验操作过程和实验后的总结三部分。
做好实验前的准备,是做好实验的重要保障,希望同学们一定要做好实验前的准备工作。
一、实验前的准备1、认真阅读实验指导书,详细了解本课程实验的软硬件环境。
硬件环境:实验仪的基本组成和使用方法。
软件环境:调试软件的基本功能和使用方法。
这项工作应该在本学期开始,领到实验指导书时就进行。
2、详细了解本次实验的基本任务,充分理解实验原理为了实现本次实验的基本任务,硬件电路由哪几个部分组成,各部分电路的主要作用是什么,各部分电路之间如何连接?在此基础上读懂实验电路图。
8088实验指导书.
微机原理及应用实验指导书杨凌霄阎有运郭顺京张伟编著河南理工大学电气工程系2004.8、八、亠前言实验目的掌握微型计算机的结构组成和工作原理、微机存储系统的结构组成和工作原理,熟练掌握微型计算机的中断技术、典型接口芯片的硬件设计和初始化及工作程序的设计。
了解微型计算机的最新技术和发展。
为后续课程打下坚实的基础。
实验综述微机原理及接口技术是一门实践性很强的专业技能课,通过实验环节使学生掌握微型计算机与外设连接的有关技术,以及一些典型通用接口的工作原理、工作过程及应用方法,培养学生对接口电路分析和设计的能力,使学生能将微型计算机与通用或专用外设连接起来,构成完整的微机系统或计算机控制系统。
每次实验前,学生必须按照指导书要求进行不少于实验课时数的预习与准备。
实验结果必须经实验教师认可。
实验环境硬件条件:高档PC 机微机及接口实验系统装置软件条件:DOS 操作系统、Windows 操作系统。
任意一种编辑程序,如EDIT .EXE。
宏汇编程序MASM .EXE 。
连接程序LINK .EXE 。
调试程序DEBUG .EXE 。
集成操作软件:WMD86目录实验一系统认识实验 (1)实验二顺序程序设计 (6)实验三循环程序设计 (7)实验四分支程序设计 (8)实验五子程序设计 (9)实验六显示程序设计 (10)实验七中断特性及8259应用编程实验 (11)实验八8255并行接口应用实验 (16)实验九8253定时/计数器应用实验 (19)实验十8251串行接口应用实验 (22)实验十一双机通讯实验 (25)实验十二EPROM 扩展实验 (27)实验十三8255键盘及显示接口实验 (30)、实验目的掌握TDN86/88 教学系统的基本操作。
、实验设备TDN86/88 教学实验系统。
、实验内容及步骤实验内容:从3500H 内存单元开始建立0~15 共16 个数据实验源程序如下:STACK SEGMENT STACK ;8088 宏汇编程序DW 64 DUP(?) ;定义堆栈段STACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODESTART:MOV DI ,3500H ;程序开始设数据首址MOV CX ,0010H;字节数送入CX 中MOV AX ,0000HSAHFAl :MOV [DI] , AL ;写入一字节INC DI ;修改地址指针INC AX ;修改数据DAA ;十进制调整LOOP A1 ;未填完转移A2:JMP A2CODE ENDS ;代码段结束END START ;程序结束实验步骤:1使用串行通信电缆将实验系统与计算机(PC)微机相连。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、DEBUG的常用命令
1)显示、修改寄存器命令 R
格式:R[寄存器名]
功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,则按以下格式显示所有寄存器的内容及当前值(不能修改)。
AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000
8)指定文件命令 N
格式:N<文件名或扩展名>
功能:指定即将调入内存或从内存写入磁盘的文件名。该命令应该用在L命令和W命令之前。
9)装入命令 L
格式1:L[起始地址][盘符号][扇区号][扇区数]
1、编辑软件
行编辑软件:
全屏编辑软件:WPS、、、WORD、PE等。
当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。
2、汇编程序
有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。
Microsoft(R) Macro assemble Version 5.00
Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reserved
Run file [<file>.EXE]:
List File [nul.map]:
4)汇编命令 A
格式:A[起始地址]
功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省起始地址,则从当前CS:100地址开始存放。A命令按行汇编,主要是用于小段程序的汇编或对目标程序的修改。
5)反汇编命令 U
格式1:U[起始地址]
格式2:U[起始地址][结束地址|字节数]
功能:格式1从指定起始地址处开始将32个字节的目标代码转换成汇编指令形式,缺省起始地址,则从当前地址CS:IP开始。
格式2将指定范围的内存单元中的目标代码转换成汇编指令。
6)跟踪命令 T
格式:T[起始地址][正整数]
ห้องสมุดไป่ตู้
表示从DS:0100 为起始单元的连续五个字节单元内容依次被修改为
'V'、'A'、'R'、12H、34H。
格式2是逐个修改指定地址单元的当前内容。
如:—E DS:0010
156F:0010 41.5F
其中156F:0010单元原来的值是41H,5FH为输入的修改值。若只修改一个单元的内容,这时按回车键即可;若还想继续修改下一个单元内容,此时应按空格键,就显示下一个单元的内容,需修改就键入新的内容,不修改再按空格跳过,如此重复直到修改完毕,按回车键返回DEBUG“-”提示符。如果在修改过程中,将空格键换成按“-”键,则表示可以修改前一个单元的内容。
3、连接程序
用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的机器代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。
4、辅助工具程序(.EXE)
进行汇编语言程序调试和文件格式转换的程序有:
动态调试程序
EXE2BIN.EXE 文件格式转换程序
2)显示存储单元命令 D
格式1:D[起始地址]
格式2:D[起始地址][结束地址|字节数]
功能:格式1从起始地址开始按十六进制显示80H个单元的内容,每行16个单元,共8行,每行右边显示16个单元的ASCII码,不可显示的ASCII码则显示“?”。格式2显示指定范围内存储单元的内容,其他显示方式与格式1一样。如果缺省起始地址或地址范围,则从当前的地址开始按格式1显示。
连接目标程序
汇编后生成的.OBJ文件,其所有目标代码的地址都是浮动的偏移地址,机器不能直接运行。必须用连接程序(LINK.EXE)对其进行连接装配定位,产生.EXE可执行文件,方可运行。
在系统提示符下键入:LINK <源程序文件名> 或 LINK
屏幕上出现以下提示信息:
×× Warning errors (警告错误)
×× Severe errors (严重错误)
若严重错误总数不为0,则.OBJ文件没有生成,需回到编辑状态下修改源程序直到无错为止。
2、LST文件(列表文件)
.LST文件对调试程序有帮助,它是将源程序中各语句及其对应的目标代码和符号表以清单方式列出,如果需要,在屏幕显示的第二个提问的冒号后输入文件名即可,如果不需要,直接按回车键。
OBJ filename[<file>.obj]:
Source listing[nul.lst]:
Cross-reference[nul.crf]:
以上信息中方括中为该项提示的缺省回答值,冒号后面等待用户输入信息,若不改变缺省值则直接按回车键。
汇编后生成以下几个文件:
例如: -D 200 ;表示从DS:0200H开始显示128个单元内容
-D 100 120 ;表示显示DS:0100-DS:0120单元的内容
说明:在DEBUG中,地址表示方式有如下形式:
段寄存器名:相对地址,如:DS:100
段基值:偏移地址(相对地址),如:23A0:1500
C:>MASM <源文件名>
或 C:>MASM
按前一种格式键入,屏幕上显示:
Microsoft(R) Macro assemble Version 5.00
Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reserved
3)修改存储单元命令 E
格式1:E[起始地址] [内容表]
格式2:E[地址]
功能:格式1按内容表的内容修改从起始地址开始的多个存储单元内容,即用内容表指定的内容来代替存储单元当前内容。
例如:—E DS:0100 'VAR' 12 34
Libraries [.lib]:
连接后,可生成两种文件:.EXE和.MAP
1、EXE文件(可执行文件)
若采用方括号中的默认值,直接按回车键,否则需重新输入一文件名。
若连接过程中无错误,则自动在当前工作盘生成.EXE文件。若有错误,则会给出错误信息提示,这时必须重新修改源程序,再汇编、连接。
3、CRF文件(交叉引用文件)
交叉引用.CRF文件给出了源程序中定义的符号引用情况,按字母顺序排列。.CRF文件不可显示,须用CREF.EXE系统程序将.CRF文件转换成为.REF文件后方可显示输出。
若按后一种格式输入,系统会依次出现四个提示信息,比第一种格式多了一项源程序文件名的输入。应答方式与第一种格式相同。
CREF.EXE 交叉引用程序
编辑、汇编、连接、调试过程如图1-4所示。
图1-4 汇编程序上机过程
*TD(turbo Debugger简称)也是动态调试程序,可在DOS和Windows环境下运行,用户界面十分友好。
汇编源程序
用编辑软件建立的源程序.ASM文件,必须经过汇编才能产生.OBJ文件。为此,需键入:
DI=0000 DS=3000 ES=23A0 CS=138E IP=0000
NV UP DI PL NZ NA PO NC
138E:0000 MOV AX,1234
-R AX ;输入命令
AX 0014 ;显示AX的内容
2、MAP(连接映像文件)
3、LIB库文件
连接程序询问是否使用某种库文件,不需使用库文件直接按回车键。
4、若要连接多个模块目标程序,可用“+”把它们连接起来。
如:LINK files1+files2+files3
若直接键入:LINK会依次出现四个提示信息,应答方式应与LINK<源程序文件>相同,仅增加了一项输出,询问被连接的目标文件名字:Object Modeules[.OBJ]:
1、OBJ文件
.OBJ文件是必须生成的一个目标代码文件,当源程序中无语法错误时,则在当前工作盘上自动存入一个.OBJ文件,供下一步连接用。
若源程序有语法错误时,会出现错误信息提示:
源程序文件行 错误信息代码 错误说明信息
最后信息提示:
1、DEBUG程序使用
在DOS提示符下键入命令:
C>DEBUG [盘符:][路径][文件名.EXE][参数1][参数2]
这时屏幕上出现DEBUG的提示符“-”,表示系统在DEBUG管理之下,此时可以用DEBUG进行程序调试。若所有选项省略,仅把DEBUG装入内存,可对当前内存中的内容进行调试,或者再用N和L命令,从指定盘上装入要调试的程序;若命令行中有文件名,则DOS把DEBUG程序调入内存后,再由DEBUG将指定的文件名装入内存。
8086/8088汇编语言上机调试与实验指导
8086/8088汇编语言上机调试与实验指导
编辑源程序
汇编语言源程序:用汇编语句编写的解决应用问题的程序。
汇编程序:将汇编语言源程序翻译成机器语言程序的系统。
汇编:将汇编语言程序翻译成机器语言程序的过程。
在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。
格式:LINK <file>;多了一个分号,表示结束后续询问。
运行程序
经过汇编、连接后生成的.EXE文件,可在DOS系统直接运行,只要键入相应的文件名即可。