51汇编程序练习题1
汇编语言程序设计练习题及参考答案

一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是 (B )A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为 (D )A.IF=1 B.TF=0C.DF=1 D.DF=03.使状态标志位CF清零的错误指令是 (C )A.OR AX,AX B.SUB AX,AXC.MOV CF,0 D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B )A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有 (D )A.MOV [BX+SI],AL B. MOV AX,[BP+DI]C.MOV DS,AX D. MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D )A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B )A.SHR BL,1 B.SHL BL,1C.SAR BL,1 D.RCR BL,18.执行PUSH AX指令的正确步骤是 (A )A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+19.CF=1 时转移到目标地址的条件转移指令是 (B )A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C )A.对正数求补时,CF=0 B.对负数求补时,CF=0C.对非零数求补时,CF=1 D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A )A.目的操作数最高位为0 B.目的操作数最高位为1C.目的操作数为任意情况 D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D )A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D )A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D .MOV AX ,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是 (C )A .INC WORD PTR [BX+SI]B .INC CX ,[SI+COUNT]C .NEG BYTE PTR [BX]D .ADD AX ,B15.NUM EQU 80HDA DB 34HAND DA ,NUM上述语句执行后,DA 中的内容是 (D )A .0B4HB .80HC .34HD .016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A )A .立即、直接、间接B .直接、间接、立即C .直接、立即、间接D .不一定17.语句DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D )A .DA1 DB 3,5,7B .DA1 DB 2,3,5,7C .DA1 DB 3,5,7,2D .DA1 DB 3,5,7,3,5,718. MOV AL ,80HMOV CL ,2SAR AL ,CL上述指令序列执行后,结果是 (D )A .AL=40HB .AL=20HC .AL=0C0HD .AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是 (A ) A .INC ALB .ADD AL ,1DAA DASC .ADD AL ,1 D .STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H设AL=01H ,BX=0100H ,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A .AL=20HB .AL=38HC .AL=00HD .AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是 (B )A .0041HB .4100H20H38H41H55HC.xx41H D.41xxH[注]选项C. 和D.中的XX表示任意数据。
汇编程序复习题(1)

汇编程序复习题(1)1.CPU要访问的某⼀存储单元的实际地址称()A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有()A.2345H B.12345HC.12340H D.1234H3.执⾏后使BX=0的同时也使CF=0,OF=0的指令是()A.XOR BX,BX B.OR BX,BXC.AND BX,BX D.CMP BX,BX4.循环控制指令LoopNZ/LoopNE控制循环继续执⾏的条件是()A.CX≠0且ZF=1B.CX≠0且ZF=0C.CX≠0或ZF=1D.CX≠0或ZF=05.在执⾏DAA指令,当⾼四位BCD码校正时产⽣进位,如要把此进位值送⼊AH 中,对这进位值的操作应是()A.DAA校正指令的功能已⾃动加在AH中B.进位值在AF中,校正后根据AF内容再加在AH中C.进位值在CF中,校正后根据CF内容再加在AH中D.进位值在AL最⾼位上,校正后根据AL最⾼位内容再加在AH中6.AND,OR,XOR,NOT为四条逻辑运算指令,下⾯的解释正确的是()A.指令XOR AX,AX执⾏后,AX内容不变,但设置了标志位B.指令OR DX,1000H执⾏后,将DX最⾼位置1,其余各位置0C.指令AND AX,OFH执⾏后,分离出AL低四位D.NOT AX,执⾏后,将AX清07.在执⾏下列指令时,需要使⽤段寄存器DS的指令是()A.STOSW B.ADD AL,CLC.NEG BX D.INC DA[BX]8.⽆论BH中原有的数是奇数或偶数,若要使BH中的数⼀定为奇数,应执⾏的指令是()A.ADD BH,01H B.OR BH,01HC.XOR BH,01H D.TEST BH,01H9.完成对CL寄存器的内容乘以4的正确操作是()A.ROL CL,1 B.MUL 4ROL CL,1C.SHL CL,1 D.MOV CL,2SHL CL,1 SHL CL,CL10.下⾯各传送指令中,正确的是()A.MOV [DI],[SI]B.MOV[DX+DI],ALC.MOV WORD PTR [BX],0100H D.MOV AL,BX11.汇编语⾔语句格式中对名字项的规定如下,请找出其中错误的说法(D )A.名字的第⼀个字符可以是⼤写英⽂字母及⼩写英⽂字母B.名字的第⼀个字符可以是字母、数字及、@、_C.名字的有效长度≤31个字符D.在名字中不允许出现$12.要实现使BETA的值为56,应采⽤语句为(C )A.BETA DB 56B.BETA DB 56HC.BETA EQU 56D.BETA EQU 56H13.REPZ CMPSW指令,重复执⾏的终⽌条件是(C )A.CX=0或ZF=0B.CX=0且ZF=0C.CX=0或ZF=1D.CX=0且ZF=114.下⾯程序段执⾏后,AL中的内容是()MOV AX,8833HADD AL,AHDAAA.21B.21HC.0C1H D.0DDH15.⽐较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)A.ZF=1B.ZF=0C.SF=1D.SF=0---------CMP A,BA=BZF=1---------16.检查⼆个⽆符号数的关系,若要实现AL≥BL时分⽀去LOP1处,那么在“CMP AL,BL”指令后应跟的分⽀指令是(B)A.JNC LOP1B.JA LOP1C.JC LOP1D.JGE LOP117.在下列串操作指令中,同时使⽤源串和⽬的串地址指针的指令是(D)A.STOSW B.LODSWC.SCASW D.CMPSW18.设AL=0AH,下列指令执⾏后能使AL=05H的是(C)A.NOT AL B.AND AL,0FHC.XOR AL,0FH D.OR AL,0FHOF 00001111+AL 00001010=05H19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’()┇MOV AX,DA1+3指令执⾏后AX中的内容是A.‘EF’B.‘CD’C.‘BC’D.‘FC’20.使⽤DOS系统功能调⽤时,使⽤的软中断指令是()A.INT 21 B.INT 10HC.INT 16H D.INT 21H21.当执⾏ADD AX,BX指令后,若AX的内容为4E52H时,设置的奇偶标志位PF=0,下⾯的叙述正确的是( )A.表⽰结果中含1的个数是奇数B.表⽰结果中含1的个数是偶数C.表⽰该数是奇数D.表⽰结果中低8位中含1的个数是奇数22.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。
汇编语言程序设计补充习题

MCS—51单片机指令系统及程序设计一.单项选择题,从供选择的答案中选出正确的选项,并将标号填写到答题册中,每小题1分。
1.MCS-51汇编语言指令格式中,唯一不可缺少的部分是B。
A.标号 B.操作码 C.操作数 D.注释2.MCS-51的立即寻址方式中,立即数前面D。
A.应加前缀“/:”号 B.不加前缀号C.应加前缀“@”号D.应加前缀“#”号3.下列完成8031单片机内部RAM数据传送的指令是D。
A.MOVX A,@DPTRB.MOVC A, @A+PCC.MOV A,#dataD.MOV direct,direct4.MCS-51的立即寻址的指令中,立即数就是B。
A.放在寄存器R0中的内容 B.放在程序中的常数C.放在A中的内容D.放在B中的内容5.单片机中PUSH和POP指令常用来C。
A.保护断点B.保护现场C.保护现场,恢复现场 D.保护断点,恢复断点6.MCS-51寻址方式中,操作数Ri加前缀“@”号的寻址方式是A。
A.寄存器间接寻址 B.寄存器寻址 C.基址加变址寻址 D.立即寻址7.MCS-51寻址方式中,位寻址的寻址空间是D。
A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存贮器ROMD.片内RAM的20H~2FH字节中的所有位和地址可被8整除的SFR的有效位8.MCS-51寻址方式中,直接寻址的寻址空间是D。
A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存贮器ROM D.片内RAM 00H--7FH的128字节和80H--FFH中的SFR9.执行指令MOVX A,@DPTR时,、脚的电平为C。
A.高电平,高电平 B.低电平,高电平C.高电平,低电平 D.低电平,低电平10.主程序执行完ACALL后返回主程序后,堆栈指针SP的值A。
A.不变 B.加2 C.加4 D.减211.单片机中使用MOVX A,@R1指令C寻址数据存贮器1050H单元。
A.能直接B.不能C.与P2口配合能 D.与P1口配合能12.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是B。
汇编51单片机考试常见试题

汇编51单⽚机考试常见试题汇编51单⽚机考试常见试题⼀、填空题1.单⽚机是把中央处理器、存储器、定时器/计数器以及I/O接⼝电路等主要计算机部件集成在⼀块集成电路芯⽚上的微型计算机。
2.除了单⽚机这⼀名称之外,单⽚机还可称为微控制器、嵌⼊式控制器。
3.计算机的系统总线有地址总线、控制总线和数据总线。
4.80C51单⽚机基本型内部RAM有 128 个字节单元,这些单元可以分为三个⽤途不同的区域,⼀是⼯作寄存器区、⼆是位寻址区、三是数据缓冲区。
5.8051单⽚机有2 个16位定时/计数器。
6.单⽚机存储器的主要功能是存储程序和数据。
80C51含4 KB掩膜ROM。
7.80C51在物理上有4个独⽴的存储器空间。
8.通常、单⽚机上电复位时PC= 0000H,SP=07H;⽽⼯作寄存器则缺省采⽤第00 组,这组寄存器的地址范围是从00H~ 07H。
9.8051的堆栈是向地址的⾼端⽣成的。
⼊栈时SP先加1,再压⼊数据。
10.使⽤8031芯⽚时,需将/EA引脚接低电平,因为其⽚内⽆程序存储器。
11.MCS-51特殊功能寄存器只能采⽤直接寻址⽅式。
12.汇编语⾔中可以使⽤伪指令,它们不是真正的指令,只是⽤来对汇编过程进⾏某种控制。
13.半导体存储器的最重要的两个指标是存储容量和存储速度。
14.当PSW4=1,PSW3=0时,⼯作寄存器Rn,⼯作在第2组。
15.在8051单⽚机中,由 2 个振荡(晶振)周期组成1个状态(时钟)周期,由 6个状态周期组成1个机器周期。
16.假定累加器A的内容30H,执⾏指令:1000H:MOVC A,@A+PC后,把程序存储器1031H单元的内容送累加器A中。
17.MCS-51单⽚机访问外部存储器时,利⽤ALE信号锁存来⾃P0⼝的低8位地址信号。
18.内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H。
19.若A中的内容为63H,那么,P标志位的值为0。
20.在基址加变址寻址⽅式中,以累加器A作变址寄存器,以DPTR或PC作基址寄存器。
汇编51单片机考试常见试题

汇编51单片机考试常见试题一、填空题1.单片机是把中央处理器、存储器、定时器/计数器以及I/O接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机。
2.除了单片机这一名称之外,单片机还可称为微控制器、嵌入式控制器。
3.计算机的系统总线有地址总线、控制总线和数据总线。
4.80C51单片机基本型内部RAM有 128 个字节单元,这些单元可以分为三个用途不同的区域,一是工作寄存器区、二是位寻址区、三是数据缓冲区。
5.8051单片机有2 个16位定时/计数器。
6.单片机存储器的主要功能是存储程序和数据。
80C51含4 KB掩膜ROM。
7.80C51在物理上有4个独立的存储器空间。
8.通常、单片机上电复位时PC= 0000H,SP=07H;而工作寄存器则缺省采用第00 组,这组寄存器的地址范围是从00H~ 07H。
9.8051的堆栈是向地址的高端生成的。
入栈时SP先加1,再压入数据。
10.使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
11.MCS-51特殊功能寄存器只能采用直接寻址方式。
12.汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。
13.半导体存储器的最重要的两个指标是存储容量和存储速度。
14.当PSW4=1,PSW3=0时,工作寄存器Rn,工作在第2组。
15.在8051单片机中,由 2 个振荡(晶振)周期组成1个状态(时钟)周期,由 6个状态周期组成1个机器周期。
16.假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把程序存储器1031H单元的内容送累加器A中。
17.MCS-51单片机访问外部存储器时,利用ALE信号锁存来自P0口的低8位地址信号。
18.内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H。
19.若A中的内容为63H,那么,P标志位的值为0。
20.在基址加变址寻址方式中,以累加器A作变址寄存器,以DPTR或PC作基址寄存器。
51汇编程序练习题1.

单片机汇编程序设计练习一、存储器之间的数据传送1、编程实现将单片机内部 RAM60H 开始的连续 32个单元置为 FFH 。
MOV R0,#60HMOV R7,#32MOV R1,#0FFHMOV A,R1LOOP: MOV @R0,AINC R 0DJNZ R7,LOOPSJMP $END2、编程实现将内部 RAM30H 开始的连续 16个数传送到内部 RAM50H 开始的连续单元中。
MOV R0,#30HMOV R1,#50HMOV R7,#16LOOP: MOV A,@R0MOV @R1,AINC R 0INC R 1DJNZ R7,LOOPSJMP $END3、编程实现将单片机外部 RAM2000H 为首地址的数据块传送到单片机内部RAM30H 开始的单元中,数据块的长度为 32个字节。
4、编程实现将单片机内部 RAM30H 为首地址的数据块传送到外部RAM2000H 开始的单元中,数据块的长度存放于内部 RAM 的 20H 单元。
5、编程实现将单片机外部 RAM2000H 为首地址的数据块传送到单片机内部RAM30H 开始的单元中,直到数据内容为 0DH 时停止传送。
6、编程实现将 ROM1000H 地址的内容传送到内部 RAM 的 25H 单元。
7、编程实现将 ROM2000H 开始的连续 10个地址的内容传送到内部 RAM 的25H 开始的单元。
8、编程实现将 ROM1000H 开始的连续 100个地址的内容传送到外部RAM2000H 开始的连续单元中。
二、查表程序设计1、编写查表程序, 要查表的数据存放在 R7中, 其范围为 0~9。
编程查其平方值, 并存放于 40H 。
2、编写查表程序, 要查表的数据存放在 R7中, 其范围为 0~9。
编程查其立方值, 并存放于 R6。
3、单片机外部 ROM TAB1地址开始存放一组 ASCII 码表,试用查表方法,将R2的内容 (范围为 0~F 转换为与其对应的 ASCII 码,并从 P1口输出。
汇编习题之1

练习题一、填空题1.MCS-51单片机引脚信号中,信号名称带上划线的表示该信号或有效。
2.通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点保护。
调用返回时再进行出栈操作,把保护的断点送回。
3.某程序初始化时使(SP)=40H,则此堆栈地址范围为,若使(SP)=50H,则此堆栈深度为。
4.在相对寻址方式中,“相对”两字是指相对于,寻址得到的结果是。
在寄存器寻址方式中,指令中指定寄存器的内容就是。
在变址寻址方式中,以作变址寄存器,以或作基址寄存器。
5.假定累加器(A)=49H,执行指令:201AH:MOVC A,@A+PC后,送入A的是程序存储器单元的内容。
6.若(DPTR)=5306H,(A)=49H,执行下列指令:MOVC A,@A+DPTR后,送入A的是程序存储器单元的内容。
7.假定(SP)=45H,(ACC)=46H,(B)=47H,执行下列指令:PUSH ACCPUSH B后,(SP)= ,(46H)= ,(47H)= 。
8.假定(SP)=47H,(46H)=46H,(47H)=47H。
执行下列指令:POP DPHPOP DPL后,(DPTR)= ,(SP)= 。
9.若(A)=56H,(R0)=56H,(56H)=56H。
执行指令:ADD A,@R0后,(A)= ,(CY)= ,(AC)= ,(OV)= 。
10.若(A)=0FFH,(R0)=46H,(46H)=0FFH,(CY)=1。
执行指令:ADDC A,@R0后,(A)= ,(CY)= ,(AC)= ,(OV)= 。
11.假定(A)=45H,(B)=67H。
执行指令:MUL AB后,寄存器(B)= ,累加器(A)= ,(CY)= ,(OV)= 。
12.假定(A)=0FCH,(B)=35H。
执行指令:DIV AB后,累加器(A)= ,寄存器(B)= ,(CY)= ,(OV)= 。
13.为实现内外程序存储器的衔接,应使用信号进行控制,对8031,EA= ,CPU对进行寻址;对80C51,EA=1,CPU对寻址。
汇编语言程序设计模拟试题及参考答案1

汇编语言程序设计模拟试题及参考答案1一、单项选择题(从四个备选答案中选出一个正确的答案填在题干的括号内)(20分)1. 指令MOV AL,[SI]的源操作数的寻址方式为()。
A. 变址寻址B. 寄存器间接寻址C. 基址寻址D.基址变址寻址2.确定下列哪些数据在汇编语言中是非法的()。
A. 19AHB. 13 AND 65HC. 25DD. AX+33.已知AL,BL中各存放一个无符号数,计算AL/BL的商,用下述程序段()。
A. DIV BLB. IDIV BLC. XOR AH,AHD. CBWDIV BL IDIV BL4. 已知AL=67H,BL=34H,则指令ADD AL,BL执行后,OF和CF的值分别为()。
A. 0,0B. 0,1C. 1,0D. 1,15. 已知SP=100H, 指令CALL AX执行后,SP的内容为()A. 100HB. 102HC. 00FEHD. 98H6. 下述程序段执行后,寄存器AH和AL的内容分别为()MOV AX,1000HMOV CL,08HDIV CLA. 不确定B. 00,125HC. 00,200HD. 00H,00H7. JMP SI 的目标地址偏移量为()。
A. IP+[SI]B. IP+SI的内容C. SI的内容D. SI所指向的内存字单元的内容8. 下述对近类型的子程序PN的调用中,哪一个不能够正确地调用该子程序()。
A. CALL PNB. LEA AX,PNCALL AXC. MOV AX,PND. MOV AX,OFFSET PNCALL AX CALL AX9. 初始化8259A时,ICW2的值为15H,当IR2端有中断请求时,8259A送出的中断方式码是( )。
A. 17HB. 12HC. 13HD. 10H10. 在两个8259A级联的中断系统中,从8259A连接在主8259A的IR3上,主8259A和从8259A 的ICW3应设置为()A. 03H,08HB. 08H,03HC. 04H,03HD. 08H,08H二、判断题(判断每题正误,对的在题后的括号内打“√”;错的在题后的括号内打“×”)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机汇编程序设计练习
一、存储器之间的数据传送
1、编程实现将单片机内部RAM60H开始的连续32个单元置为FFH。
2、编程实现将内部RAM30H开始的连续16个数传送到内部RAM50H开始的连续单元中。
3、编程实现将单片机外部RAM2000H为首地址的数据块传送到单片机内部RAM30H开始的单元中,数据块的长度为32个字节。
4、编程实现将单片机内部RAM30H为首地址的数据块传送到外部RAM2000H 开始的单元中,数据块的长度存放于内部RAM的20H单元。
5、编程实现将单片机外部RAM2000H为首地址的数据块传送到单片机内部RAM30H开始的单元中,直到数据内容为0DH时停止传送。
6、编程实现将ROM1000H地址的内容传送到内部RAM的25H单元。
7、编程实现将ROM2000H开始的连续10个地址的内容传送到内部RAM的25H 开始的单元。
8、编程实现将ROM1000H开始的连续100个地址的内容传送到外部RAM2000H 开始的连续单元中。
二、查表程序设计
1、编写查表程序,要查表的数据存放在R7中,其范围为0~9。
编程查其平方值,并存放于40H。
2、编写查表程序,要查表的数据存放在R7中,其范围为0~9。
编程查其立方值,并存放于R6。
3、单片机外部ROM TAB1地址开始存放一组ASCII码表,试用查表方法,将R2的内容(范围为0~F)转换为与其对应
的ASCII码,并从P1口输出。
4、使用8051的P1口作为段控驱动共阳
LED数码管,硬件连接如图。
编程实现将8051 R7单元内容(在
00H-09H之间)显示在数码管上。
00H-09H
的共阳字形代码如下表所示。
04H 05H 06H 07H 08H 09H
三、多字节无符号数的加减法
1、编一个三字节无符号数的减法程序。
被减数存放在内部RAM的30H开始的连续三个单元中(高位在高地址),减数存放在内部RAM的40H开始的连续三个单元中(高位在高地址),请将差存放在内部RAM的50H开始的连续三个单元中(高位在高地址),借位存放在01H位地址
2、编一个四字节无符号数的加法程序。
被加数存放在内部RAM的25H开始的连续四个单元中(高位在高地址),加数存放在内部RAM的55H开始的连续四个单元中(高位在高地址),请将和存放在内部RAM的25H开始的连续四个单元中(高位在高地址),进位存放29H字节地址中。
3、编一个N字节无符号数的加法程序。
被加数存放在内部RAM的符号地址AAA 开始的连续单元中(高位在低地址),加数存放在内部RAM的符号地址BBB开始的连续单元中(高位在低地址),请将和存放在内部RAM的AAA开始的连续单元中,进位存放符号地址JWEI字节。
四、多路散转
1、请编程实现根据A的值进行多路散转的程序。
即当A=0时,调用PRO0子程序;当A=1时,调用PRO1子程序……,当A=10时,调用PRO10子程序。
2、请编程实现根据R7 的值进行128路散转的程序。
即当(R7)=0时,调用CHULI0子程序;当(R7)=1时,调用CHULI1子程序……,当A=128时,调用CHULI128子程序。
五、软件定时程序设计
计算下面程序的延时时间:
1、MOV R6,#TIME
LOOP:NOP
NOP
DJNZ R6,LOOP
计算当TIME=0、1、2、255时的延时时间
2、MOV R7,#TIME1
LOOP0:MOV R6,#TIME2
LOOP1:NOP
NOP
DJNZ R6,LOOP1
DJNZ R7,LOOP0
六、数据检索程序设计
1、在内RAM20H~3FH地址的32个单元中,存放一批数据,试检索是否有与R0寄存器内容相等的数,若检索成功,将该数据地址存放在R1,否则将FFH 存放在R1中。
2、在内RAM20H~29H地址的10个单元中,存放一批数据,试检索是否含有立即数30H,若检索成功,将该数据地址存放在31H,否则将FFH存放在31H。
3、统计内RAM20H—4FH单元中内容为“0”的个数,并把结果存入50H单元。
七、极值查找
1、将内部RAM50H、51H单元两个无符号数中较大的数存入60H单元。
2、在内部RAM 40-4FH中存在16个无符号数,找出其中的最小数,存放到50H 单元。
先画出程序框图,再编程。
3、内部RAM中有一个数据块,首地址为30H,长度存放在2BH单元,要求把其中的最大值找出,并放到以20H单元。
、
4、内部RAM以30H为首地址的一个数据块,第一个数据为该数据长度。
试求该数据的最大值,把结果放在内部RAM的70H单元中。
画出程序流程图并编写程序。
*5、内部RAM20H开始存放一组有符号的数,数据个数存放在内部RAM1FH单元中,请编程统计其中大于0、等于0、小于0的数的个数,分别存放于70H、71H、72H。
*6、内部RAM20H开始存放一组有符号的数,数据个数存放在内部RAM1FH单元中,请编程将其中大于0、等于0、小于0的数分别存放于70H、60H、50H 开始的连续单元中。