微机实验报告一
微机软件实验报告

一、实验目的1. 熟悉微机软件的基本概念和原理。
2. 掌握微机软件的开发流程和常用工具。
3. 提高编程能力和软件设计能力。
4. 理解微机软件在各个领域的应用。
二、实验环境1. 操作系统:Windows 102. 编程语言:C++3. 开发工具:Visual Studio 20194. 实验设备:个人电脑一台三、实验内容本次实验主要分为以下几个部分:1. 微机软件概述- 微机软件的概念及分类- 微机软件的发展历程- 微机软件在各个领域的应用2. C++编程基础- 变量和数据类型- 运算符和表达式- 控制结构(条件语句、循环语句) - 函数- 数组- 指针3. Visual Studio 2019开发环境- 创建项目- 编写代码- 编译和调试程序4. 实验项目:计算器程序设计- 界面设计- 功能实现- 测试与优化四、实验步骤1. 微机软件概述- 通过查阅资料,了解微机软件的基本概念、分类、发展历程和应用领域。
- 思考微机软件在日常生活、工作学习中的应用。
2. C++编程基础- 学习C++编程基础,包括变量、数据类型、运算符、控制结构、函数、数组、指针等。
- 通过编写简单的程序,巩固所学知识。
3. Visual Studio 2019开发环境- 安装并熟悉Visual Studio 2019开发环境。
- 创建一个新项目,并编写简单的C++程序。
4. 实验项目:计算器程序设计- 设计计算器界面,包括按钮、文本框等控件。
- 编写程序实现计算器的功能,如加、减、乘、除等运算。
- 对程序进行测试,确保功能正确无误。
- 优化程序,提高运行效率。
五、实验结果与分析1. 微机软件概述- 通过实验,掌握了微机软件的基本概念、分类、发展历程和应用领域。
- 认识到微机软件在各个领域的广泛应用,如操作系统、办公软件、游戏、数据库等。
2. C++编程基础- 通过实验,掌握了C++编程基础,包括变量、数据类型、运算符、控制结构、函数、数组、指针等。
南邮微机原理实验报告

微机原理硬件实验报告实验一 I/O 地址译码一、实验目的1、掌握 I/O 地址译码电路的工作原理。
二、实验内容及原理实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,…… 当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
根据图1-1,我们可以确定A9~A3,AEN,IOW,IOR的值。
要使译码电路正常工作,必须使处于低电平有效。
因而可以确定A6=A8=0,A7=A9=1,AEN=0,IOW与IOR不可同时为1(即不能同时读写)。
当要从Y4输出低脉冲时,A5A4A3=100;从Y5输出时,A5A4A3=101。
综上所述,Y4输出时,应设置值2A0H(A9~A0=1010100000B);Y5输出时,应设置值2A8H(A9~A0=1010101000B)。
执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲到D触发器的CLK上,因为D=1(接了高电平+5V),所以Q被赋值为1.延时一段时间(delay);执行下面两条指令;MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲到CD,D触发器被复位,Q=0。
再延时一段时间,然后循环上述步骤。
利用这两个个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。
三、硬件接线图与软件流程图硬件接线:Y4/IO 地址接 CLK/D 触发器Y5/IO地址接 C/D触发器D/D触发器接 SD/D角发器接+5VQ/D触发器接 L7(LED灯)或逻辑笔软件流程图:四、源程序OUTPORT1 EQU 2A0H ;预置,方便修改OUTPORT2 EQU 2A8HCODE SEGMENTASSUME CS:CODESTART: MOV DX,OUTPORT1 ;根据原理图设定A9~A0 的值(Y4)OUT DX,AL ;让译码器Y4 口输出一个负脉冲CALL DELAY ;延时MOV DX,OUTPORT2 ;根据原理图设定A9~A0 的值(Y5)OUT DX,AL ;让译码器Y5 口输出一个负脉冲CALL DELAY ;延时MOV AH,1 ;调用1 号DOS 功能,等待键盘输入INT 16HJE START ;若有键盘输入则退出程序,否继续循环MOV AH,4CHINT 21HDELAY PROC NEAR ;延时子程序MOV BX,200 ;时延长度 (200)A: MOV CX,0B: LOOP BDEC BXJN E ARETDELAY ENDPCODE ENDSEND START五、实验结果LED 灯处于闪烁状态,键盘有输入后,成功退出。
微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。
二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。
(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。
(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。
2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。
(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。
(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。
3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。
(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。
(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。
4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。
(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。
(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。
三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。
2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。
3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。
4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
微机原理及应用中南大学实验报告

微机原理及应用实验报告实验一单片机仿真开发机操作和MCS-51指令系统应用一、实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;3、掌握程序的调试和运行的各种方法。
二、实验说明1.输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的变化。
2.选中此项keil为纯软件仿真。
3.编写程序上机调试通过,实验报告要求提交程序流程图及源程序。
三、实验内容及步骤(完成分值:60分)本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真(不需要连接仿真器就可以仿真)。
1.新建工程项目2.设置工程文件参数3.编写新程序事例4.调试程序直至能够运行出结果。
四、参考实验程序AJMP MAINORG 0030HMAIN: MOV R0,#20HMOV R2,#0FHMOV A,#00HA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#20H ;暂停,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030H ;断点,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,@DPTRMOVX @R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。
五、附加题(完成分值:10分/单个附加题,附加题要求当场给指导老师检查结果,否则无效。
其中1、2、3附加题要求写在实验报告上)1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光标处”功能,程序快速执行到光标所在行。
观察运行情况,并记录下表。
R0 R2 A 20H 21H 22H 23H 24H 25H2FH 00H 0FH 00H 01H 02H 03H 04H 05H26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH06H 07H 08H 09H0AH 0BH 0CH 0DH 0EH2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容R0 DPL 7000H 7001H 7002H 7003H 7004H 7005H 7006H2FH 01H 0FH 01H 02H 03H 04H 05H 06H7007H 7008H 7009H 700AH 700BH 700CH 700DH 700EH07H 08H 09H 0AH 0BH 0CH 0DH 0EH3.画出程序流程图4.修改程序,实现新功能(例如搬运数据时实现倒序,变成对应的BCD码,请自行考虑与别人不同的功能,同组同学已经实现过的功能不算新功能)答:由程序可知,子程序Al产生数据,子程序A2将产生的数据搬运至7000H开头的地址,子程序A3将7000H开头的地址搬运至30H开头的地址。
微机控制实验报告

实验一 采样与保持仿真实验一、实验目的与要求1、了解数/模转换器的零阶保持器作用。
2、验证零阶保持器在控制系统中的作用。
3、验证采样周期对系统稳定性的影响。
4、学习控制系统计算机辅助设计软件MATLAB 及其仿真环境SIMULINK 的使用。
二、仿真软硬件环境 PC 机,MATLAB R2009。
三、实验原理其中零阶保持器描述回路的采样功能和D/A 转换器的保持功能。
四、SIMULINK 仿真结构图 五、仿真实验记录 六、思考题1、在微机控制系统中采样周期T 的选择应注意哪些方面答:采样周期取越小值,复现精度就越高,也就是说“越真”。
若采样-+ ○×R C周期太长。
计算机控制系统受到的干扰就得不到及时克服而带来很大误差,使系统动态品质恶化,甚至导致计算机控制系统的不稳定。
2、若模拟量在A/D转换时变化较大,是否要加保持器为什么答:从启动信号转换到转换结束的数字输出,经过一定时间,而模拟量转换期间,要求模拟量信号保持不变,所以必须用采样保持器.该电路具有两个功能:采样跟踪输入信号;保持暂停跟踪输入信号,保持已采集的输入信号,确保在A/D转换期间保持输入信号不变。
在A/D转换期间,为了使输入信号不变,保持在开始转换时的值,通常要采用一个采样保持电路。
对于MCS-96单片机的A/D转换器,启动转换实际上是把采样开关接通,进行采样,过一段时间后,开关断开,采样电路进入保持模式,才是A/D真正开始转换。
3、D/A转换器为什么会具有零阶保持器的作用答:在这种结构中每一个通道都有一个D/A转换器。
D/A转换器是按照采样周期T对控制器输出的数字量进行D/A转换的,但由于D/A转换器具有数据输入锁存功能,它能够在接收下一组数字量之前,一直保持前一组数字量不变,因而D/A转换器的输出模拟量,能够在一个采样周期内保持不变,也就是说,D/A转换器本身就具有零阶保持器的功能。
4、计算机控制系统模拟量输出通道中若无零阶保持器会出现什么问题答:模拟量输出通道中要有输出保持器,这是因为计算机控制是分时的,每个输出回路只能周期地在一个时间片上得到输出信号,即这时执行部件得到的是时间上离散的模拟信号,而实际的执行部件却要求连续的模拟信号,因此为了使执行部件在两个输出信号的间隔时间内仍然能得到输出信号,就必须有输出保持器,通过它将前一采样控制时刻的输出信号保持下来,直到下一个采样控制时刻到来,重新得到新的输出信号计算机控制系统中通常采用零阶保持器,即前一采样时刻的输出值原封不动的(理想化的)保持到下一采样时刻到来。
微机原理实验报告

微机原理实验报告实验⼀DEBUG 调试实验类型:实验课时:指导教师:时间:2013 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.练习使⽤DEBUG,调试简单汇编程序。
⼆、实验要求1.掌握DEBUG的使⽤,调试程序。
2.读懂程序中各条指令,说明程序功能。
三、实验内容1.启动DEBUG,⽤A命令输⼊并汇编下列程序段。
100 MOV SI,200103 MOV CX,10106 MOV AL,0108 MOV [SI ],AL10A INC SI10B INC AL10D DEC CX10E JNZ 108110 INT 3四、实验结果及分析实验⼆简单汇编语⾔设计实验类型:实验课时:指导教师:时间: 2012 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.巩固DEBUG及宏汇编的使⽤。
2.加深对指令的理解。
⼆、实验要求1.设堆栈指针SP=2000H,(AX)=3000H,(BX)=5000H。
请编⼀程序将AX的内容和BX的内容进⾏交换。
请⽤堆栈作为两寄存器交换内容的中间存储单元,⽤DEBUG调试程序进⾏汇编与调试。
2.设DS=当前段指地址,(BX)=0300H,(SI)=0002H,请⽤DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装⼊0AH、0BH、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将两个寄存器的内容进⾏交换时,必须有⼀个中间寄存器才能进⾏内容的交换,如果⽤堆栈做为中间存储单元,必须遵循先进后出的原则。
微机保护 功能实验报告

微机保护功能实验报告引言随着计算机应用的普及和发展,我们越来越依赖于计算机进行工作和生活。
然而,计算机作为一种电子设备,也存在各种潜在的风险,如病毒和黑客攻击等。
为了保护计算机的安全和正常运行,我们进行了一系列微机保护功能的实验。
本报告旨在总结和分享这些实验的过程和结果。
实验目的1. 了解计算机系统的基本架构和工作原理;2. 学习常见的微机保护功能并掌握其原理和使用方法;3. 分析和评估各类微机保护功能的效果和局限性。
实验内容实验一:防病毒程序的安装和使用1. 了解病毒的分类和感染方式;2. 下载并安装主流的防病毒软件;3. 进行病毒扫描并清除感染的文件。
实验二:防火墙的配置和使用1. 了解防火墙的原理和分类;2. 配置操作系统内置的防火墙或使用第三方防火墙软件;3. 模拟攻击并测试防火墙的效果。
实验三:网络安全认证1. 学习网络安全认证的概念和原理;2. 配置和使用无线网络的加密认证功能;3. 进行无线网络攻击和抵抗的测试。
实验四:数据备份与恢复1. 了解数据备份和恢复的方法和工具;2. 配置自动或手动定期备份重要数据;3. 模拟数据丢失并进行恢复操作。
实验五:密码管理与安全使用习惯1. 学习创建强密码的原则和方法;2. 应用密码管理工具进行账户和密码的管理;3. 养成良好的密码安全使用习惯。
实验结果通过以上实验,我们获得了以下结果和收获:1. 防病毒程序的安装和使用可以有效提升计算机的安全性,及时清除病毒并保护系统;2. 配置和使用防火墙可以阻止外部攻击并控制程序的网络访问权限;3. 网络安全认证可以保护无线网络的安全,防止未经授权的设备接入;4. 数据备份与恢复是防止数据丢失的重要手段,及时备份可以最大程度减少数据损失;5. 密码管理和安全使用习惯是保护个人账户安全的基础,创建强密码和定期更换密码是必要的。
实验总结通过完成以上实验,我们深入了解了计算机保护功能的原理和使用方法。
同时,我们也发现了一些局限性,如病毒无法完全杜绝、防火墙可能导致误拦截、密码管理仍然面临被猜测等。
微机原理软件实验报告

实验名称:汇编语言程序设计实验日期:2023年3月10日实验地点:计算机实验室实验者:张三一、实验目的1. 熟悉汇编语言的基本语法和指令系统。
2. 掌握汇编语言程序设计的基本方法。
3. 通过实验,加深对微机原理的理解。
二、实验内容本次实验主要涉及以下内容:1. 数据传送指令的应用2. 算术运算指令的应用3. 控制转移指令的应用4. 子程序设计三、实验步骤1. 编写一个简单的程序,实现以下功能:(1)将数据0x1234存入寄存器AX;(2)将数据0x5678存入寄存器BX;(3)计算AX和BX的乘积,并将结果存入寄存器DX;(4)将乘积的高16位和低16位分别存入寄存器CX和AX。
2. 编写一个程序,实现以下功能:(1)将数据0x1A2B3C4D存入内存单元[0x1000];(2)从内存单元[0x1000]开始,读取连续4个字节的数据;3. 编写一个程序,实现以下功能:(1)定义一个子程序,实现两个整数的加法运算;(2)在主程序中调用该子程序,实现两个整数的加法运算。
四、实验结果与分析1. 数据传送指令的应用(1)将数据0x1234存入寄存器AX;MOV AX, 0x1234(2)将数据0x5678存入寄存器BX;MOV BX, 0x5678(3)计算AX和BX的乘积,并将结果存入寄存器DX;MUL BX(4)将乘积的高16位和低16位分别存入寄存器CX和AX; MOV CX, DXMOV AX, DX2. 算术运算指令的应用(1)将数据0x1A2B3C4D存入内存单元[0x1000];MOV [0x1000], 0x1A2B3C4D(2)从内存单元[0x1000]开始,读取连续4个字节的数据; MOV AX, [0x1000]MOV BX, [0x1000+2]MOV CX, [0x1000+4]MOV DX, [0x1000+6]MOV AH, 0x0EINT 0x103. 控制转移指令的应用(1)定义一个子程序,实现两个整数的加法运算;ADD procedure:ADD AX, BXRET(2)在主程序中调用该子程序,实现两个整数的加法运算;MOV AX, 0x1MOV BX, 0x2CALL ADDMOV CX, AX五、实验心得通过本次实验,我深刻理解了汇编语言的基本语法和指令系统,掌握了汇编语言程序设计的基本方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称Keil的使用与汇编语言上机操作成绩______________ 一、任务要求1•掌握Keil环境的使用1)字节拆分、合并:调试e421.asm程序,观察相关寄存器和单元的内容。
2)数据块填充:调试fill.asm程序,观察相关寄存器和单元的内容。
2.编写多个十六位数的加法程序有4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。
要求:和存于R3 (高八位)和R2 (低八位),进位位存于R4。
二、设计思路实验一已给出程序代码,不需要设计,下面阐明实验二,编写多个十六位数的加法程序的设计思路。
十六位数相加,先是低八位相加,低八位相加不用考虑进位,所以,此时用ADD指令,但因为在每次循环时都有CLR C操作,所以也可以用ADDC指令。
而且题目中要求将和的低八位存于R2,所以将每次低八位相加的和存于R2,然后从R2中取值求和。
低八位相加后高八位相加,因为必须处理低位相加的进位问题,所以必须用ADDC 指令。
而且因为要求高位和存于R3,所以将每次计算的和存于R3,每次从R3中取数跟新的高八位相加另外考虑到高位进位的问题,所以必须安排一个地址单元或者寄存器存放最高位正是因为每次循环中,进位都会被处理,所以每次循环开始要CLR C。
三、资源分配4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。
和存于R3 (高八位)和R2 (低八位),进位位存于R4。
R0和R1作为数据指针,存放低八位和高八位的地址。
循环次数存于R5。
四、流程图Cyj ■ ■*YESR4—A 进位存于KH五、源代码(含文件头说明、语句行注四个十六位数的加法程序File n ame: 3.asmDescriptio n: 四个十六位数的加法程序Date: 2016/09/23 Desig ned by: 陈钰軌元初始賦值RO —20H指針賦初值NOR2*-(20H)(2111) R4—QOH 寄存器赋值R2,R3,R4,R5 寄存器20H-27HORG 0000HLJMP MAINORG 0100H MAIN: MOV R0,#20HMOV R1,#21HMOV R2,20HMOV R3,21HMOV R4,#00HMOV R5,#03H LOOP: CLR CMOV A,R2INC ROINC R0ADD A,@R0MOV R2,AMOV A,R3 ;设数据指针;R2 —(20H),R3 —Source used: R0,R1数据指针;进位清零;A —R2;R0—R0+1+1 , R0指向下一个低八位;A—A+(R0),低八位相加;R2—A,低八位的和存于R2;A —R3(21H);最高位进位清零;设置循环次数INC R1INC R1 ;R1 — R1+1+1 , R1指向下一个高八位ADDC A,@R1 ;A — A+(R1)+C ,高八位加进位的和 MOV R3,A;R3—A ,高八位的和存于 R3CLR A ;A 寄存器清零ADDC A,R4 ;A —A+R4+C ,计算进位 MOV R4,A;R4—A ,进位信息存入 R4DJNZ R5,L00P ;判断R5是否等于零判断循环是否结束六、程序测试方法与结果字节拆分、合并程序:(存于30H 的数被拆分,分别转为ASCII 码存于31H 和32H , 最后再合并存于33H )Address: d:3QhD :0x30:0 :的 3弓D :0x32:2 :39D:0x34:4 : 00 00数据块填充程序(将片外RAM 7000H-70FFH 单元按一定规律填充)HERE: SJMP HERE ENDAddress: |x:7{XH3hX 0x007000 00 01 02 03 04 05 06 07 OS 09 OA OB oc OD OE X 02£Q0700F OF 10 11 12 1314 IS ie 1719 19 1A IB 1CID X OX0O7QLE IE IF 20 21 2223 2^ 25 26 27 25 29 2A 23 2C X 0X00702D 2D 2E 2F 30 31 32 33 3^ 35 3石 37 38 39 3A 33 X 0X00703C3C 3D 3E 3F 40 41 42 43 44 45 46 47 43 49 4A X4B 4C 4D4F SO 51 52S3 545S S6 57 se S9 X 0x00705Zi 5A 53 5C 5D 5E 5F €0 61 62 €3 6^ 65 66 67 石三 X 0x007069 69GA €B 6C 6D 6E 6F P 71 72 73 7勺 75 76 77 X 0X00707B 7a79 7A 73 7C 7D 7E 7F SO SI S2 S3 84 85 S6 X 0x007087 8? n u Q w89 SA EB ec 三二 3E SF 9 0 91 92 93 94 三三 X 0x00^7096 日石 97 3S 99 9A 9B 9C 9D 9E 9F AO Al A2 A3 A4 X 0X0070AS A5 A.7 AS A9 AA A3 AC AD AE AF BO Bl B2 B3 X 0X0070B4B4 B5 B6 B7BSB9BA33 BCBDBE BF CO d C2 X Q K 007QC3C3匚弓 C5C6C7G3 C9 GA CB CC CD CE CF DO D 二 X 0X0070D2 D2 D3 D4 D5 D6 b DS D9 DA DB DC DD DE DF EO X OX0O7OE1 El E2 E3 E4 E5 E6 E7 E3 E9 EA E3 EC ED EE EF X 0x0070F0 F0 Fl F2 F3 F4 F5 F6 F7 EB F9 FAFBFCFDFE X0X0070FF FF00 00 DODO 00 00 00000000 00 00 003 3四个十六位数的加法程序输入的数:Memory 1 D : 0x20;0; CC DD D;0x22:2: EE FF D:0x24:4: FE EE D ;0x26;6; 33 11结果:r4 0x02思考题SFR 片内RAM 、片外RAM 及程序代码空间内容 ? Disassembly窗口有何作用?1)观察工作寄存器,SFR 点击 View Registers Window ,弹开 Registers "窗口。
在此窗口查看。
2) 观察10端口,Timer ,中断控制寄存器:点击菜单 Peripherals ,弹出外设选项1 .怎样查看工作寄存器 Address:栏,选择对应外设,弹出相应外设控制寄存器窗口,即可观察。
3) 观察片内RAM,代码区和片外数据区:点击菜单View 选择Windows ,在Address栏中键入存储空间类型和地址,可以观察到相应内容。
Disassembly窗口显示代码及其相应的机器码,也展示了代码的PC地址。
2. 字节拆分、合并还有哪些方法,举一例说明。
举例:ORG 0100HEND3. 若按递减1规律填充数据块,应如何修改程序?MemoryMAIN: MOV SP #40HMOV 30H, #49HMOV A, 30HANL A,#0FHORL 32H, #30HMOV A,30HANL A,#0F0HSWAP AORL A, #30HMOV 31H, A HERE: SJMP HERE ;赋堆栈指针;30H单元赋值;拆分出低四位转换为ASCII;拆分出高四位;转换为ASCII;结果存于31H单元踏步将INC A ”改为DEC A 改后运行结果如下4. 若从7010H 单元开始,连续填充20个字节,应该如何修改程序?ORG 0000H LJMP MAINORG 0100HMAIN: MOV SP,#40HFILL:CLR A;A 寄存器清零MOVRO, #20 ;设循环计数器MOVDPTR, #7010H;设数据指针 FILL1:MOVX @DPTR, A ;传送到片外RAMDEC A;A 内容加1INC DPTR;修改数据指针DJNZR0, FILL1;判断是否结束X X X X X X X X X X X X X X X 0x007000 0x007012 0x307024 0x307036 0x007049 0X007Q5A OXO07O6C 0X00707E 0x007090 0x3070A2 0x307034 0.XQ070C6 0x0070D9 0X0070EA 0X0070FC00 FF FT FD FC ra FA F9 FS F7 F6 F5 E4 F3 F2 Fl F0 EF EE ED EC EB EA E9 E3 E7 E6 E5 E4 E3 E2 El EQ DF DE DD DC DB DA D9 DB D7 DE D5 DE D3 D2 DI DO CF CE CD CC CB CA 匚9 C8 C7 匚百 CS C 哎 C3 匚2 Cl CO BF BE BD EC BE BA 39 BS B7 BE B5 B4 B3 B2 Bl BO AF AE AD AC AB AA A9 A8 A7 A6 AS A4 A3 A2 Al AO 9F &E 9D 9C 9B 5A 99 9B 97 9£ 95 94 93 92 91 90 SF 8E SD GC QB SA SG 88 37 86 S5 Q4 33 S2 fil BO 7F 7E 7D 7C 7B 7A 79 7S 77 76 75 74 73 72 71 70 6F 6E 6D 6C 6B 6A €9 63 67 66 65 6-1 63 €2 61 60 5F 5E 5D 5匸 SB 5A 59 56 57 56 55 5弓 53 52 51 50 4F 4E 弓D 4C 4B 4A 弓今 43 47 4S 44 43 42 41 40 3F 3E 3D 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D 2C 2B 2A 宜9 2fi 27 2€ 25 24 23 22 21 20 IF IE ID 1.C IB 1A 19 18 17 16 15 14 13 12 11 10 OF OE OD OC OB OA 09 OS 07 0€ 05 04 03 02 01 00 00 DO 00 00 00 00 00 00 00 00 00 00 00Miress: |X:7000H运行结果:Address: |X:701CHX:0x007010: 00FF FE FD FC FB FA F9 FB F7X:Qx00701A: F6 FS F4 F3 F2Fl FO EE EE EDX:Qx007024:000000000000000000005. 若完成双字节BCD码加法,应如何修改程序?在ADD A,@RO ”和代码ADDC A,@R1 ”下各加一条代码DA A ”输入数据:运行结果:r2 0«03r3 0x88『4 0x039393+9498+9999+9993=38883 正确本人承诺:本报告内容真实,无伪造数据,无抄袭他人成果。