《单片机技术与应用》单片机程序设计(1)(考点练) -课后自测(答案版)卷2_第1页
《单片机技术与应用》单片机程序设计(1)(考点练) -课后自测(答案版)卷2_第2页
《单片机技术与应用》单片机程序设计(1)(考点练) -课后自测(答案版)卷2_第3页
《单片机技术与应用》单片机程序设计(1)(考点练) -课后自测(答案版)卷2_第4页
《单片机技术与应用》单片机程序设计(1)(考点练) -课后自测(答案版)卷2_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《单片机技术与应用》单片机程序设计-课后自测请简述单片机内部数据传送的三种寻址方式,并给出每种寻址方式的一个例子。【答案】(1)立即寻址:操作数直接包含在指令中。例如:MOVA,#55H(将立即数55H传送到累加器A中)(2)直接寻址:操作数地址直接包含在指令中。例如:MOVA,30H(将内存单元30H中的数据传送到累加器A中)(3)寄存器寻址:操作数存放在寄存器中。例如:MOVA,R0(将寄存器R0中的数据传送到累加器A中)请编写一个顺序结构的程序,实现将累加器A中的数据传送到寄存器R1,再将寄存器R1的数据传送到寄存器R2。【答案】MOVR1,AMOVR2,R1请使用DJNZ指令编写一个无条件循环结构,实现累加器A中的数据从1加到10。【答案】MOVA,#01HMOVR0,#0AHLoop:ADDA,#01HDJNZR0,Loop请解释无条件循环结构中循环条件的作用,并举例说明如何通过修改循环条件来控制循环次数。【答案】循环条件用于判断循环是否继续执行。在无条件循环结构中,循环条件通常是固定的,如寄存器的值不为0。举例:以下程序实现累加器A中的数据从1加到10。MOVA,#01HMOVR0,#0AHLoop:ADDA,#01HDJNZR0,Loop通过修改R0的初值,可以控制循环次数。例如,将R0的初值改为#05H,循环体将执行5次。请简述单片机编程中分支结构的概念及其实现方式。【答案】分支结构是指程序根据特定的条件判断结果来选择不同的执行路径。在单片机编程中,分支结构通过条件跳转指令来实现,如JZ、JNZ、JC等。请阐述有限循环结构的四部分构成及其作用。【答案】有限循环结构的四部分构成包括:(1)初始化部分:建立循环初始值,如初始化地址指针、计数器等。(2)工作部分:完成特定功能的程序段。(3)修改部分:修改循环参数,如计数器的值、操作数地址等。(4)控制部分:判断循环结束条件是否成立。编写一个汇编语言程序,实现将一个数组中的元素从小到大排序的功能。【答案】(以下为伪代码,具体实现需根据实际汇编语言语法调整)MOVAX,OFFSETARRAYMOVBX,LENGTHOFARRAYDECBXOUTER_LOOP:MOVCX,BXMOVSI,AXINNER_LOOP:MOVAL,[SI]CMPAL,[SI+1]JNANEXTXCHGAL,[SI+1]MOV[SI],ALNEXT:ADDSI,1LOOPINNER_LOOPDECBXJNZOUTER_LOOP请解释以下汇编语言程序段的功能,并指出其中的循环类型。MOVCX,10MOVAX,0SUM_LOOP:ADDAX,CXDECCXJNZSUM_LOOPMOVSUM,AX【答案】该程序段的功能是将从1到10的整数累加,并将结果存入SUM变量。循环类型为计数循环,使用CX寄存器作为计数器。编写一个汇编程序,实现以下功能:如果AX寄存器中的值为正数,则将其值加10;如果为负数,则将其值减10。结果存回AX寄存器。【答案】CODESEGMENTASSUMECS:CODESTART:MOVAX,-5;示例值,可修改为其他值测试TESTAX,AXJSNEGATIVEPOSITIVE:ADDAX,10JMPENDIFNEGATIVE:SUBAX,10ENDIF:;AX现在包含修改后的值MOVAH,4CHINT21HCODEENDSENDSTART编写一个汇编程序,比较两个无符号数,如果第一个数大于第二个数,则将第一个数减去第二个数,并将结果存入DX寄存器。【答案】DATASEGMENTNUM1DW30NUM2DW20DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,NUM1CMPAX,NUM2JAGREATERXORDX,DX;如果不大于,DX置为0JMPENDIFGREATER:SUBAX,NUM2MOVDX,AXENDIF:;DX现在包含结果MOVAH,4CHINT21HCODEENDSENDSTART编写一个汇编程序,计算两个有符号数相加,如果结果溢出,则将结果存入BX寄存器。【答案】DATASEGMENTNUM1DW32767NUM2DW1DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,NUM1ADDAX,NUM2JNONO_OVERFLOWMOVBX,AXNO_OVERFLOW:;如果溢出,BX包含结果MOVAH,4CHINT21HCODEENDSENDSTART编写一个汇编程序,实现以下功能:如果A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论