微机原理实验实验指导书2015

合集下载

微机原理实验指导书

微机原理实验指导书

实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。

二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。

在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。

当每条数据传送完毕时,AX中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。

三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。

2、本实验要求在PC机上完成。

3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。

4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。

如果用堆栈作为中间存储单元,必须遵循先进后出的原则。

(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。

[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。

[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。

微机原理及接口技术实验指导书(TPC-ZK-II认证)20151026

微机原理及接口技术实验指导书(TPC-ZK-II认证)20151026
7)逻辑电平开关电路
如图1.5,实验台右下方设有8个开关K7~K0,开关拨到“1”位置时开关断开,输出高电平,向下到“0”位置时开关接通输出低电平,电路中串接了保护电阻,使接口电路不直接同+5V、GND相连,防止误操作、误编程损坏集成电路。
图1.5逻辑电平开关电路
8)LED显示电路
如图1.6,实验台上设有8个发光二极管及驱动电路(输入端L7~L0),当输入信号为“1”时发光,为“0”时灭。
4)保存源程序
当前运行环境下,选择菜单栏中的“文件”菜单,菜单下拉后选择“保存”,如果是无标题文档,需在提示下输入文档的名称及选择保存的路径,单击确定后保存;否则程序自动保存当前文档显示区域中显示的文档。或者选择菜单栏中的“文件”菜单,菜单下拉后选择“另存为”,并在提示下输入文档的名称及选择保存的路径,单击确定后保存。
微机原理及接口技术
实验指导书
(2012版)
《微机原理及接口技术》课程教学团队编
2015年4月
概述/前言/课程介绍
《微机原理及接口技术实验》是电、计算机、控制等工科专业教育中的一门核心专业基础实验课,本实验由微机原理部分及接口部分组成,微机原理部分以微机指令系统,汇编程序设计为主要内容,程序设计面向16位/32位系统指今,接口部分面向3种常用的微机接口芯片8255、0832、0809开展实验,要求学生自行设计硬件电路,编程面向16位地址/数据系统,实现对接口芯片的控制并完成具体的实验要求。
汇编+链接+运行
在当前运行环境下,选择菜单栏中的“ASM编译”菜单,选择汇编+链接+运行选项则程序对当前ASM源文件进行汇编与链接,编译调试窗口中输出汇编与链接的结果,若程序汇编或链接有错,则详细报告错误信息。若汇编与链接成功,程序自动运行。

《微机原理实验指导书》2015

《微机原理实验指导书》2015

微机原理汇编及接口实验讲义电子信息工程系微机实验组2015年3月目录实验一寻址方式和汇编语言程序上机调试步骤 (1)实验二循环程序设计 (2)实验三子程序调用程序设计 (3)实验四 DOS系统功能调用 (4)实验五接口实验预备知识 (5)实验六简单的输出接口 (9)实验七简单的输入接口 (11)实验八数码管动态显示实验 (13)实验九可编程并行接口8255实验 (15)实验十可编程计数/定时器8253实验 (16)实验十一可编程中断控制器8259实验 (17)实验十二微机接口综合实验(上机测验)集成电路内部原理及管脚图 (21)实验一寻址方式和汇编语言程序上机调试步骤一、实验目的1、掌握在HQFC环境下8086的寻址方式。

2、掌握在HQFC环境下汇编语言程序上机步骤及调试过程。

3、掌握连续执行、单步执行、跳过执行及设置断点的方法。

4、掌握连续执行、单步执行过程中如何查寄存器、存储器、堆栈中的数据。

二、实验内容1、在HQFC环境下单步执行下列指令,查看每条指令的执行过程,随时查看寄存器、存储器、堆栈及反汇编窗口并记录执行结果,查看、记录每条指令的操作码和操作数,查看、记录所有指令的反汇编结果。

code segmentassume cs:codestart: mov ax,1234hmov bx,4321hadd ax,bxmov cx,axpush cxpop dxloop: jmp loopcode endsend start将3、4语句1234h、4321h改为1234、4321后再执行程序,观察结果寄存器窗口,说明变化原因。

在语句PUSH CX设置断点,连续执行后查看结果,说明设置断点对程序调试有何作用?2、在数据段X单元存放有数据42,Y单元存放有数据-43,编程求这两数之和,并把结果存放到S单元,编写出完整程序,上机调试,查看、记录执行结果。

3、已知数据段X单元存放的数据为10H,编程将该数据左移四位后存放到Y单元,编写出完整程序,上机调试,查看、记录执行结果。

微机原理实验指导书 何小海 严华

微机原理实验指导书 何小海 严华

实验一数据传送一、实验目的熟悉星研集成环境软件的使用方法。

熟悉Borland公司的TASM编译器熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。

二、实验内容1、熟悉星研集成环境软件。

2、编写程序,实现数据段的传送、校验。

使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256在I/O设备区,使用IOR、IOW读写;再将它传送回数据段的6000H~60FFH中。

三、程序流程图(学生根据实验内容设计)四、实验步骤在DS段内3000H~30FFH中输入数据;使用单步、断点方式等调试程序,检测DS段内6000H ~60FFH中的内容。

熟悉查看特殊功能寄存器、CS段、DS段的各种方法。

五、程序清单(参考)本实例的源程序如下:.MODEL TINY ;memory mode : tiny.STACK 100 ;堆栈.CODE ;开始程序段START: MOV AX,@DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DX,2000HSTART1: MOV AL,[SI]OUT DX,ALINC SIINC DXLOOP START1MOV DI,6000HMOV DX,2000HMOV CX,100HSTART2: IN DX,ALMOV [DI],ALINC DIINC DXLOOP START2SJMP $Move ENDPEND START六、思考题编写一个程序,将数据段中2000H~20FFH单元的内容传送给数据段的6000H~60FFH中。

实验内容:1、用所学过的寻址方式编程实现将存储单元DS:1000H单元的内容送到DS:2020H单元。

2、设各寄存器及存储单元的内容如下:(DS)=0500H,(BX)=0010H,(SI)=0001H,(05010)=12H,(05011)=34H,(05012)=56H,(05013)=78H,(05120)=ABH,(05121)=CDH,(05122)=EFH,说明下列各条指令执行完后AX寄存器中的内容。

微机系统与接口技术实验指导书(2015版-200份)

微机系统与接口技术实验指导书(2015版-200份)

微机系统与接口技术实验指导书李鹤喜杭维颖张健五邑大学计算机学院2015.9目录目录 (I)上篇 16位微机原理及汇编程序设计实验 (2)一、系统认识实验 (2)二、数制转换实验 (7)三、运算类编程实验 (13)四、分支程序设计实验 (18)五、循环程序设计实验 (21)六、排序程序设计实验 (23)七、子程序设计实验 (26)八、查表程序设计实验 (30)下篇 80X86微机接口技术及其应用实验 (32)一、8255并行接口实验(1)-流水灯显示实验 (32)一、8255并行接口实验(2)——步进电机实验 (37)二、8251串行接口应用实验 (40)三、8254定时/计数器应用实验 (50)四、8259中断控制实验 (55)五、A/D转换实验 (63)六、D/A转换实验 (68)七、键盘扫描及显示设计实验 (71)八、电子发声设计实验 (76)九点阵LED显示设计实验 (81)I2上篇 16位微机原理及汇编程序设计实验本篇主要介绍汇编语言程序设计,通过实验来学习80X86的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。

一、系统认识实验1.1 实验目的掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

1.2 实验设备PC机一台,TD-PITE实验装臵或TD-PITC实验装臵一套。

1.3 实验内容编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。

1.4 实验步骤1. 运行Wmd86软件,进入Wmd86集成开发环境。

2. 根据程序设计使用语言的不同,通过在‚设臵‛下拉列表来选择需要使用的语言和寄存器类型,这里我们设臵成‚汇编语言‛和‚16位寄存器‛,如图1-1、图1-2所示。

设臵选择后,下次再启动软件,语言环境保持这次的修改不变。

本章选择16位寄存器。

图1-1 语言环境设臵界面3图1-2 寄存器设臵界面3. 语言和寄存器选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-3所示。

微机原理实验指导书1_2_4_5

微机原理实验指导书1_2_4_5

微机原理实验指导书郑州大学电气工程学院目录实验一比较字符串实验 (1)实验二两个多位十进制数相加的实验 (14)实验三两个数相乘的实验 (18)实验四键盘输入并显示实验 (21)实验五统计学生成绩 (25)实验六 8259A 中断控制器实验 (29)实验七 8253计数器/定时器实验 (34)实验八 8255并行接口实验 (37)实验九 8251A 串行接口实验 (43)实验十 A/D 实验 (51)附录一调试程序DEBUG (51)附录二汇编程序出错信息 (59)实验一比较字符串实验一.实验目的1.掌握分支程序的设计方法。

2.熟悉在PC机上建立、汇编、链接、调试和运行8086汇编程序的过程。

二.实验内容1.比较两个字符串STRING1和STRING2所含的字符是否相同,若相同则显示‘Match’,否则显示‘No Match’。

2.修改程序,显示所比较字符的个数。

三.程序清单DATAREA SEGMENTSTRING1 DB 'Move the cursor backward.'STRING2 DB 'Move the cursor backward.'MESS1 DB 'Match.',13,10,'$'MESS2 DB 'No match.',13,10,'$'DATAREA ENDSPROGNAM SEGMENTMAIN PROC FARASSUME CS:PROGNAM,DS:DATAREA,ES:DATAREASTART: PUSH DSSUB AX,AXPUSH AXMOV AX,DATAREAMOV DS,AXMOV ES,AXLEA SI,STRING1LEA DI,STRING2CLDMOV CX,STRING2-STRING1REPZ CMPSB?LEA DX,MESS2?MATCH: LEA DX,MESS1DISP: MOV AH,09HINT 21HRETMAIN ENDPPROGNAM ENDSEND START四.实验方法1.用编辑程序EDIT.EXE建立源文件EDIT D101-1.ASM↙在编辑状态下输入源程序,存盘后退出编辑状态。

微机原理实验指导书

微机原理实验指导书

目录实验一并行接口8255应用实验 (1)实验二交通灯模拟控制实验 (5)实验三可编程定时器8254应用实验 (9)实验四8254控制继电器实验 (13)实验五DAC0832数模转换实验 (17)实验六ADC0809模数转换实验 (21)实验七串行通信8251应用实验 (25)实验一并行接口8255应用实验一、实验目的1.掌握8255工作方式0的使用方法;2.掌握8255I/O口的输入输出使用方法;3.了解8255、电平开关、LED发光二极管的电路连接。

二、实验内容1、逻辑电平开关和LED显示电路如图1-1所示,8255的电路连接如图1-2所示。

2、利用8255C口作为并行数据的输入端(逻辑电平开关实现),A口作为并行数据的输出端(LED显示电路实现),当电平开关拨到上方时对应发光二极管亮,拨到下方时对应发光二极管灭,编写程序。

图1-1 逻辑电平开关和LED显示电路图1-2 8255接线电路三、接线方案PC0~PC7/8255 接K0~K7/逻辑电平开关PA0~PA7/8255 接L0~L7/LED显示CS/8255 接Y1/IO地址图1-3实验线路四、编程提示及流程图1、A口地址—288H;B口地址—289H;C口地址—28AH;8255控制寄存器端口地址—28BH。

2、参考程序流程图如图1-4所示。

图1-4 参考程序流程图五、实验步骤1、连接USB通信电缆和电源线;2、根据图1-3实验线路进行电路连接;3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;4、点击“编译”,并确保实验程序没有语法错误;5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;7、观察实验现象,并记录。

若实验现象有误请重复第4~6步。

六、参考程序;*******************************;;* 8255方式0的C口输入,A口输出 *;;*******************************;data segmentio8255a equ 288hio8255b equ 28bhio8255c equ 28ahdata endscode segmentassume cs:codestart:mov ax,datamov ds,axmov es,axmain:mov dx,io8255b ;设8255为C口输入,A口输出mov al,() ;计算控制字out dx,alinout: mov dx,() ;从C口输入一数据in al,dxmov dx,() ;从A口输出刚才自C口out dx,al ;所输入的数据jmp inout ;跳转,则继续自C口输入,A口输出code endsend start七、思考题1、根据程序要求补充实验程序,并执行程序观察现象;2、修改程序,电平开关拨到上方时发光二极管灭,拨到下方时发光二极管亮。

微机实验指导书-学生使用(2015定稿)-A.

微机实验指导书-学生使用(2015定稿)-A.

《微机原理与接口技术》实验指导书2015年11月杭州电子科技大学自动化学院说明1)实验室禁止吃东西,实验完成请把垃圾清理、自行带走。

2)微机实验箱拔插数据\通信线,操作连线时必须断电。

3)在同步PC和实验箱无法正常连接时,按实验箱REST(复位键)。

4)试验代码:CODE SEGMENT ;发光二极管移位实验PA7...0->L1 (8)ASSUME CS:CODEPA EQU 0FF28HPB EQU 0FF29HPC EQU 0FF2AHPCTL EQU 0FF2BHORG 11B0HSTART: MOV AL,80H ;命令字:输出口MOV DX,PCTLOUT DX,ALMOV AL,7fH ;第一位点亮MOV DX,PALED: OUT DX,ALMOV CX,20H ;延时CALL DELYROR AL,1 ;右移一位JMP LED ;循环DEL Y: PUSH CX ;延时子程序DEL2: PUSH CXDEL3: PUSH CXLOOP $POP CXLOOP DEL3POP CXLOOP DEL2POP CXLOOP DELYRET CODE ENDS END START目录第一章系统概述 (1)1.1 系统主要特点 (1)1.2 系统资源分配 (1)1.3 系统配置 (2)第二章系统组成和结构 (3)2.1 系统接口定义 (3)2.2 系统硬件组成 (5)第三章系统安装与使用 (9)第四章键盘监控使用简介 (10)4.1 引言 (10)4.2 键盘显示 (10)4.3 功能键操作说明一缆表 (10)4.4总操作过程 (10)4.5监控程序命令及操作 (11)第五章8086K实验系统与PC机联机操作 (13)5.18086K软件概述 (13)5.28086K软件安装 (13)5.38086K软件启动和联机 (13)5.48086K软件主窗口 (14)5.5菜单栏和工具栏命令简介 (14)第六章实验指导 (17)软件实验 (18)实验一二进制多位加法运算 (18)实验二二进制码转换为BCD码 (19)实验三BCD码转换为二进制码 (20)实验四十进制数的BCD码相减运算 (21)实验五数码显示 (22)实验六求最大值和最小值 (23)硬件实验 (24)实验一A/D转换实验 (24)实验二D/A转换实验(一) (26)实验三D/A转换实验(二) (28)实验四8255A并行口实验(一) (29)实验五8255A并行口实验(二) (30)实验六定时器/ 计数器 (32)实验七8259单级中断控制器实验 (34)实验八小直流电机调速实验(选做) (36)实验九电子琴实验(选做) (37)实验十温度控制实验(选做) (38)附录一、88部分实验接线汇总表 (40)第一章系统概述引言本《实验指导书》适用于8086/88微机实验开发系统,本书就598K实验开发系统的8086部分作详细介绍,其它机型均可参考。

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

微型计算机原理与应用实验指导书上海大学通信学院2015 年 3 月实验一8051单片机简单编程与调试一、实验目的通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。

学会Proteus与Keil的整合调试。

二、实验基本要求建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。

画出实验程序的流程框图。

三、实验步骤采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤:1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。

在菜单栏中选择“Project” →“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。

在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。

如图所示。

点击“确定”按钮后,弹出如下的对话框如果是进行汇编语言编程选择“否”。

2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。

一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。

在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File” →“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。

单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。

程序编写完后,再次保存。

在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。

在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group中,此时“Project Workspace”子窗口如图所示。

3、通过μVision2的各种选项,配置Cx51编译器、Ax51宏汇编器、BL51/.Lx51连接定位器以及Debug调试器。

在“Project Workspace”窗口中的“Target 1”文件夹上单击鼠标右键,在弹出的右键菜单中选择“Option for Target”选项,这时会弹出“Options for Target”对话窗口,在此对话窗口中选择“Output”选项卡,选中“Create HEX File”选项,如图所示。

4、利用μVision2的构造(Buid)功能对项目中的源程序文件进行编译连接,生成绝对代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源程序中的错误后重新构造整个项目。

在Keil的菜单栏中选择“Project”→“Build Target”命令,编译汇编源文件。

如果编译成功,则在“Output Window”子窗口中会显示如图所示的信息;如果编译不成功,双击“Output Window”窗口中的错误信息,则会在编辑窗口中指示错误语句。

5、将没有错误的绝对代码装入 Vision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中。

在Keil的菜单栏中,选择“Debug”→“Start/Stop Debug Session”选项,进入程序调试环境,如图所示。

按“F11”键,单步运行程序。

在“Project Workspace”窗口中,可以查看累加器、通用寄存器及特殊功能寄存器的变化。

在“Memory”窗口中,可以看到每执行一条语句后存储空间的变化。

在“Address”栏中,输入“D: 30H”,查看AT89C51的片内直接寻址空间。

程序调试完毕后,再次在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,退出调试环境。

在Proteus中调试程序打开Proteus ISIS编辑环境,在菜单栏中选择“File”→“Load Design”弹出“Load ISIS Design File”对话窗口,选择要打开的Proteus的.DSN设计文件。

在本实验中,设计文件为本实验子目录下的Basic.DSN单击鼠标右键选中AT89C51并单击鼠标左键,打开“Edit Component”对话窗口,在此窗口中的“Program File”栏中,选择先前用Keil生成的.HEX文件,如图所示。

单击Proteus ISIS界面左下角的按钮,进入程序调试状态,并在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal (IDATA) Memory”及“8051 CPU SFR Memory”三个观察窗口,按“F11”键,单步运行程序。

在程序运行过程中,可以在这三个窗口中看到各寄存器及存储单元的动态变化。

Proteus 与Keil整合调试及电路仿真在Proteus的“Debug”菜单中选择“Use Remote Debug Monitor”选项,如图所示。

选择Keil的“Project”→“Options for Target ‘Target 1’”,在弹出的对话框中,单击Debug选项卡,单击右上部的下三角按钮选择“Proteus VSM Monitor-51 Driver”如图所示。

单击“Setting”进入对话框填写如图所示的IP地址和端口号。

在Keil中,在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,Keil 系统进入调试状态。

同时Proteus也进入调试状态。

这时可以调整这两个软件窗口的大小,使它们同时出现在桌面上,这样就可以同时观察这两个软件运行的情况了。

在Proteus的调试状态下,在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal(IDATA) Memory”、“8051 CPU SFR Memory”三个观察窗口,在单步运行程序的过程中,可以在这三个窗口中看到各寄存器以及存储单元的动态变化。

四、实验内容1. 实验内容1Porteus模型为BASIC.DSN如下图所示。

(1)存储块置全“1”源代码:汇编语言源程序:ORG 00HSTART E QU 30HMOV R1,#START ;起始地址;Rn中设置32字节计数值MOV A,#0FFHLOOP: MOV @R1,A;指向下一个地址;计数值减1,不为零继续SJMP $END在下划线处填入适当指令。

输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。

解释START EQU 30H。

(2)二进制BCD码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HLJMP STARTSTART: ;堆栈指针指向40HMOV A,#123LCALL BINTOBACSJMP $BINTOBAC:;除以100得百位数MOV RESULT,AMOV A,BMOV B,#10DIV AB ;余数除以10得十位数MOV RESULT+1,AMOV RESULT+2,B ;余数为个位数RETEND在下划线处填入适当指令。

用单步执行的方法,观察子程序调用过程中堆栈指针的变化。

(3)二进制ASCII码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HSTART:MOV A,#1AH;调用BINTOHEX子程序LJMP $BINTOHEX:;表的首址ASCIITAB送DPTR MOV B,A ;暂存ASWAP A;取A的高四位;查ASCII表MOV RESULT, AMOV A,B ;恢复AANL A,#0FH ;取低四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT+1,ARETASCIITAB:DB '0123456789ABCDEF' ;定义数字对应的ASCII表END在下划线处填入适当指令。

单步运行程序观察查表指令的执行过程。

把LJMP $这条指令注释掉,然后全速运行该程序,然后让其停止观察程序执行到哪里?2. 实验内容2输入、汇编、调试下列四个程序,通过信息窗口观察并回答问题。

(1)程序a.asmORG 0000HMOV 30H,#87HMOV A,#69HADD A,30HNOPEND问:CY= ,(A)= ,OV= ,P=将程序中的指令NOP改为指令DA A后问:CY=,(A)= ,OV= ,P=(2)程序b.asmORG 0000HMOV SP,#60HMOV DPTR,#0A679HPUSH DPHPUSH DPLMOV A,#80HPUSH ACCPOP BPOP 30HPOP 31HNOPEND问:(SP)= ,(A)= ,(30H)= ,(31H)=,(B)=,(DPH)=,(DPL)=(3)程序c.asmORG 0000HMOV DPTR,#TABMOV A,#05HMOVC A,@A+DPTRNOPORG 1000HTAB: DB 6FH,30H,96H,75H,0A8H,0FEHDB 49H,8AH,5FH,0B6H,7FH,0C4HEND问:执行完MOVC A,@A+DPTR以后,(A)=(4)程序d.asmORG 0000HMOV A,#02HMOV B,ARL AADD A,BMOV DPTR,#TABJMP @A+DPTRNOPORG 0800HTAB: LJMP 1000HLJMP 2000HLJMP 3000HLJMP 4000HEND问:执行完JMP @A+DPTR以后,PC=实验二8051单片机汇编语言程序设计一、实验目的通过上机实验掌握单片机汇编语言程序的编写和调试。

二、实验基本要求按实验内容上机输入并调试实验程序。

画出实验程序的流程框图。

三、实验内容Proteus模型为BASIC.DSN。

1.内存块移动汇编语言源程序:ORG 00HSTART: MOV R0, #30HMOV R1, #00H ;设置源地址MOV R2, #40HMOV R3, #00H ;设置目标地址MOV R7, #0 ;设置计数值LOOP: MOV DPH, R0MOV DPL, R1 ;将源地址(3000H)赋DPTRMOVX A, @DPTR ;取源地址中的数据MOV DPH, R2MOV DPL, R3 ;将目标地址(4000H)赋DPTR MOVX @DPTR, A ;将源地址中的数据送到目标地址INC R1 ;源地址加1INC R3 ;目标地址加1DJNZ R7, LOOPLJMP $END输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。

相关文档
最新文档