微机原理与接口技术实验讲义
微机原理及接口技术实验讲义

微机原理及接口技术实验指导书第一章80X86微机原理及其程序设计实验一熟悉PC 机的使用和调试汇编程序的方法一. 实验目的:1. 掌握汇编程序由编辑、编译、链接到调试的全过程。
2. 通过汇编调试工具加深对机器指令执行过程的了解。
二. 实验要求:1.了解PC 机的系统类型和基本配置, 熟悉PC 机DOS和WINDOWS下的基本操作2.掌握使用UltraEdit 等编辑器对汇编语言源程序(存储后扩展名为.ASM ) 的编辑操作。
3.学会用宏汇编程序MASM (或TASM ) 对.ASM文件进行编译(编译后扩展名为.obj)。
4.使用链接程序LINK (或TLINK ) 对 .OBJ 文件链接生成 .EXE 文件。
5. 学会用汇编调试工具软件TD (或DEBUG ) 对.EXE文件进行调试进一步深对机器指令的了解、执行程序、检查运行结果的方法。
三. 实验仪器:PC 机一台四. 实验步骤:汇编程序的编程环境有以下三种方式:1. Dos窗口下命令行方式2. UltraEdit方式3. 硬件实验箱自带的集成编程环境Wmd86方式其中第一种Dos方式,是指进入Dos窗口模式编辑源文件,用命令行方式直接调用Tasm,Masm等编译工具进行程序的编译、链接、调试,而后两种工作方式都是在Windows下进行源文件的编辑,而编译和链接仍然是通过调用Tasm,Masm等编译工具完成相应工作。
为了方便我们现在一般采用后两种编程环境。
下面我们分别介绍:1.UltraEdit方式UltraEdit是Windows下非常优秀的文本编辑软件,有很好的可配置性,支持语法高亮等。
通过配置UltraEdit,可实现在UltraEdit环境下编辑汇编源程序、汇编、连接、调用TDebug调试,非常方便。
配置完成后,可实现快捷键调用各编译、连接、调试功能。
实验机器上已经预配置好了。
配置方法说明(带演示动画)。
使用说明:1.打开UltraEdit,编辑并保存汇编源文件。
微机原理及接口技术课件

中央处理器是微机系统的核心,负责执 行程序中的指令。
内存储器是微机系统中的高速存储器, 用于存储程序和数据。
微机系统的软件结构
微机系统的软件结构包括系统软件和 应用软件。
应用软件是根据特定需求开发的软件 ,如办公软件、图像处理软件等。
通过微机接口实验,使 学生掌握微机接口的基 本原理和应用技术,培 养学生对微机系统的综 合分析和设计能力。
微机接口实验通常包括 以下几个方面的内容
通过实验箱或实验板等 硬件设备,让学生了解 并掌握各种硬件接口的 工作原理和性能特点。
通过编写软件程序,让 学生掌握各种输入/输出 控制方式、中断处理、 DMA传输等软件接口的 控制原理和编程方法。
计算机的基本组成 包括运算器、控制 器、存储器、输入 输出设备。
控制器是计算机的 指挥中心,负责控 制和协调计算机的 各个部件。
输入输出设备用于 与外部进行信息交 流,如键盘、鼠标 和显示器等。
微机系统的硬件结构
微机系统的硬件结构包括中央处理器、 内存储器、外存储器、输入输出设备等 。
输入输出设备用于与外部进行信息交流 ,如键盘、鼠标和显示器等。
接口技术
包括串行接口、并行接口、USB接口等技术 ,实现微机与其他设备的通信。
C/C语言
一种高级编程语言,广泛应用于微机应用系 统的开发。
中断技术
实现微机应用系统中断处理和任务调度的重 要技术。
06
CATALOGUE
微机接口实验及课程设计
微机接口实验的目的与内容
目的
内容
硬件接口实验
软件编程实验
综合实验
。
串行接口的实现
微机原理与接口技术实验讲义

实验一熟悉汇编语言环境及建立汇编的过程一、实验目的1.熟悉汇编语言环境。
2.掌握汇编语言的上机过程。
3.了解汇编语言程序的编程格式。
二、实验要求通过一个小程序的编写达到以上的实验目的。
三、实验原理1.汇编语言程序的上机过程用汇编语言编写的程序称为源程序,源程序也不能由机器直接执行,而必须翻译成机器代码组成的目标程序,这个翻译过程称为汇编。
在微型机中,当前绝大多数情况下,汇编过程是通过软件自动完成的,用来把汇编语言编写的程序自动翻译成目标的软件叫汇编程序,汇编过程如下:四、实验步骤1、打开编辑环境2、输入程序CODE SEGMENTASSUME CS:CODESTART: MOV AL,01HMOV BL,40HADD AL,BLMOV DL,ALMOV AH,02HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START3、保存源程序,以.ASM为扩展名。
C:\MASM\1.ASM4、建立汇编过程(1)用宏汇编程序汇编源程序C:\MASM>MASM 1.ASM汇编程序有3个输出文件【.obj】文件,【.LST】文件,【.CRF】文件,.OBJ文件是我们所需要的文件。
汇编程序还有另外一个重要功能:可以给出源程序中的错误信息。
(2)用连接程序将OBJ文件转换为可执行的EXE文件C:\MASM>LINK 1.OBJ5、执行程序:C:\MASM>1.EXE实验二两个多位十进制数相加的实验一、实验目的:1.学习数据传送和算术运算指令的用法。
2.熟悉在PC机上建立汇编链接调试和运行汇编语言程序的过程。
二、实验内容:将两个多位十进制数相加。
要求加数和被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
三、程序框图四、实验原理1.ADC 带进位相加指令的功能和指令格式2.AAA 、DAA、 AAS、 DAS指令的功能和指令格式3.伪指令SEGMENT 、ENDS、 ASSUME、MACRO、ENDM的使用4.子程序的定义(PROC NEAR/FAR ENDP),以及子程序调用和返回指令:CALL、RET的使用5.循环指令LOOP的格式以及退出循环的条件6.中断指令的使用五、实验参考程序CRLF MACRO ;建立回车换行宏MOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HENDM ;宏定义结束DATA SEGMENT ;数据段DATA1 DB 33H,39H,31H,37H,34H ;第一个数据(作为加数)DATA2 DB 36H,35H,30H,38H,32H ;第二个数据(作为被加数)DATA ENDSCODE SEGMENT ;代码段ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET DATA2MOV BX,05CALL DISPL ;显示被加数CRLFMOV SI,OFFSET DATA1MOV BX,05CALL DISPL ;显示加数CRLFMOV DI,OFFSET DATA2CALL ADDA ;加法运算MOV SI,OFFSET DATA1MOV BX,05CALL DISPL ;显示结果CRLFMOV AX,4C00HINT 21HDISPL PROC NEAR ;显示子程序段DS1: MOV AH,02HMOV DL,[SI+BX-1] ;显示字符串中的一个字符INT 21HDEC BX ;修改偏移量JNZ DS1RETDISPL ENDPADDA PROC NEARMOV DX,SIMOV BP,DIMOV BX,05AD1: SUB BYTE PTR[SI+BX-1],30H ;将ASCII码表示的数字串SUB BYTE PTR[DI+BX-1],30H ;转化位十六进制的字符串 DEC BXJNZ AD1MOV SI,DXMOV DI,BPMOV CX,05 ;包括进位位共5位CLC ;清进位位AD2: MOV AL,[SI]MOV BL,[DI]ADC AL,BL ;带进位相加AAA ;非组合BCD码的加法调整 MOV [SI],AL ;结果送加数区INC SIINC DI ;指向下一位LOOP AD2 ;循环MOV SI,DXMOV DI,BPMOV BX,05AD3: ADD BYTE PTR[SI+BX-1],30H ; 十六进制的数字串转化 ADD BYTE PTR[DI+BX-1],30H ; 为ASCII码表示的数字串 DEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START六、实验步骤1.按实验要求编写程序2.汇编连接程序生成可执行文件3. 执行程序观察结果七、拓展练习编写程序完成两个多位十进制数相减。
微机原理与接口技术实验讲义南京信...

第一部分 基于Protues 的接口仿真实验实验一 Protues 操作基础1、实验目的熟悉Proteus ISIS 编辑环境,了解电路绘图工具的使用和原理图设计步骤。
2、实验内容1——一阶动态电路仿真 (a) 元件的拾取 元件名称 说明参数CAPACITOR 电容 1000μF RES 电阻 1K Ω,100ΩLAMP 灯泡 12V SW-SPDT 两位开关BATTERY电池直流电源12V(b) 编辑窗口视野控制(c) 元件位置的调整和参数修改(d) 电路连线(原理图电气规则检测)(e) 电路动态仿真 (写出实验结果) 文件保存 cap1.dsn3、实验内容2——一8086最小模式下的总线结构和I/O 口地址 (实验报告上给出电路图和端口地址分配表即可)8086最小模式下的总线结构和I/O 口地址分配如图1.1所示,与教材上不同的是 • 没有加双向数据收发器,不影响实验结果的正确性。
• 其中8086的引脚A16~A19在图中命名为AD16~AD19,是为了与经过74HC373锁存输出的引脚(A16~A19)区分开。
实际上这4根引脚不与数据总线复用。
这张最小模式的电路图以后每次实验都会用到,所以要保存好,避免每次重新画。
图1.1 8086最小模式下的总线结构和I/O口地址分配分析图1.1中74LS138译码器构成的I/O端口译码电路,可得到表1所示的端口地址分配情况。
表1. I/O端口地址A15 A14 A13 A12A11~A0十六进制地址IO0 1 0 0 0 0~0 8000HIO1 1 0 0 1 0~0 9000HIO2 1 0 1 0 0~0 A000HIO3 1 0 1 1 0~0 B000HIO4 1 1 0 0 0~0 C000HIO5 1 1 0 1 0~0 D000HIO6 1 1 1 0 0~0 E000HIO7 1 1 1 1 0~0 F000H图1.1中用到的元件8086、74LS138、74HC373,需要在“Component Mode”下点击按钮P,从元件库中选出见图1.2。
《微机原理与接口技术》实验指导书

微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。
二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。
三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。
四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。
五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。
六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。
我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。
通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。
实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。
注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。
微机原理与接口技术实验讲稿知识讲解

PE SELECT AUTO LF ERROR INTI SLCT IN
GND
EPP信号 方向 nWrite 输出 Data0~7 双向 Interrupt 输入
nWait 输入
用户自定义 输入
用户自定义 输入
nDataSTB 输出
用户自定义 输入
nReset 输出
nAddrSTB 输出
GND
2020/7/24
▼ EPP端口寄存器 端口地址如表下图所示。表中BASE为并
口基地址,
地址 BASE+0 BASE+1 BASE+2 BASE+3 BASE+4 BASE+5 BASE+6 BASE+7
端口名称 数据端口 (SPP) 状 态 端 口 (SPP/EPP) 控 制 端 口 (SPP/EPP) 地址端口 (EPP) 数 据 端 口 (EPP) 未定义(16/32bit Transfer) 未定义(32bit Transfer) 未定义(32bit Transfer)
1A4 .
.
. .
. .
.
1Y1 1A1
.
键盘矩 阵的行
键盘矩 阵的列
A0
A
Y0
Y0
A1
B
Y1
A2
C
Y2
Y1
Y3
Y2
nDataSTB
E1
E2
VCC E3
Y4 Y5 Y6 Y7
Y3 Y7
1Y7
74LS138
1Y6
RD
WR
74LS273
D1
.
Q1 Q2
Q1~ Q3
.
Q3
《微机原理接口实验》课件

ONE
KEEP VIEW
《微机原理接口实验 》ppt课件
REPORTING
CATALOGUE
目 录
• 微机原理接口实验概述 • 微机原理基础知识 • 接口实验操作与实践 • 实验总结与思考
PART 01
微机原理接口实验概述
实验目的和意义
培养学生对微机原理的兴 趣和实际操作能力
引入更多实际应用
案例
可以在实验中引入更多实际应用 案例,如工业控制、智能家居等 ,使实验更具实用性和趣味性。
加强实验指导
希望老师能够加强实验指导,对 我们的疑难问题进行及时解答和 指导,以提高实验效果。
微机原理接口实验的应用前景
工业控制
微机原理接口实验所学的知识和技能在工业控制领域有广泛应用,如自动化生产线控制 、智能制造等。
详细记录实验过程中测量的数据和观察到的 现象。
结果分析
根实验数据和观察结果,分析接口电路的 工作原理和性能特点。
讨论与改进
针对实验中遇到的问题和不足,提出改进措 施和优化方案。
PART 04
实验总结与思考
实验收获与体会
深入理解微机原理
通过实验,我深入了解了微机原理接口的工作机制,包括输入输 出接口、中断、存储器寻址等。
高速缓存存储器
高速缓存存储器用于提高存储器访问 速度。
辅助存储器
辅助存储器用于存储大量数据和程序 ,如硬盘、U盘等。
PART 03
接口实验操作与实践
实验设备与工具介绍
微机原理实验箱
提供微机系统的基本硬件环境,包括CPU、内存、输入输出接口等。
示波器
用于观察信号波形,测量信号的幅度、频率等参数。
信号发生器
微机原理及接口技术实验讲义

微机原理与接口技术实验讲义实验一汇编程序的调试与Debug应用一、实验目的(1)掌握汇编语言的编程结构与方法。
(2)理解汇编语言的运行机制。
(3)掌握Debug调试语句及调试技巧。
二、预习要求复习汇编程序语言,提前将本实验相关内容进行预习。
三、实验设备带有MASM汇编工具的PC机一台。
四、实验原理程序的编写、编译的一般过程(1)汇编语言支持任意字处理软件,可以选用现有的文本编辑软件,例如EDIT,记事本等,进行源程序的编写,编写完毕之后,需将文件保存为*.asm文件(源文件)。
(2)利用MASM软件对所编写的*.asm文件进行汇编,生成*.obj文件(目标文件),以及调试用*.LST(列表文件)和*.crf(交叉引用表)(3)利用Link命令对程序进行连接,将目标文件与库文件进行连接,最终生成*.exe 文件(可执行文件)。
若上述几步无问题,则最终生成可直接运行的*.exe文件,若过程中出现语法错误,请按照提示将所有语法错误进行改正,若汇编过程通过,但运行结果不正确,则表明出现语义错误,此时,需利用调试软件,例如Debug进行调试,查找出现语义错误的语句进行修改,需反复进行调试,直至程序运行正确。
例:使用MASM50 汇编程序进行汇编,输入命令行masm 或者masm *.asm 后根据提示,输入文件名,在汇编没有错误的情况下,如屏幕所示:汇编程序可生成三个文件,*.obj,*.lst 和*.crf。
*.obj-目标文件,用于连接生成可执行文件;*.lst-列表文件(可选),汇编语言汇编的机器语言与汇编语言对照表,可用于调试;*.crf-交叉引用文件(可选),给出了用户定义的所有符号和对每个符号定义、引用的行号。
汇编连接命令行:link [*.obj] [*.obj] [*.lib] ↙连接程序,将多个目标程序及库文件,连接生成可执行的*.exe 文件,同时可选择生成*.map 文件。
*.map-地址映像文件,给出内存地址分配的有关信息。
微机原理及接口技术1-讲义

• 内部总线 CPU内部各部件之间的公共通道 注:CPU只有配上存储器、外部输入/输 出接口构成一台微型计算机才能工作
CPU的功能: • 完成算术、逻辑运算
• 保存少量数据 • 对指令译码、完成规定的操作 • 能和外设及内存之间交换数据 • 提供控制信号和时序 • 响应中断请求
(1)机器数
为表示带符号数,通常规定数的最高位为符 号位。符号位通常用“0”表示正数,用“1”表示 负数。如在8位机中,+12表示为00001100B, −12表示为10001100B。这种能被计算机识别的 带符号位的二进制数就称为机器数,而它所代表 的真实值被称为机器数的真值。
(2)带符号数的表示
• 第四代微处理器(1983以后) 代表机型:Intel 80386、80486 Motorola 68040
Zilog Z80000 字长:32位 工艺:CHMOS工艺 集成度: 15万~120万晶体管/芯片 时钟频率:16~60MHZ 平均指令执行时间代表机型:Pentium 586
• 小型计算机:结构简单、成本较低、易维护和使用。其规 模和设置可以满足一个中小型部门的工作需要。
• 中型计算机:最大的特点是具有较好的性能价格比。介于 小型机和大型机之间,能够解决较复杂的数学计算和数据 处理。
• 巨型计算机:也称为超级计算机。具有极高的性能和极大 的规模,价格昂贵,多用于尖端科技领域如航天和军事领 域。
1.2 微型计算机概述
1.2.1 微处理器(CPU)
集成在LSI、VLSI集成电路芯片上的中央处 理单元,是微型机中运算和控制的核心部件
微处理器组成:
• 算术逻辑部件 算术运算
微机原理实验讲义

ZY-88系列8086/8088微机接口实验系统微机原理与接口技术实验指导书黄山学院信息工程学院2013年3月目录第一章系统概述--------------------------------------------------11.1 系统资源分配----------------------------------------------- 11.2系统组成和结构----------------------------------------------21.3使用指南----------------------------------------------------21.4 8086K实验系统与PC机联机操作--------------------------------4 第二章实验指导--------------------------------------------------51.1验证实验--------------------------------------------------- 5实验一内存清零--------------------------------------------5 实验二数码显示--------------------------------------------6 实验三存贮器读写实验--------------------------------------7 实验四简单I/O口扩展实验----------------------------------7 实验五8259单级中断控制器实验-------------------------------8 实验六定时器 / 计数器---------------------------------------11 实验七8255A并行口实验(一)---------------------------------12 实验八串行接口和应用(二)串行接收---------------------------13 实验九 A/D转换实验-----------------------------------------14 实验十D/A转换实验(一)-------------------------------------151.2设计实验-------------------------------------------------- 18模拟交通灯管理----------------------------------------------- 18第一章系统概述1.1 系统资源分配8088有1兆存储空间,系统提供用户使用的空间为00000H-0FFFFH,用于存放、调试实验程序。
微机原理 实验讲义

微机原理与接口技术实验讲义(第二版)徐卫华编楚雄师范学院物理与电子科学系目录实验一二进制多位加法运算......................................................................... - 1 - 实验二二进制码转换为BCD码................................................................... - 2 - 实验三8255A并行口实验(一) ................................................................. - 4 - 实验四8255A并行口实验(二) ...................................................................... - 6 - 实验五128×64 LCD液晶显示实验 .......................................................... - 10 - 实验六定时器/ 计数器 ............................................................................. - 20 - 实验七A/D转换实验 .................................................................................. - 22 - 实验八D/A转换实验 .................................................................................. - 26 - 实验九串行接口和应用 .............................................................................. - 29 - 实验十设计性实验——多芯片综合应用 .................................................... - 40 -实验一二进制多位加法运算一、实验目的1、熟悉实验系统键盘显示的使用。
微机原理与接口技术实验

Flying College of BinZhou University
© 2009 Yuanwei
微机原理与接口技术实验
试验程序框图
Flying College of BinZhou University
© 2009 Yuanwei
微机原理与接口技术实验
试验六: A/D转换试验
Flying College of BinZhou University
用8255PA口控制PB口。
试验接线
PA0~PA7→K1~K7;(开关量输入模块) PB0~PB7→L1~L8;(发光管输出模块) 8255数据、控制线内部已线连好。
Flying College of BinZhou University
© 2009 Yuanwei
微机原理与接口技术实验
编程指南
⒈ 8255A芯片简介:8255A可编程外围接口芯片是INTEL企业 生产旳通用并行接口芯片,它具有A、B、C三个并行接口,用 +5V单电源供电,能在下列三种方式下工作: 方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式 方式2:双向选通工作方式 ⒉ 使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开 关量,PB口工作在方式0作为输出口。
© 2009 Yuanwei
微机原理与接口技术实验
试验目旳
1、学习微机系统中扩展简朴I/O口旳措施。 2、学习数据输入输出程序旳编制措施。
试验内容
利用74LS244作为输入口,读取开关状态,并将此状态经过 74LS273再驱动发光二极管显示出来。
Flying College of BinZhou University
© 2009 Yuanwei
微机原理与接口技术讲课文档

易失性
存储器
半导体 存储器
存 储
随机 存储器
RAM
只读 存储器
ROM
单极型(MOS)半导体存储器 双极型(TTL)半导体存储器
动态DRAM 静态SRAM
掩模只读存储器MROM 可编程只读存储器PROM 可擦除可编程只读存储器EPROM 电探险可编程只读存储器EEPROM 快闪存储器Flash Memory
A0 A2 A1 A9
1K×4bit的SRAM存储器芯片
VCC
GND
A6
1 18
Vcc
A5
2 17
A7
A4
3 16
A8
A3
4 15
A9
A0
5 14
I/O1
A1
6 13
I/O2
A2
7 12
I/O3
CS
8 11
I/O4
GND 9 10
WE
WE (a)Intel 2114的内部结构
第二十页,共108页。
(b)Intel 2114的外部引脚
微机原理与接口技术
第一页,共108页。
第5章 微机的存储系统
5.1 存储器概述
一个双稳态的半导体电路或磁性材料的存储元均可存储
一位二进制代码,这个二进制代码位是存储器中最小的存 储单位,称为一个存储位或存储元。
由若干个存储元组成一个存储单元。 由许多存储单元组成一个存储器。
有了存储器,计算机就具有记忆能力。
/CS /OE /WE
第十九页,共108页。
DB
VCC GND
第5章 微机的存储系统
5.2 半导体存储器的基本知识
5.2.3 典型芯片
1. SRAM存储芯片——Intel 2114
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一熟悉汇编语言环境及建立汇编的过程一、实验目的1.熟悉汇编语言环境。
2.掌握汇编语言的上机过程。
3.了解汇编语言程序的编程格式。
二、实验要求通过一个小程序的编写达到以上的实验目的。
三、实验原理1.汇编语言程序的上机过程用汇编语言编写的程序称为源程序,源程序也不能由机器直接执行,而必须翻译成机器代码组成的目标程序,这个翻译过程称为汇编。
在微型机中,当前绝大多数情况下,汇编过程是通过软件自动完成的,用来把汇编语言编写的程序自动翻译成目标的软件叫汇编程序,汇编过程如下:四、实验步骤1、打开编辑环境2、输入程序CODE SEGMENTASSUME CS:CODESTART: MOV AL,01HMOV BL,40HADD AL,BLMOV DL,ALMOV AH,02HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START3、保存源程序,以.ASM为扩展名。
C:\MASM\1.ASM4、建立汇编过程(1)用宏汇编程序汇编源程序C:\MASM>MASM 1.ASM汇编程序有3个输出文件【.obj】文件,【.LST】文件,【.CRF】文件,.OBJ文件是我们所需要的文件。
汇编程序还有另外一个重要功能:可以给出源程序中的错误信息。
(2)用连接程序将OBJ文件转换为可执行的EXE文件C:\MASM>LINK 1.OBJ5、执行程序:C:\MASM>1.EXE实验二两个多位十进制数相加的实验一、实验目的:1.学习数据传送和算术运算指令的用法。
2.熟悉在PC机上建立汇编链接调试和运行汇编语言程序的过程。
二、实验内容:将两个多位十进制数相加。
要求加数和被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
三、程序框图四、实验原理1.ADC 带进位相加指令的功能和指令格式2.AAA 、DAA、 AAS、 DAS指令的功能和指令格式3.伪指令SEGMENT 、ENDS、 ASSUME、MACRO、ENDM的使用4.子程序的定义(PROC NEAR/FAR ENDP),以及子程序调用和返回指令:CALL、RET的使用5.循环指令LOOP的格式以及退出循环的条件6.中断指令的使用五、实验参考程序CRLF MACRO ;建立回车换行宏MOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HENDMDATA SEGMENT ;数据段DATA1 DB 33H,39H,31H,37H,34H ;第一个数据(作为加数)DATA2 DB 36H,35H,30H,38H,32H ;第二个数据(作为被加数)DATA ENDSCODE SEGMENT ;代码段ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET DATA2MOV BX,05CALL DISPL ;显示被加数CRLFMOV SI,OFFSET DATA1MOV BX,05CALL DISPL ;显示加数CRLFMOV DI,OFFSET DATA2CALL ADDA ;加法运算MOV SI,OFFSET DATA1MOV BX,05CALL DISPL ;显示结果CRLFMOV AX,4C00HINT 21HDISPL PROC NEAR ;显示子程序段DS1: MOV AH,02HMOV DL,[SI+BX-1] ;显示字符串中的一个字符INT 21HDEC BX ;修改偏移量JNZ DS1RETDISPL ENDPADDA PROC NEARMOV DX,SIMOV BP,DIMOV BX,05AD1: SUB BYTE PTR[SI+BX-1],30H ;将ASCII码表示的数字串SUB BYTE PTR[DI+BX-1],30H ;转化位十六进制的字符串 DEC BXJNZ AD1MOV SI,DXMOV DI,BPMOV CX,05 ;包括进位位共5位CLC ;清进位位AD2: MOV AL,[SI]MOV BL,[DI]ADC AL,BL ;带进位相加AAA ;非组合BCD码的加法调整 MOV [SI],AL ;结果送加数区INC SIINC DI ;指向下一位LOOP AD2 ;循环MOV SI,DXMOV DI,BPMOV BX,05AD3: ADD BYTE PTR[SI+BX-1],30H ;十六进制的数字串转化ADD BYTE PTR[DI+BX-1],30H ;为ASCII码表示的数字串 DEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START六、实验步骤1.按实验要求编写程序2.汇编连接程序生成可执行文件3. 执行程序观察结果七、拓展练习编写程序完成两个多位十进制数相减。
要求显示结果格式为:被减数减数相减结果实验三字符串匹配程序一、实验目的:掌握显示提示信息的方法及接收键盘输入信息的方法。
二、实验内容:编写程序,实现两个字符串的比较。
如相同,则显示“MATCH”,否则,显示”NO MATCH”。
三、程序框图Array四、实验原理1、DB、 DUP、 EQU等伪指令的功能以及使用格式2、INT 21H 的09H子功能的功能、工作情况以及使用格式3、INT 21H的0AH子功能的功能、工作情况以及使用格式4、串扫描指令SCASB的功能以及使用格式5、入栈、出栈指令PUSH 、POP的使用情况五、实验参考程序CRLF MACROMOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENTMESS1 DB 'MATCH',0DH,0AH,'$'MESS2 DB 'NO MATCH',0DH,0AH,'$'MESS3 DB 'INPUT STRING1:',0DH,0AH,'$'MESS4 DB 'INPUT STRING2:',0DH,0AH,'$'MAXLEN1 DB 81ACTLEN1 DB ?STRING1 DB 81 DUP(?)MAXLEN2 DB 81ACTLEN2 DB ?STRING2 DB 81 DUP(?)DATA ENDSSTACK SEGMENTSTA DB 20 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,DATAMOV ES,AXMOV AX,STACKMOV SS,AXMOV SP,TOP ;段寄存器及堆栈初始化MOV AH,09HMOV DX,OFFSET MESS3INT 21H ;显示输入提示1MOV AH,0AHMOV DX,OFFSET MAXLEN1INT 21H ;接收键入的字符串1CRLF ;回车换行MOV AH,09HMOV DX,OFFSET MESS4INT 21H ;显示输入提示2MOV AH,0AHMOV DX,OFFSET MAXLEN2INT 21H ;接收键入的字符串2CRLFCLDMOV SI,OFFSET STRING1MOV CL,[SI-1]MOV CH,00H ;字符串1的实际字符数送CXKKK: MOV DI,OFFSET STRING2PUSH CXMOV CL,[DI-1]MOV CH,00H ;字符串2的实际字符数送CX MOV AL,[SI]MOV DX,DIREPNZ SCASB ;将串1中的一个字符和串2中的所有字符作比较 JZ GGG ;比较相等转GGGINC SI ;从串1中取下一个字符POP CXLOOP KKKMOV AH,09HMOV DX,OFFSET MESS2INT 21H ;显示‘NO MATCH'JMP PPPGGG: MOV AH,09HMOV DX,OFFSET MESS1INT 21H ;显示'MATCH'PPP: MOV AX,4C00HINT 21H ;返回DOSCODE ENDSEND START六实验步骤1.按实验要求编写程序2.汇编连接程序生成可执行文件3.执行程序观察结果七、拓展练习编写程序,实现两个字符串的比较。
如字符长度相同并且对应字符顺序相同,则显示“MATCH”,否则,显示“NO MATCH”。
实验四字符和数据的显示程序一、实验目的掌握字符和数据的显示方法。
二、实验内容先显示信息“INPUT STRING ,THE END FLAG IS $”,再接收字符。
如为非数字字符即非“0——9”,则计数器加1,并显示字符。
如为数字,则直接显示,但不计数。
三、程序框图四、实验原理1.程序跳转指令JMP的功能及用法2.比较指令CMP 、JB、 JBE等指令的功能及用法3.循环移位指令ROL的用法及功能4.逻辑指令AND的功能及用法五、实验参考程序CRLF MACROMOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENTMESS1 DB ‘INPUT STRING,THE END FLAG IS $’MESS2 DB ‘NON-DIGITAL CHAR COUNT=$’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AX ;初始化MOV BX,0000H ;计数值清0MOV AH,09HMOV DX,OFFSET MESS1INT 21HMOV AH,02HMOV DL,‘$’INT 21H ;显示提示信息CRLFXXX: MOV AH,01HINT 21H ;接收键入字符CMP AH,‘$’JZ UUU ;是‘$’字符则转UUUCMP AL,0DHJNZ IIICRLF ;是回车则回车换行JMP VVVIII: CMP AL,30HJB YYYCMP AL,39HJBE VVV ;非‘0’——‘9’转YYY YYY: INC BX ;计数值加1VVV: JMP XXXUUU: CRLFMOV AH,09HMOV DX,OFFSET MESS2INT 21H ;显示表头MOV AX,BXCALL DISP ;显示结果MOV AH,02HMOV DL,‘H’INT 21H ;十六进制数标志MOV AH,4CHINT 21HDISPP PROC NEAR ;显示子程序,按十六进制数方式显示AL中的数 MOV BL,AL ;AL中数送BLKKK: MOV DL,BLMOV CL,04ROL DL,CLAND DL,0FHCALL DISPL ;显示字节高位MOV DL,BLAND DL,0FHCALL DISPL ;显示字节低位RETDISPP ENDPDISPL PROC NEARADD DL,30H ;将数值转为对应的ASCII码CMP DL,3AHJB DDD ;是‘0’——‘9’转DDDADD DL,27H ;是‘A’——‘F’DDD: MOV AH,02HINT 21H ;显示DL中字符RETDISPL ENDPDISP PROC NEAR ;显示子程序,按十六进制数方式显示AX中的数 PUSH AX ;入栈保存MOV AL,AHCALL DISPP ;显示高字节POP AXCALL DISPP ;显示低字节RETDISP ENDPCODE ENDSEND START六、实验步骤1.按实验要求编写程序2.汇编连接程序生成可执行文件3.执行程序观察结果七、拓展练习编写程序,先显示信息“INPUT STRING ,THE END FLAG IS $”,再接收字符。