已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3 1 MCS 51指令系统主要有哪几种寻址方式 试举例说明 直接寻址MOVR0 20H寄存器寻址MOVA R0寄存器间接寻址MOVA R0位寻址MOVC 20H相对寻址DJNZR0 L00立即数寻址MOVR0 00H变址寻址MOVCA A DPTR 3 2 设A 0FH R0 30H 内部RAM的 30H 0AH 31H 0BH 32H 0CH 请指出执行下列程序段之后上述各单元内容的变化 MOVA R0 A 0AHMOV R0 32H 30H 0CHMOV32H A 32H 0AHMOVR0 31H R0 31HMOVA R0 A 0BH 3 3请用数据传送指令来实现下列要求的数据传送 R0的内容传送到R1MOVA R0MOVR1 A内部RAM20H单元内容传送到AMOVA 20H外部RAM30H单元内容送R0MOVR0 30HMOVXA R0MOVR0 A外部RAM30H单元内容送内部RAM20H单元MOVR0 30HMOVXA R0MOV20H A 外部RAM1000H单元内容送内部RAM20H单元MOVDPTR 1000HMOVXA DPTRMOV20H A或 MOVP2 10HMOVR0 00HMOVXA R0MOV20H A程序存储器ROM2000H单元内容送R1MOVDPTR 2000HMOVA 0HMOVCA A DPTRMOVR1 A RAM2000H单元内容送内部RAM20H单元MOVDPTR 2000HMOVXA DPTRMOV20H ARAM2000H单元内容送外部RAM30H单元MOVP2 20HMOVR0 00HMOVXA R0MOVP2 00HMOVR0 30HMOVX R0 ARAM2000H单元内容送外部RAM1000H单元MOVDPTR 2000HMOVXA DPTRMOVDPTR 1000HMOVX DPTR A 3 4 设内部RAM 30H 5AH 5AH 40H 40H 00H 端口P1 7FH 问执行一下指令后 各有关存储单元 即R0 R1 A B P1 40H 30H 及5AH单元 的内容如何 MOVR0 30H R0 30HMOVA R0 A 5AhMOVR1 A R1 5AHMOV R1 P1 5AH 7FHMOVA P1 A 7FHMOV40H 20H 40H 20HMOV30H 40H 30H 20H 3 5 试编写程序将内部RAM的20H 2FH共16个连续单元清零 ORG0000HMOVR0 20H 数据单元首地址MOVR2 10H 循环16次L00 MOV R0 00HINCR0DJNZR2 L00SJMP END 3 6 试编写程序求出内部RAM20H单元中的数据含 1 的个数 并将结果存入21H单元 ORG0000HMOV21H 00HMOVA 20HMOVR0 08H 循环次数L00 CLRCRLCA 带进位左环移JCL01 有溢出则跳转AJMPL02L01 INC21HL02 DJNZR0 L00SJMP END 3 7 试编写程序 查找在内部RAM得30 50H单元中出现FFH的次数 将查找得结果存入51H单元 ORG0000HAJMPMAINMAIN MOVR0 30H 记录30H单元内容MOVR1 21H 循环次数MOV51H 00H 给51H单元赋初始值CLRC 标志位清零L00 MOVA 01HADDA R0 R0的内容加1JCL01 Cy为1 则跳转计数AJMPL02L01 INC51HL02 INCR0DJNZR1 L00SJMP END 3 8 题目 试编写程序 计算 2i i 0 10 并将结果存放在内部RAM的30H单元 方法一 ORG0000HMOVR0 01HMOVR1 0AH 循环次数MOVB 02HL00 MOVA R0MULABMOVB 02HADDA 30HMOV30H AINCR0DJNZR1 L00SJMP END 3 8 题目 试编写程序 计算 2i i 0 10 并将结果存放在内部RAM的30H单元 方法二 ORG0000HMOVR0 00HMOVR1 0BHL00 MOVA R0RLA 左移即乘二ADDA 30HMOV30H AINCR0DJNZR1 L00SJMP END运行结果 30H 6EH 3 9 已知 30H 38H 38H 40H 40H 48H 48H 90H MOVA 40H A 40H 即 A 48HMOVR0 A R0 A 即 R0 48HMOVP1 0F0H P1 0F0H即 P1 0F0HMOV R0 30H R0 30H 即 48H 38HMOVDPTR 3848H DPTR 3848HMOV40H 38H 40H 38H 即 40H 40HMOVR0 30H R0 30H 即 R0 38HMOVP0 R0 P0 R0 即 P0 38HMOV18H 30H 18H 30H即 18H 30HMOVA R0 A RO 即 A 40HMOVP2 P1 P2 P1 即 P2 0F0H 3 10 设R0内容为32H A的内容为48H 片内RAM的32H单元内容为80H 40H单元内容为08H 请指出在执行下列程序段后上述各单元内容的变化 MOVA R0MOV R0 40HMOV40H AMOVR0 35H 初始 R0 32H A 48H 32H 80H 40H 08H执行MOVA R0 即将32H单元内容送入A A 80H执行MOV R0 40H 即将40H单元内容送入32H 32H 08H执行MOV40H A 即将A中内容送入40H单元 40H 80H执行MOVR0 35H 即将立即数35H送入R0 R0 35H 3 11 已知 A 83H R0 17H 17H 34H 请写出执行完下列程序后A的内容 ANLA 17HORL17H AXRLA R0CPLA A 10000011 17H 00010111B执行ANLA 17H后 A 00000011B执行ORL17H A后 17H 00110111B执行XRLA R0后 A 00110100B执行CPLA后 A 11001011B 0CBH 3 12 编程将内部RAM20H 2FH中的数据和RAM30H 3FH中的数据对换 ORG0000HMOVR0 20H 数据首地址MOVR1 30H 数据首地址MOVR2 10H 循环次数L01 MOVA R0MOVB R1MOV R0 BMOV R1 AINCR0INCR1DJNZR2 L01SJMP END 3 13 已知 A 34H 30H 4FH 求执行ADDA30H后 A 指出PSW中相应标志位的情况 执行ADDA30H后 A 83H 此过程有半进位 故PSW 6 AC 位为1 83H 10000011B 奇数个1 因此奇偶校验位P置1 D6 D7 0 1 1 溢出标志为OV置1 其余各位保持初始值0 所以PSW各位状态如下 PSW 45H 3 14 已知SP 25H 问此执行 指令后 高 高 低 低 3 15 若SP 25H PC 2345H 标号LABEL所在得地址为3456H 问执行长调用指令 LCALLLABEL 后 堆栈指针和堆栈内容发生什么变化 PC的值等于什么 初始状态PC 2345H执行LACALL后PC 3 PC 2348H初始SP 25HSP 1 SP 26H 26H中压入PC L 得 26H 48HSP 1 SP 27H 27H中压入PC H 得 27H 23HLABEL 3456H PC 3456H 4 1 从内部RAM的30H单元开始存放一组用补码表示的带符号数 其树目已存放在20H单元 编写程序 统计出其中正数 0和负数的数目 将结果分别存入21H 22H 23H单元 ORG0000HMOV21H 00H 存放正数个数MOV22H 00H 存放0的个数MOV23H 00H 存放负数个数MOVR0 20H 20H单元中存放的数目放在R0MOVR1 30HL01 MOVA R1JBACC 7 NEG 为负数跳转CJNEA 00 POS 为正数跳转INC22H 为0 22H单元自加1AJMPLpNEG INC23HAJMPLpPOS INC21HLp INCR1DJNZR0 L01SJMP END 4 2 内部RAM中有一数据块 存放在20H 2FH单元中 要求对这些数据进行奇偶校验 凡是满足奇偶校验的数据 一的个数为偶数 都要存放到外部RAM的8000H开始的数据区中 试编写相关程序 ORG0000HMOVR0 20H 内部RAM首地址MOVDPTR 8000H 外部RAM首地址MOVR2 10H 循环次数L01 MOVA R0JNBP Lp1 PSW中P位为0则跳转AJMPLp2Lp1 MOVX DPTR AINCDPTRLp2 INCR0DJNZR2 L01SJMP END 4 3 编写程序 把外部RAM的1000H 10FFH区域内的数据逐个搬到从2000H单元开始的区域 ORG0000HMOVR0 00HMOVR3 00H 循环次数L01 MOVP2 10HMOVXA R0MOVP2 20HMOVX R0 AINCR0DJNZR3 L01SJMP END 4 4 从内部RAM30H单元开始存放着一组无符号数 其树目已存放在21H单元中 试编写程序 求出这组无符号数中的最小的数 并将其存入20H ORG0000HMOVR0 30H 首地址MOVR2 21H 数目MOV20H 0FFHL03 MOVA R0CJNEA 20H LPLP JCL00 Cy 1 A中值小 跳转更新20H中的数AJMPL01L00 MOV20H R0L01 INCR0DJNZR2 L03SJMP END 4 5 试设计一段程序 实现如下功能 把片内RAM30H 3FH单元中的16个数存放顺序颠倒过来 ORG0000HMOVR0 30HMOVR1 3FHMOVR2 08HL00 MOVA R0MOVB R1MOV R0 BMOV R1 AINCR0DECR1DJNZR2 L00SJMP END 4 6 设计一段程序 实现如下功能 找出从片内RAM的30H开始的16个单元中 存有最小数值的所在单元并将该单元的内容改成0FFH 方法一 ORG0000HMOVR0 30H 数据单元首地址MOVR7 10H 循环次数MOV40H 0FFHL00 MOVA R0CJNEA 40H CHECKCHECK JCL01 Cy 1 A中值小 跳转SJMPL02L01 MOV40H AMOV41H R0 最小值地址存放在41HL02 INCR0DJNZR7 L00MOVR1 41HMOV R1 0FFH 最小值单元置1SJMP END 4 6 设计一段程序 实现如下功能 找出从片内RAM的30H开始的16个单元中 存有最小数值的所在单元并将该单元的内容改成0FFH 方法二 ORG0000HMOVR1 30H 数据单元首地址MOVR3 0FH 循环次数MOVA R1L01 INCR1CLRCSUBBA R1JNCL02 A R1 无借位 Cy 0 则跳转更新A中数值ADDA R1 恢复A中数值SJMPL03L02 MOVA R1MOVB R1L03 DJNZR3 L01MOVR0 BMOV R0 0FFHSJMP END 4 7 编写程序 完成逻辑运算P1 7 P1 6 P1 5 P1 4 ORG0000HMOVP1 0FFH 锁存器置1MOVC P1 5ANLC P1 4 C P1 5 P1 4 MOV00H CMOVC P1 4ANLC P1 5 C P1 4 P1 5 ORLC 00H C P1 4 P1 5ANLC P1 6MOVP1 7 CSJMP END 4 8 设计一段程序 实现如下功能 统计出从片内的30H开始的16
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 团队管理与团队建设指南
- 通知合作伙伴供货时间变更(3篇范文)
- 体育教练员体育培训机构教练团队绩效考评表
- 创意设计产品经理实战课程指引
- 乒乓球教练员技术指导手册
- 健身手环蓝牙连接不稳定解决方案
- 2026-2027学年济南高新区瀚阳学校九年级9月份语文月考考试试题以及答案
- 财务专员财务数据准确性绩效评定表
- 旅游行业导游服务质量与体验满意度KPI考核表
- 开发工程师代码质量绩效评定表
- 2026年普法考试题目(+答案解析)
- 2026莫斯科贵金属交易行业市场现状供需分析及投资评估规划分析研究报告
- 2026秋统编版一年级语文上册第一次月考试卷(含答案)
- 2026年秋新版道德与法治(道法)六年级上册全册分课时作业附答案
- 2025年县属国有企业招聘考试笔试试题(含答案)
- 可压缩流体管道阻力降计算表
- 《人体结构与功能》课件-骨关节炎
- COX 痛经症状评分量表(CMSS)
- T-CHAS 10-2-2-2024 中国医院质量安全管理 第2-2部分:患者服务 院前急救
- 分布式光伏发电系统建设规范
- 2026年人教版小学数学三年级上册全册教案
评论
0/150
提交评论