汇编语言实验讲义

合集下载

实验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 汇编语言上机过程汇编语言程序需要经过编辑、汇编、连接、调试与执行等过程才能实现其具体功能。

汇编语言与接口技术实验课件

汇编语言与接口技术实验课件

详细描述
使用接口技术实现数据传输,如 通过串口发送和接收数据。
总结词:了解接口技术及其在数 据传输中的应用
学习接口技术的基本概念和工作 原理,了解常见的接口类型如串 口、并口、USB等。
掌握接口编程的基本方法,了解 接口的硬件连接和驱动程序开发 。
实验三:编写基于接口的驱动程序
详细描述
学习驱动程序的基本概念和开发 流程,了解常见的驱动程序模型 如WinDriver、Linux Driver等。
PCIe接口
用于连接高速扩展卡和计算机主板, 如显卡、声卡等。PCIe接口具有高 速数据传输和低延迟的特点。
接口技术的实现方式
硬件接口
通过物理连接器、电缆和电路板等硬件实现不同系统或设备 之间的连接。硬件接口具有稳定性和可靠性高的特点。
软件接口
通过软件编程和协议实现不同系统或设备之间的通信和数据 交换。软件接口具有灵活性和可扩展性强的特点。
汇编语言与接口技术实验课件
contents
目录
• 汇编语言概述 • 汇编语言基础 • 接口技术基础 • 实验操作与演示 • 实验总结与思考
01 汇编语言概述
汇编语言的定义和特点
总结词
汇编语言是一种低级编程语言,它使用助记符和操作码来描述计算机指令。
பைடு நூலகம்详细描述
汇编语言是计算机程序设计语言中的一种,它直接与计算机硬件交互,使用助 记符和操作码来表示指令。汇编语言具有高度的可移植性和可维护性,同时能 够提供对计算机硬件的直接控制。
接口技术的安全性
问题
接口技术实验中,我意识到了硬 件编程可能带来的安全风险,如 缓冲区溢出、非法访问等。
技术与应用的结合
如何将汇编语言与接口技术更好 地应用于实际问题解决,是值得 进一步探讨的方向。

汇编语言实验一

汇编语言实验一

实验一查看CPU和内存,用机器指令和汇编指令编程一.实验目的:掌握DEBUG 的基本命令及其功能二.实验内容:1. 预备知识:Debug的使用(1) 什么是Debug?Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。

使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。

(2) 我们用到的Debug功能●用Debug的R命令查看、改变CPU寄存器的内容;●用Debug的D命令查看内存中的内容;●用Debug的E命令改写内存中的内容;●用Debug的U命令将内存中的机器指令翻译成汇编指令;●用Debug的T命令执行一条机器指令;●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。

(3) 进入DebugDebug是在DOS方式下使用的程序。

我们在进入Debug前,应先进入到DOS方式。

用以下方式可以进入DOS:①重新启动计算机,进入DOS方式,此时进入的是实模式的DOS。

②在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。

(4) 用R命令查看、改变CPU寄存器的内容1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名若要修改一个寄存器中的值,比如AX中的值,可用R命令后加寄存器名来进行,输入“r ax”后按Enter键,将出现“:”作为输入提示,在后面输入要写入的数据后按Enter 键,即完成了对AX中内容的修改。

若想看一下修改的结果,可再用R命令查看(5) 用Debug的D命令查看内存中的内容1)格式:-d 段地址:偏移地址,Debug将列出从指定内存单元开始的128个内存单元的内容。

使用D命令,Debug将输出3部分内容,如图2.34所示。

中间是部分从指定地址开始的128个内存单元的内容,用十六进制的格式输出,每行的输出从16的整数倍的地址开始,最多输出16个单元的内容。

汇编语言实验讲义

汇编语言实验讲义

《汇编语言》实验讲义实验一汇编语言程序上机过程以及调试一、预习内容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)将源程序输入完整后保存在c:\masm50下,注意保存时将文件扩展名改为.asm(如lab1.asm)。

2)打开桌面的“命令提示符”程序进入dos命令操作,先用cd masm50 命令改变路经,接着用”masm + 文件名” (如 masm lab1,这里文件名可以不带扩展名) 对源文件进行汇编,产生.obj文件和.LST文件。

汇编讲义

汇编讲义

目录1、汇编语言上机步骤2、调试程序(DEBUG)的常用命令3、DOS功能调用的常用格式4、人机对话程序的实现5、排序程序的实现6、快速查找程序7、十----十六进制转换8、十六----十进制转换9、编程显示图形10、编程实现乘法口诀表11、中断驻留程序设计12、模块化程序的设计13、附录(部分参考程序)4到10这几个,后面老师的参考程序写注释,一、编语言上机步骤汇编语言上机分为五个步骤1、编辑源程序2、汇编(编译)源程序3、链接程序4、调试程序5、执行程序编辑源程序,在EDIT下,按汇编语言的格式书写源程序,并以文本文件的格式保存在磁盘中。

(文件的扩展名必须为.ASM)汇编源程序,有下列几种方式进行汇编方式一在DOS提示符下执行MASM显示如下内容Source filename [.ASM] 输入源文件名(不需输入扩展名)Object filename [.OBJ] 生成目标文件Source listing [.LST] 生成列表文件Cross—reference [.CRF] 生成交叉汇编文件例如:Source filename [.ASM] ABC源文件名为ABC,不要输入扩展名Object filename [ABC.OBJ]生成的目标文件名为ABC.OBJ,如想修改此文件名则输入新的文件名,否则回车。

建议此名与前面的相同。

Source listing [NUL.LST]如此显示则不生成列表文件,如想要列表文件就输入文件名,不要输入扩展名。

建议此名与前面的相同。

Cross—reference [NUL.CRF]如此显示则不生成交叉文件,如想要交叉文件就输入文件名,不要输入扩展名。

建议此名与前面的相同。

方式二在DOS提示符下执行MASM 文件名;,这样只生成目标文件,其它的不生成。

其它方式不作介绍汇编后如无错误则显示如下Warning Errors 0 警告性错误Severe Errors 0 严重性错误如都为0则表示,汇编已顺利通过链接程序,有下列几种方式进行方式一在DOS提示符下执行 LINK显示如下内容Object modules [.OBJ] 输入以生成的目标文件名Run file [.EXE] 生成可执行文件名List file [MUL.MAP] 生成映象文件Libraries [MUL.LIB] 生成库文件例如Object modules [.OBJ] ABC为以生成的目标文件名Run file [ABC.EXE]生成的可执行文件名为ABC.EXE,改否,建议此名与前面的相同。

汇编语言与接口技术实验讲义

汇编语言与接口技术实验讲义

汇编语⾔与接⼝技术实验讲义汇编语⾔上机指导书湖南师范⼤学⼯学院计算机专业⽤实验⼀ DOS常⽤命令及8086指令使⽤实验⽬的:通过实验掌握下列知识:1、DOS命令: DIR,DEL,RENAME,FORMAT,COPY。

2、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG3、DEBUG命令: A,D,E,F,H,R,T,U。

4、BCD码,ASCII码及⽤16进制数表⽰⼆进制码的⽅法。

5、8086寄存器: AX,BX,CX,DX,F,IP。

内容及步骤:⼀、DOS常⽤命令练习:1、将新盘插到 A驱动器中,⽤DIR命令查看盘上⽂件。

2、⽤命令 COPY /doc/f9837fdf770bf78a652954ce.html BUG 复制⼀个⽂件。

3、⽤命令 RENAME BUG BG 将BUG ⽂件改为BG。

4、⽤命令 DEL BG 将⽂件BG删除。

在操作时要注意提⽰信息,并按提⽰操作。

⼆、DEBUG 命令使⽤:1、打 DEBUG 进⼊ DEBUG 控制,显⽰提⽰苻 '_ '。

2、⽤命令 F 100 10F 'A' 将'A'的ASCII码填⼊内存。

3、⽤命令 D 100 10F 观察内存中的16进制码及屏幕右边的ASCII 字符。

4、⽤命令 F 110 11F 41 重复上⼆项实验,观察结果并⽐较。

5、⽤命令 E 100 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,347FH7、⽤R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。

汇编实验讲义

汇编实验讲义

汇编实验讲义一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。

为后续课程打下坚实的基础。

二、实验要求1.上机前作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析。

2.上机时要遵守实验室的规章制度,爱护实验设备。

3.程序调试完后,须由实验辅导教师在机器上检查运行结果,经教师认可后方可离开实验室。

4.实验完成后,应写出一个实验报告。

实验报告的要求如下:(1)上机过程设计说明;(2)debug用法;(3)以一个程序为例写出调试说明:便于学生总结经验提高编程及调试能力。

说明程序的功能、结构。

它包括:程序名、功能、原理及算法说明等。

调试情况,如上机时遇到的问题及解决办法,观察到的现象及其分析,实验的心得体会等。

三、实验方法1.源程序的编辑要开发一个汇编语言程序,首先要通过编辑软件使用汇编语言指令编写源代码,得到的程序要以.asm 的扩展名存放在MASM目录。

2.源程序的汇编汇编是将源程序翻译成由机器代码组成的目标模块文件的过程。

MASM6.X提供的汇编程序是ML.EXE。

进入已建立的程序所在目录,键入如下命令及相应参数即可完成源程序的汇编:ML/c lt301a.asm如果源程序中没有语法错误,MASM将自动生成一个目标模块文件(lt301a.obj),否则MASM将给出相应的错误信息。

这时应根据错误信息,重新编辑修改源程序后,在进行汇编。

注意,仅利用ML实现源程序的汇编,参数/c(小写字母c)是必须有的;否则ML将自动调用连接程序LINK.EXE进行连接。

3.目标文件的连接连接程序能把一个或多个目标文件和库文件合成一个可执行文件(.EXE,.COM文件)。

在程序目录下有了lt301a.obj文件,键入如下命令可实现目标文件的连接:LINK lt301a.obj如果不带文件名,LINK连接程序将提示输入OBJ文件名,它还会提示生成的可执行文件名以及列表文件名,一般采用默认文件名就可以。

《汇编语言》实验讲义

《汇编语言》实验讲义

《汇编语言程序设计》实验指导书实验一汇编语言程序上机过程以及调试一、预习内容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:\masm50下,注意保存时将文件扩展名改为.asm(如lab1.asm)。

汇编语言实验教程-ddg

汇编语言实验教程-ddg

实验一:熟悉环境及DEBUG应用实验目的:1、复习C/C++的变量、地址、指针、内存空间等概念;2、熟悉基本的DOS命令;3、掌握DEBUG的启动及其使用方法与常用命令。

4、初步认识CPU的寄存器。

实验内容:一、C/C++语言回顾目的:通过C/C++的变量、地址、指针、内存空间等概念的回顾,了解计算机内数据的存放方式和访问方式。

1、编程定义一个整型int、一个双精度型double、一个字符型char的指针,并赋初值,然后显示各指针所指目标的值与地址,各指针的值与指针本身的地址及各指针所占字节数(其中地址用十六进制显示,注意字符指针输出是字符串,必须强制转换为无类型指针)。

要求运行结果如下所示:变量内容首地址长度(字节)cval ‘A’0x0012ff64 1类型:整型: int, short int, short, long int, long, unsigned int, unsigned short, unsigned long实型: float, double, long double字符型: char#include<iostream>using namespace std;int main(){int *ip,ival=100;double *dp,dval=99.9;char *cp,cval='A';ip=&ival;dp=&dval;cp=&cval;cout<<*ip<<'\t'<<&*ip<<'\t'<<sizeof(*ip)<<endl;cout<<*dp<<'\t'<<&*dp<<'\t'<<sizeof(*dp)<<endl;cout<<*cp<<'\t'<<(void*)&*cp<<'\t'<<sizeof(*cp)<<endl;//字符指针输出是字符串,必须强制转换为无类型指针cout<<*cp<<'\t'<<&*cp<<'\t'<<sizeof(*cp)<<endl;//输出A开头的字符串cout<<ip<<'\t'<<&ip<<'\t'<<sizeof(ip)<<endl;cout<<dp<<'\t'<<&dp<<'\t'<<sizeof(dp)<<endl;cout<<(void*)cp<<'\t'<<&cp<<'\t'<<sizeof(cp)<<endl;return 0;}2、编程定义一个一维数组、一个二维数组、一个字符串(字符数组)、一个结构体,并赋初值,然后显示各指针所指目标的值与地址,各指针的值与指针本身的地址及各指针所占字节数(长度)。

汇编语言程序设计实验课件

汇编语言程序设计实验课件

基础实验部分:本部分共包括五个基本实验实验1 DEBUG调试工具中各命令的使用实验2 MASM32编译环境及命令的使用实验实验3 段式存储中各种寻址方式的使用实验实验3段式存储中各种寻址方式的使用实验实验4 汇编语言中汇编指令使用实验实验5 数据段中变量的定义及数据传送实验【实验1】DEBUG调试工具中各命令的使用【实验目的】熟练使用Debug调试工具中的各种命令。

【实验内容】在Debug环境下,调入“Hello World”字符串输出程序的执行文件(Hello.exe),使用Debug命令进行单步跟踪调试程序,进行查看字符串的位置,修改单步跟踪调试程序进行查看字符串的位置修改字符串,查看修改寄存器及存储单元的内容等操作。

参考程序:(参考程序功能是屏幕显示字符串Hello World !)(参考程序功能是屏幕显示字符串“Hello World!”)data segmentbuf db 0ah, 0dh, "Hello worild ! $"data endsd d实验1code segmentassume cs:code,ds:datastart: mov ax, datamov ds, axlea dx, bufmov ah, 9int 21hmov ah , 4chmov ah,4chint 21hcode endsend startend start【】【实验要求】要求对Debug16,Debug32两种调试工具中的命令分别操作而且进行比较异同操作,而且进行比较异同。

实验1【实验步骤】1.执行CMD命令,进入Windows下的Dos环境。

g命,符2.输入Debug命令,出现提示符“—”后键入“?”。

3.逐项执行Debug命令,比较16位和32位Debug调试工具的异同。

的异同【实验报告】实验1以“Hello World”字符串输出程序的执行文件(Hello.exe)为例,说明上机调试情况,写出调试(H ll)为例说明上机调试情况写出调试步骤,以及调试过程中所遇到问题的解决方法,针对调试过程中出现的问题进行分析、对执行结果进行总结分析。

汇编语言实验讲义

汇编语言实验讲义

汇编语言实验讲义计算机学院2002,5实验一数据的输入输出1.实验目的:(1)熟悉汇编语言的编辑、汇编、连接、运行的全过程。

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

2.实验步骤:(1)用编辑软件EDIT编辑一个扩展文件名为ASM的汇编语言源程序。

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

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

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

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

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

参考程序:STACK SEGMENT STACK ‘STACK’DB 100 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART: MOV AX,STACKMOV SS,AXMOV SP,0FFSET TOPCALL D_BP ;从键盘接受一个十进制数MOV AX,BXCALL D_BP ;从键盘接受一个十进制数ADD AX,BXCALL B_DP ;显示结果MOV AH,4CH ;返回DOSINT 21HINCLUDE BIN_DEC.ASMINCLUDE DEC_BIN.ASMCODE ENDSEND START4. 改写程序为输入两个十进制数,相减并显示输出。

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

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

(注:D_BP:十进制—>二进制转换过程,出口参数BX=二进制数;B_DP:二进制—>十进制转换过程,入口参数AX=二进制数)实验二BCD—>ASCII1.实验目的:(1)进一步熟悉汇编语言的汇编、连接、运行的全过程。

(2)了解汇编语言的程序结构、掌握BCD—>ASCII及字符输出的方法。

汇编实验讲义正文完整版

汇编实验讲义正文完整版
目录
目 录.................................................................................................................1 第一部分 宏汇编语言程序设计.....................................................................................................3
第一章 DOS 环境下的汇编语言编程环境使用(基础与验证型) ........................................3 第二章 算术运算类操作实验 (基础与设计).................................................................17 第三章 字符串操作实验(设计性实验).........................................................................19 第四章 分支和循环程序设计实验(设计性实验) .........................................................23 第五章 子程序设计实验(设计性实验).........................................................................27 第六章 磁盘文件存取实验(设计性实验) ...................................................................31 第七章 学生成绩管理系统设计实验(综合性实验) ...................................................35 第二部分 TPC-ZK-USB 接口实验系统.......................................................................................39 第一章 实验系统简介.........................................................................................................39 第二章 TPC-USB 实验系统硬件环境....................................................................................40 第三章 环境安装及使用说明...............................................................................................47 第三部分 计算机系统接口实验...................................................................................................56 第一章 I/O 地址译码........................................................................................................56 第二章 七段数码管.............................................................................................................59 第三章 基于并行接口的键盘控制.....................................................................................61 第四章 利用中断方式设计数字时钟.................................................................................66 第五章 串行通信.................................................................................................................70 第六章 A/D 和 D/A 转换......................................................................................................74 第七章 双色点阵发光二极管显示实验...........................................................................80 第八章 128X64 字符图形液晶显示实验............................................................................85 第九章 电子琴.....................................................................................................................86 第十章 红外热感应传感器实验.........................................................................................88 第十一章 压力传感器实验.................................................................................................93 第十二章 光敏、声控传感器实验.....................................................................................98 第十三章 红外实验...........................................................................................................103 附录............................................................................................................................................... 110 附录一 8086 指令系统一览表..........................................................................................110 附录二 8086 指令对标志位的影响..................................................................................119 附录三 8086 宏汇编常用伪指令表..................................................................................120 附录四 ASCII 码表 .............................................................................................................122

汇编语言实验

汇编语言实验

实验一汇编语言源程序的输入一、实验目的1.通过实验了解和熟悉微机系统的配置。

2.学习在DEBUG状态下输入汇编源程序的方法。

3.初步掌握调试(在DEBUG状态下)的过程。

二、实验原理1. 本实验要求在DEBUG状态下输入汇编源程序,并用DEBUG命令进行调试。

用单步跟踪的方法验证指令的功能。

2. 以下是给定的参考程序,并在实验时在每条指令的“;”符号右边按要求填写指令的执行结果。

注:⑴微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数,在输入时数的后面不加后缀“H”;⑵在DEBUG状态下执行程序时,“INT 20H”指令可使系统执行完该指令前的程序时返回到“-”提示符状态,并且恢复CS和IP寄存器原来的值。

三、实验仪器微机一台,软盘一块。

四、实验步骤1.开机和关机操作顺序开机:先打开微机外部设备电源开关,如显示器、打印机,最后打开主机电源开关。

关机:与开机相反,先关掉主机电源开关,然后关闭所有外设的电源开关。

2. 开机之后,把已准备好的PC-DOS系统软盘插入到A驱动器中,等待微机系统自检完成。

若自检无故障,计算机将自动引导A驱动器的DOS操作系统,实现DOS系统的启动,并出现提示符:A >若微机系统带有硬盘驱动器,且PC-DOS操作系统已装入硬盘,机器自检后(A驱动器门应打开),可以在硬盘上直接启动PC-DOS操作系统,此时,出现提示符:C >若计算机启动、自检出现故障,不能启动DOS系统时,可同时按下Ctrl+Alt+Del三个键,再重新启动一次(热启动),或关断主机电源重新送电一次(冷启动),若再失败,说明主机确有故障,应停止上机。

3. 装入DEBUG程序若计算机系统启动正常,可以从磁盘上调用DEBUG程序到内存。

一般C盘上或PC-DOS软盘上装有DEBUG软件,若没有,可以用COPY命令从其它盘拷贝过来,然后从装有DEBUG的磁盘上调用DEBUG程序。

例如:C > DEBUG↙(↙回车符)-(-DEBUG 提示符)或A > DEBUG-当显示器出现提示符“-”时,说明已进入DEBUG状态,这时,可用DEBUG命令进行操作。

汇编语言PPT教学讲义

汇编语言PPT教学讲义

INT 21H
;返回DOS
ENDP
第三章 指令系统 程序设计
9
CHANGE PROC
MOV CL,BX+1
;实际字符数送CL
MOV AL,BX+2
;第一个字符送AL
MOV CH,AL
;暂存在CH
CMP AL,’-’
;第一个字符是负号吗
JNZ NEXT1
;不是,转NEXT1
DEC CL
;字符数减1
INC BX
AGAIN1: SUB AX,1000 ;AX-1000 JC NEXT1 ;若≤0,则退出循环 INC DL ;DL+1 JMP AGAIN1
NEXT1: ADD AX,1000 ;AX←AX+1000 MOV BX,DL ;存千位的个数 ;计算百位的个数 MOV DL,0 ;百位的个数计数器
AGAIN2: SUB AX,100 ;AX-100 JC NEXT2 INC DL JMP AGAIN2
第三章 指令系统 程序设计
13
二进制数AX 令(DL)=0
(AX)-1000 Y
<0? N
(DL)+1
A
(AX)-10 Y
<0? N
(DL)+1
(AX)+1000(AX)
(AX)+10(AX)
DL存至缓冲区
存DL
令(DL)=0
存AL
求100的个数,结构同上
返回DOS
第三章 指令系统 程序设计
14
汇编程序如下: DATA SEGMENT BNUM DB 270FH DNUM DB 4 DUP ;存放BCD码的缓冲区 DATA ENDS CODE SEGMENT
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《汇编语言程序设计》实验指导书计算机系宋勤《汇编语言》实验学时分配表实验一汇编语言程序上机过程以及调试一、预习内容. 工具软件、的使用. 常用命令的使用:. 完整程序设计方法的格式。

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

三、实验内容用两种方法把字符串复制到串中去;(1)从左到右的方向复制(2)从右到左的方向复制' $'(?);************************************************, ,:实验步骤:)用文字编辑工具(记事本或)将源程序输入完整后保存在:\下,注意保存时将文件扩展名改为(如)。

)打开桌面的“命令提示符”程序进入命令操作,先用命令改变路经,接着用”文件名” (如,这里文件名可以不带扩展名) 对源文件进行汇编,产生文件和文件。

若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。

)用”文件名” (如;) 将文件连接成可执行的文件()。

)用调试程序,熟悉命令的使用:()打进入控制,显示提示符‘‘。

()用命令执行程序,可得与步骤相同的结果,也可用命令逐条运行这些指令,每运行一行检查并记录有关寄存器及的变化情况,并注意标志位有无变化。

()用命令检查键入的程序并记录,特别注意左边的机器码和指令地址。

如果一条命令没有显示完全,可以再次输入命令,该命令会紧接着上一个命令的输出继续显示。

()用命令’地址’设置断点,如,表示将断点设置在代码段的偏移地址为的指令前,并执行到该断点前。

其中,命令中的地址项可以从上条命令的运行结果获得。

()用命令查看各寄存器的情况。

()用命令查看数据段的情况,表示从偏移地址开始,也可以指定其他偏移地址值。

()用命令‘地址’的方式修改数据区的字符串,其中’地址’指需要修改的数据段内存单元偏移地址,可根据上条命令获得。

如表示从偏移地址开始修改数据。

()再次用命令执行程序,查看执行结果。

()用命令退出,如果在上述步骤中碰到异常,可以先用命令退出后再进入调试。

四、实验报告或作业.分析程序,画出程序流程图.汇编,连接及调试时产生的错误,其原因及解决办法。

.思考:) 上述实验中用修改数据段的内容,是否改变原文件的内容?) 用单步执行命令运行程序,运行到 , ,指令后,和寄存器内容前后有何变化,产生变化的原因是什么?附使用:.打进入 ,显示提示符‘‘。

.退出命令.显示内存命令起始地址结束地址.修改内存命令起始地址,连续修改打空格键。

打回车键退出命令。

.检查寄存器命令标志位显示.修改寄存器命令寄存器名.小汇编命令起始地址,不输入指令打回车键退出命令。

.反汇编命令起始地址结束地址.文件命名命令盘号:文件名.读文件命令内存地址.写文件命令内存地址.读扇区命令内存地址盘号(:) 扇区号扇区数.写扇区命令内存地址盘号扇区号扇区数.运行命令起始地址结束(断点)地址.单步命令起始地址运行指令数,进入子程序内部。

.单步命令起始地址运行指令数,不进入子程序内部。

.内存搬家命令起始地址结束地址目的地址标志位显示.修改寄存器命令寄存器名.小汇编命令起始地址,不输入指令打回车键退出命令。

.反汇编命令起始地址结束地址.文件命名命令盘号:文件名.读文件命令内存地址.写文件命令内存地址.读扇区命令内存地址盘号(:) 扇区号扇区数.写扇区命令内存地址盘号扇区号扇区数.运行命令起始地址结束(断点)地址.单步命令起始地址运行指令数,进入子程序内部。

.单步命令起始地址运行指令数,不进入子程序内部。

.内存搬家命令起始地址结束地址目的地址实验二顺序程序设计一、预习内容.常用工具软件、和的使用.完整程序设计方法的格式.汇编语言顺序结构程序的设计方法二、目的要求.继续熟悉常用工具软件、和的使用.继续熟悉完整程序设计方法的格式.学习与掌握汇编语言顺序结构程序的设计方法三、实验内容编程实现双字除以字(用),并且把商存入字单元,把余数存入字单元(具体数值可自行确定)。

并且用查看程序的运行结果,检查程序运行结果的正确性。

??,: ,,[],实验步骤:.用文字编辑工具(记事本或)将源程序输入完整后保存在:\下,注意保存时将文件扩展名改为(如)。

.用对源文件进行汇编,产生(如)文件和文件。

若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。

.用将文件连接成可执行的文件()。

.直接运行产生的文件。

.用调试程序,单步执行程序,并记录黑体部分单步执行后,,,寄存器以及标志寄存器的值..在状态下,用“偏移地址”的方式将程序的改为再单步执行黑体部分,对比步骤的结果,查看有何变化,并记录。

.修改源程序实现双字与字的无符号乘法。

四、实验报告或作业.分析程序,画出程序流程图。

.汇编,连接及调试时产生的错误,其原因及解决办法。

.步骤的结果记录。

.步骤的结果记录,并分析发生变化的原因。

.思考:) 指令,[] 改写成 ,[] 经过汇编后,二者是否相同,为什么?) 如何实现双字与字的乘法,写出完整的源程序。

实验三循环程序设计实验 (必做)一、实验目的:掌握循环程序的设计方法进一步熟悉利用程序修改参数的方法,并检查和验证结果的正确性。

学会针对不同的问题,选用不同的组织循环的方法。

二、实验内容编写一个程序,用二进制显示从键盘输入一个字符的码。

编写一个程序,记录某个字存储单元数据中的个数,以十进制形式显示结果。

三、实验准备编写实验内容要求的两个程序。

写出调试以上程序,即修改程序参数,检查结果的操作方法。

熟悉源程序汇编、连接命令的使用方法即要回答的内容。

四、实验步骤用或其它编辑软件,编写源程序,例如及。

对其进行汇编及连接,产生文件。

对文件进行调试运行。

.用调试运行,学会修改内容的方法。

.对键入不同的字符,分别进行调试。

.在下运行这两个文件。

五、实验报告要求画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。

六、参考程序段清单:;;←(循环次数): ;左移进,从高位开始显示;指令不改变;←++;若是,则←' ';若是,则←' ';显示;减,如果未减至,则循环;;数据段;代码段;循环初值:←: ;也可以用;全部是就可以退出循环,减少循环次数;用指令也可以;利用指令加的特点进行计数: ;判断的个数是否小于;的个数小于,转移,‘1’;的个数大于或等于;则要先显示一个: ,‘0’;显示个数——————————————————————实验一、预习内容.多重循环程序和排序程序设计方法。

.带符号数的比较转移指令二、目的要求.掌握多重循环程序和排序程序设计方法。

.掌握带符号数的比较转移指令三、实验内容建立学生名次表,以为首地址的数组中保存了学生的成绩,其中保存学号为的学生的成绩。

要求建立一个个字的数组,并根据中的学生成绩将学生名次填入数组中,其中的内容是学号为学生的名次(提示:一个学生的名次等于成绩高于该学生的人数加)(?),: ,,:①②:,[]:③④,实验步骤:.输入,汇编并连接此程序。

.在下运行此程序,记录运行结果。

.将转移指令改为,,分别运行记录排序结果,察看结果是否正确不对,并分析原因。

四、实验报告或作业.分析程序,画出程序流程图.汇编,连接及调试时产生的错误,其原因及解决办法。

.记录情况下的排序结果,同时比较将转移指令改为时的排序结果,并分析结果正确与否,如果不正确,写出原因和解决办法。

.思考:如果想外循环也用实现,应该怎样修改程序?——————————————————————实验四分支程序设计实验 (必做)一、实验目的:掌握分支程序的设计方法掌握利用修改参数、检查结果的方法。

掌握汇编语言源程序的编辑、汇编、连接及调试过程。

二、实验内容编写一个程序,显示寄存器中的两位十六进制数编写一个程序,判别键盘上输入的字符;若是字符,则显示之;若为或字符,均显示“”;若是回车字符<>(其码为),则结束程序,若为其它字符则不显示,继续等待新的字符输入。

三、实验准备编写实验内容要求的两个程序。

写出调试以上程序,即修改程序参数,检查结果的操作方法。

熟悉源程序汇编、连接命令的使用方法即要回答的内容。

四、实验步骤用或其它编辑软件,编写源程序,例如及。

对其进行汇编及连接,产生文件。

对文件进行调试运行。

.用调试运行,学会修改内容的方法。

.对键入不同的字符,分别进行调试。

.在下运行这两个文件。

五、实验报告要求画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。

六、参考程序清单()显示中两位十六进制数程序:;: AL,AL,AL:;显示高位码:;显示低位码;返回()显示键入字符程序:;等待键入字符,送;是否是回车符?;是则转退出程序AL,’’AL,’’MO ,AL:AL: ,’’::AL::—————————————————————实验(选做)一、预习内容.分支程序设计方法。

.利用转移指令、实现多岔分支的方法。

二、目的要求.掌握分支程序设计方法。

.掌握利用转移指令、实现多岔分支的方法。

三、实验内容统计学生成绩。

设有个学生的成绩分别为、、、、、、、、和分。

试编制程序分别统计低于分、分、分、分、分及分的人数,并分别存放到、、、、及单元中,: ,,:, []①②::::::③④,实验步骤:.阅读程序,将程序补充完整。

.输入,汇编并连接此程序。

.在下运行此程序,记录运行结果。

.单步运行程序,记录前五次执行转移指令后寄存器的值。

四、实验报告或作业.分析程序,画出程序流程图。

.汇编,连接及调试时产生的错误,其原因及解决办法。

.每次执行转移指令时寄存器的值。

、最终运行结果,即、、、、及的值。

、思考:如何修改程序使源程序先统计,然后依次统计? ———————————————————————实验五子程序设计实验(必做)本实验的目的在于让读者掌握同一模块调用的方法。

一、实验目的掌握主程序与子程序之间的调用关系及调用方法。

掌握子程序调用过程中近程调用与远程调用的区别。

掌握通过堆栈转送参数的方法。

二、实验内容将开始的个单元中的二进制数转换成两位十六进制数的码,在屏幕上显示出来。

要求码型转换通过子程序实现,在转换过程中,通过子程序实现显示.编写一个主程序,从键盘接收若干个字符,然后用远调用的方法,调用子程序统计字符串中字符’’的个数.子程序的参数是字符串的首地址,字符串长度及字符””.子程序返回字符"”的个数.参数传送采用堆栈实现.主程序在子程序返回后,显示字符””及其个数(设为一位十六进制数).三、实验说明第一个实验程序用子程序的近程调用实现。

由于在调用子程序时,子程序又调用了子程序,这叫子程序的嵌套调用。

实验过程中可以从堆栈的内容看到两个子程序的返回地址值。

相关文档
最新文档