微机原理实验讲义资料

合集下载

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

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

微机原理及接口技术实验指导书第一章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,编辑并保存汇编源文件。

微机原理实验讲义

微机原理实验讲义

微机原理实验讲义程曙艳编厦门大学自动化系2016年10月汇编语言的上机过程1、建立汇编语言的工作环境至少有以下程序文件:编辑程序,文件名,使用编辑程序代码生成*.asm。

汇编程序,文件名MASM.EXE,使用masm.exe对*.asm文件进行汇编,生成*.obj 文件连接程序,文件名LINK.EXE,使用link.exe对目标文件*.obj进行连接生成*.exe 文件调试程序,文件名DEBUG.EXE,使用debug.exe对可执行文件*.exe进行调试运行(1)编辑可以用记事本或DOS下的EDIT编辑器来编写源程序。

但程序保存时文件必须取名为*.asm 。

或EDIT 文件名.asm 打开已经存在的文件。

(2)汇编在DOS状态执行masm 文件名,则屏幕显示与操作如下:(3)连接汇编后产生的目标文件必须经过连接,才能成为可执行文件.exe。

在DOS 状态执行link 文件名,则屏幕显示与操作如下:(4)运行、调试>DEBUG 文件名.exeDebug运行后,出现状态提示符短划线-常用debug命令:D,显示内存单元内容R,显示与修改寄存器内容T、P,单步执行命令G,连续执行指令U,反汇编Q,退出DEBUG程序2. 汇编语言程序格式汇编语言由若干个段组成:堆栈段(保存数据、断点等信息)代码段(存放指令)必需数据段(定义数据,分配存储单元)附加段(定义数据,分配存储单元)每段必须有且仅有一个名字,以SEGMENT定义段的起始,以ENDS定义段的结束,整个程序结束后需以END收尾STACK SEGMENT......STACK ENDSDATA SEGMENT......DATA ENDSESEG SEGMENT......ESEG ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATA,SS:STACK,ES:ESEGSTART:mov ax, datamov ds, axmov ax, esegmov es, axmov ax, stackmov ss, ax……….CODE ENDSEND START3. 程序例题:STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?)STACKS ENDSDATAS SEGMENT ;数据段;请在这里定义您的数据STRING DB 13,10,'Hello World!',13,10,'$'DATAS ENDSCODES SEGMENT ;代码段ASSUME CS: CODES, DS: DATAS START: MOV AX,DATAS ;初始化MOV DS, AX;请在这里添加您的代码LEA DX, STRING ;显示字符串MOV AH, 9INT 21HMOV AH,01 ;等待键盘输入INT 21HMOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START软件实验部分实验一二进制加、减法编程实验一、实验要求和目的1.熟悉汇编语言二进制多字节加法基本指令的使用方法;2.熟悉汇编语言二进制多字节减法基本指令的使用方法;3.掌握汇编语言编程的一般结构。

微机原理综合设计实验讲义

微机原理综合设计实验讲义

微机原理综合设计实验讲义傅中君1实验性质该实验的性质是学生学完电子线路、数字逻辑、计算机组成与结构、计算机程序设计、微机原理与汇编语言等课程后进行的一次较完整的培养学生计算机面向硬件程序设计能力的综合性、设计性实验。

该实验将通过“课内学时+课外学时”方式进行。

2 实验目的该实验对学生全面理解教学内容,尝试设计比较完整的、实用性的汇编应用程序,以及培养面向硬件的编程能力起着重要的作用。

通过该项实验,主要达到以下目的:⏹1、使学生增进对计算机工作方式和过程的感性认识,加深对计算机系统硬件编程的理解。

⏹2、使学生掌握计算机系统面向硬件程序设计的基本方法,掌握汇编语言程序设计和调试的基本技术,包括汇编、调试等。

⏹3、使学生了解和掌握计算机系统的软硬件结合程序设计过程、方法及实现,为以后学习和工作打下良好基础。

3 实验要求使学生在一定的课时内完成一个比较完整,有一定实用价值的汇编应用程序的设计和调试。

实验内容应涵盖一下方面:⏹顺序、分支、循环等程序设计;⏹子程序设计;⏹BIOS、DOS功能调用;⏹运用软件结构体系的知识规划程序结构。

4 实验安排微机原理综合设计实验按照综合性设计性实验的要求来安排,包含35个实验课题,2人1组共同完成实验课题。

每个实验课题涵盖了本课程大纲要求培养的能力和技能,最后完成一份综合设计报告。

5 综合设计报告要求实验报告按照毕业论文要求书写,包含摘要、设计任务与要求、软件总体结构及基本算法、概要设计和数据结构、软件的编写及调试、测试数据及调试中Bug分析、收获和体会、参考文献等部分。

要求学生重点讲述清楚故障分析和收获体会。

6 成绩评定⏹形成性考核⏹1、上交选题报告⏹2、上交系统概要设计⏹3、上交系统详细设计⏹4、上交完成的作品和相应的设计文档⏹5、上交课程设计总结报告⏹作品综合考评⏹设计作品综合考评由专任教师根据作品的完整性、实用性、可靠性、创造性、技术先进性等要素给出“优、良、中、合格、差”等五个级别。

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

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

实验一熟悉汇编语言环境及建立汇编的过程一、实验目的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)第二章汇编语言程序的建立和执行 (6)第三章汇编语言程序上机实验 (10)实验一两个多位十进制相加的实验 (10)实验二两个数相乘的实验 (11)实验三统计男女生人数实验 (13)实验四统计学生成绩实验 (14)实验五数据块移动与字符串搜索程序实验 (17)实验六将ASCII码转换为二进制数 (17)实验七将二进制数转换为ASCII码 (19)实验八字符和数据的显示程序 (20)实验九将键盘输入的大小写字母相互进行转换 (22)实验十求2X的实验 (24)实验十一实现分段函数的运算 (25)实验十二排序实验 (25)实验十三读文件的实验 (26)实验十四写文件的实验 (29)实验十五显示目录的实验 (30)第四章微机原理硬件部分 (32)实验一 8255A并行口实验(一)LED显示 (32)实验二 8255A并行口实验(二)PA输入,PB输出 (33)实验三 8255A并行口实验(三)控制交通灯 (34)实验四 A/D转换实验 (35)实验五 D/A转换实验(一)方波 (36)实验六 D/A转换实验(二)锯齿波 (37)实验七 8259单级中断控制器实验 (38)实验八定时/计数器8253方波 (39)实验九 8251串口实验(一)自发自收 (41)实验十8251串口实验(二)8251发送26个字母 (43)实验十一继电器控制 (44)实验十二步进电机控制 (44)实验十三小直流电机调速实验 (45)第一章汇编语言程序的基本结构汇编语言程序设计是学习微机原理课程的一个重要内容,只有通过设计一定的实验程序,并在一定的工具下完成程序的调试,才能充分理解计算机的指令系统和其工作原理。

一个完整的汇编语言源程序至少由指令语句部分和伪指令语句部分两部分语句组成。

每一条指令语句在汇编时产生一个目标代码,对应着一条机器指令;而伪指令则是为汇编程序提供编译信息及为连接程序提供链接信息。

实验讲义微机原理实验教案

实验讲义微机原理实验教案

实验仪操作步骤●在桌面上双击,进入系统界面(左图)。

●使用文件菜单,建立或打开汇编源程序文件。

●在编辑窗口输入或修改程序。

●输入、修改完后点击保存。

●点击,编译文件,若程序编译无误,则输出如下图(左)所示的输出信息,然后再点击进行链接,链接无误输出如下图(右)所示的输出信息。

●打开实验系统电源。

●点击下载程序。

为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。

下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。

起始运行语句下会有一条绿色的背景。

如左图所示。

●点击按钮,运行程序,点击按钮停止程序运行。

实验一基本I/O 接口电路设计实验实验目的(1) 掌握基本I/O 接口电路的设计方法。

(2) 熟练汇编语言I/O 端口操作指令的使用。

实验内容利用三态缓冲器74LS245、锁存器74LS374 设计微机总线和外部设备的数据通道,实现微机对外部输入数据的读取和对输出数据的输出。

用开关及LED 显示单元的开关和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。

实验原理1.输入接口设计输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。

74LS245 是一种8 通道双向的三态缓冲器,其管脚结构如图1-1 所示。

DIR 引脚控制缓冲器数据方向,DIR为1表示数据由A[7:0]至B[7:0],DIR为0表示数据由B[7:0]至A[7:0]。

G 引脚为缓冲器的片选信号,低电平有效。

图1-1 74LS245 双向三态缓冲器管脚图2.输出接口设计输出接口一般用锁存器实现,从总线送出的数据可以暂存在锁存器中。

74LS374 是一种8通道上沿触发锁存器。

其管脚结构如图1-2 所示。

D[7:0]为输入数据线,Q[7:0]为输出数据线。

CLK 引脚为锁存控制信号,上升沿有效。

当上升沿到时,输出数据线锁存输入数据线上的数据。

OE 引脚为锁存器的片选信号,低电平有效。

微机原理实验讲义机械20141

微机原理实验讲义机械20141

微机原理与接口实验目录实验一内存清零--------------------------------------------2 实验二小直流电机调速实验------------------------------------3 实验三步进电机控制----------------------------------------7 实验四继电器控制------------------------------------------16实验一内存清零一、实验目的1、掌握内存读写方法。

2、了解内存的块操作方法。

二、实验内容对指定内存起址和长度的块,要求将其内容清零。

三、实验步骤联机模式:(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开文件夹,点击XX.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。

⑵按复位键RST,查看内存4000H~4FFFH单元内容应为00脱机模式:1、在P.态下,按SCAL键,输入2DC0,按EXEC键。

2、按复位键RST,查看内存4000H~4FFFH单元内容应为00五、实验程序清单CODE SEGMENT ;S5.ASM,CLRASSUME CS:CODEORG 2DC0H ;this is a program of clear "0"START: MOV AL,00H ;CLEAR RAM:4000--4FFFHMOV BX,4000H ;内存首址CON1: MOV [BX],AL ;清零INC BX ;内存加一CMP BX,5000H ;比较末址JNE CON1 ;不等继续JMP $CODE ENDSEND START实验二小直流电机调速实验一、实验目的1、掌握直流电机的驱动原理2、了解直流电机调速的方法二、实验内容1、用0832D/A转换电路的输出经放大后驱动直流电机。

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

微机原理实验讲义程曙艳编厦门大学自动化系2016年10月汇编语言的上机过程1、建立汇编语言的工作环境至少有以下程序文件:编辑程序,文件名,使用编辑程序代码生成*.asm。

汇编程序,文件名MASM.EXE,使用masm.exe对*.asm文件进行汇编,生成*.obj 文件连接程序,文件名LINK.EXE,使用link.exe对目标文件*.obj进行连接生成*.exe 文件调试程序,文件名DEBUG.EXE,使用debug.exe对可执行文件*.exe进行调试运行(1)编辑可以用记事本或DOS下的EDIT编辑器来编写源程序。

但程序保存时文件必须取名为*.asm 。

或EDIT 文件名.asm 打开已经存在的文件。

(2)汇编在DOS状态执行masm 文件名,则屏幕显示与操作如下:(3)连接汇编后产生的目标文件必须经过连接,才能成为可执行文件.exe。

在DOS 状态执行link 文件名,则屏幕显示与操作如下:(4)运行、调试>DEBUG 文件名.exeDebug运行后,出现状态提示符短划线-常用debug命令:D,显示内存单元内容R,显示与修改寄存器内容T、P,单步执行命令G,连续执行指令U,反汇编Q,退出DEBUG程序2. 汇编语言程序格式汇编语言由若干个段组成:堆栈段(保存数据、断点等信息)代码段(存放指令)必需数据段(定义数据,分配存储单元)附加段(定义数据,分配存储单元)每段必须有且仅有一个名字,以SEGMENT定义段的起始,以ENDS定义段的结束,整个程序结束后需以END收尾STACK SEGMENT......STACK ENDSDATA SEGMENT......DATA ENDSESEG SEGMENT......ESEG ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATA,SS:STACK,ES:ESEGSTART:mov ax, datamov ds, axmov ax, esegmov es, axmov ax, stackmov ss, ax……….CODE ENDSEND START3. 程序例题:STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?)STACKS ENDSDATAS SEGMENT ;数据段;请在这里定义您的数据STRING DB 13,10,'Hello World!',13,10,'$'DATAS ENDSCODES SEGMENT ;代码段ASSUME CS: CODES, DS: DATAS START: MOV AX,DATAS ;初始化MOV DS, AX;请在这里添加您的代码LEA DX, STRING ;显示字符串MOV AH, 9INT 21HMOV AH,01 ;等待键盘输入INT 21HMOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START软件实验部分实验一二进制加、减法编程实验一、实验要求和目的1.熟悉汇编语言二进制多字节加法基本指令的使用方法;2.熟悉汇编语言二进制多字节减法基本指令的使用方法;3.掌握汇编语言编程的一般结构。

二、实验内容(1)编写程序,实现长度为2字的两个数相加。

(2)编写程序,实现一个长度为2字的数和一个长度为1字的数相减。

实验二十进制数的BCD加、减法编程实验一、实验要求和目的1.熟悉BCD码的基本知识2.熟悉汇编语言BCD码多字节加减法基本指令的使用方法;3.掌握BCD码调整指令的使用方法。

二﹑实验内容(1)编写程序,从键盘输入任意2个数,实现两数相加和相减,结果显示在屏幕上实验三二进制乘、除法编程实验一、实验要求和目的1.熟悉数据的补码表示。

2.熟悉无符号数和有符号数乘法和除法指令的使用;3.掌握符号位扩展指令的使用。

二﹑实验内容1)被除数是一个2字长的有符号数,除数是一个1字长的有符号数,求两个数相除的商和余数。

(2)求两个2字长的无符号数相乘的结果,并将结果保存在存储空间中。

实验四ASCII码表示的十进制数、二进制数和BCD的互换编程实验一、实验要求和目的1.了解汇编语言中的十进制、二进制、BCD码的表示形式;2.了解BCD值和ASCII值的区别3.了解如何查表进行数值转换及快速计算。

4.掌握利用汇编语言进行进制转换的方法。

二、实验内容(1)将一个用ASCII码表示的多位十进制转换为二进制,要求十进制不大于65535,且输入数码为无符号数。

(2)将用ASCII码表示的数字串,转化为压缩的BCD码。

三、实验提示(1)十进制数字串转二进制从最高位开始,重复进行“高位*10+低位”的操作,用公式表示为ΣDi×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D0 (2)将ASCII码转换为压缩BCD码,将ASCII码的高4位置0,再将十位ASCII 码的低4位左移至高4位,再与个位ASCII码相或。

采用约定寄存器法传递参数。

实验五字符串操作编程实验一、实验要求和目的1.了解汇编语言字符串处理基本流程;2.熟悉汇编语言字符串处理基本指令的使用方法;3.掌握利用汇编语言实现字符串处理的程序设计方法。

二、实验内容(1)编写程序,实现两个字符串比较,如相同,则显示“match”,否则,显示“NO MATCH”(2)编写程序,统计一串字符串中某字符出现的次数。

实验六排序实验一、实验要求和目的1.;掌握用汇编语言编写排序程序的思路和方法2.熟悉汇编语言分支程序基本指令的使用方法;3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法。

二、实验内容(1)从键盘任意输入10个数,要求把这些数从小到大排序,并将结果输出在屏幕上。

实验七清屏和设置光标的实验一、实验要求和目的1.掌握用INT 10H的02H功能设置光标的方法2. 掌握用INT 10H 的07H 功能清窗口和设置窗口属性的方法二、实验内容编制一个程序,先清屏,再设置光标,起始位置为第5行第6列,结束行位置为第8行第9列。

实验八大小写字母的转换实验一、实验要求和目的1.了解汇编语言字符串处理基本流程;2.熟悉汇编语言字符串处理基本指令的使用方法;3.掌握小写字母和大写字母在计算机内的表示方法二、实验内容(1)编写程序,接收键盘输入字符(以^-C为结束,即ASCII码的ETX),并将其中的小写字母转换为大写字母并显示实验九响铃及接收日期程序一、实验要求和目的1.掌握响铃的方法2. 掌握年月日输入方法二、实验内容先显示“WHAT IS THE DATA(MM/DD/YY)?”并响铃一次,然后从键盘接收输入的年月日,并显示在屏幕上。

实验十计算N!的实验一、实验目的1.了解数学函数是怎样在汇编语言上实现的2.掌握汇编程序的分支及循环程序的设计方法二、实验内容编写计算N!的程序,数值N由键盘输入,结果在屏幕上输出。

N的范围为0~10。

硬件实验部分实验一I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。

二、实验原理和内容实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

例如:执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲,执行下面两条指令MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

实验二简单并行输出接口一、实验目的掌握简单并行接口的工作原理及使用方法。

二、实验内容1、按下面图简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。

74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

三、编程提示上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:MOV AL,数据MOV DX,2A8HOUT DX,AL通过上述并行接口输入数据需要2条指令:MOV DX,2ADHIN AL,DX实验三简单并行输入接口一、实验目的掌握简单并行接口的工作原理及使用方法。

二、实验内容1、按下面图简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。

74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。

2、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。

三、编程提示1、上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:MOV AL,数据MOV DX,2A8HOUT DX,AL通过上述并行接口输入数据需要2条指令:MOV DX,2ADHIN AL,DX实验四中断控制器8259一、实验目的1、了解Windows下中断处理过程2、了解中断控制器工作原理及扩展中断控制器二、实验内容用查询和中断方式分别实现控制指示灯,要求直接用手动产生的单脉冲作为中断请求信号,每按一次单脉冲产生一次中断,PC机显示中断请求信息:中断0(IN0):mess1 db 'Hello! This is interrupt * 0 *!',0dh,0ah,'$'中断1(IN1):mess2 db 'Hello! This is interrupt * 1 *!',0dh,0ah,'$'中断2(IN2):mess3 db 'Hello! This is interrupt * 2 *!',0dh,0ah,'$'中断3(IN3):mess4 db 'Hello! This is interrupt * 3 *!',0dh,0ah,'$'中断4(IN4):mess5 db 'Hello! This is interrupt * 4 *!',0dh,0ah,'$'中断5(IN5):mess6 db 'Hello! This is interrupt * 5 *!',0dh,0ah,'$'中断6(IN6):mess7 db 'Hello! This is interrupt * 6 *!',0dh,0ah,'$'中断7(IN7):mess8 db 'Hello! This is interrupt * 7 *!',0dh,0ah,'$'接线:8259片选接IO地址译码Y68259的INTA接VCC8259的请求(IN0~IN7)分别接单脉冲信号实验五可编程定时器/计数器8254(1)一、实验目的掌握8253的基本工作原理和编程方法。

相关文档
最新文档