1、P0.1表示P0口的1位。4位符号地址。TR0是定时/计数器T0的启动位。4.写出完成下列操作的指令。(1)0的内容送到R1中。OV A,R MOV R1,A(2)片内RAM的20单元内容送到片内RAM的40H单元中。MO 40H,0H(3)片内AM的30单元内容送到片外RM的5H单元中。MO A,0HMOV 0,#5H MOV R0,A()片内RAM的50H单元内容送到片外RAM的000H单元中。 MV A,50HMDPTR,#300HMOVX DPTR,A(5)片外RAM的2000H单元内容送到片内RA的0H单元中。MOV DT,#2000H OVX ,PR 20H,()片外AM的1000
2、H单元内容送到片外RAM的400单元中。 MOV DTR,00 OV A,DPTR MOV DPTR,4000HMOV DTR,()RO的00H单元内容送到片内RAM的5H单元中。 MV A,0 MO DT,#100 MOV A,ADPT O 50,A(8)ROM的100H单元内容送到片外R的1000H单元中。OV A,#MOV DTR,1000H A,A+DPR OVX DPR,A5区分下列指令有什么不同?(1)OV ,20H和MO A,#20H答:前者源操作数是直接寻址,后者源操作数立即寻址。(2)OV A,R1和OVA,R前者源操作数是访问片内数据存储器,后者源操作数访问片外数据存储器低
3、25字节。(3)MOV ,1和MO A,R1前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。(4)MOVX ,R1和X A,DPTR前者源操作数是访问片外数据存储器低56字节,后者源操作数访问片外数据存储器整个64K字节。()VX A,DPTR和OV A,A+PR 答:前者源操作数是访问片外数据存储器,后者源操作数访问程序数据存储器。6.设片内RA的(0H)=4,(40)=10H,(0H)50,(P1)=0C。分析下列指令执行后片内RA的2、40H、0单元以及P、P2中的内容。MOV R,20 ;R=20MOV A,R ;=40HMV 1, ;R40HMO ,R1 ;A=10HMOV R
4、0,P1 ;(40H)=CMV P2,1 ;=0CAV 10H,A ;(0H)=10HMV 20H,H ;(20H)=H结果:(20H)=H、(10H)=10H、(40H)=AH、P20CAH和P=CA已知()=2H,(1)=7F,(TR)=2FFCH,片内RAM(7FH)70H,片外RM(FFE)=11H,ROM(FEH)=64H,试分别写出以下各条指令执行后目标单元的内容。(1)MOV A,R1 结果:累加器A等于70(2)MV PR,结果:片外AM(FH)单元等于02H()MOVC A,+PTR 结果: 累加器等于4H(4)XCD ,1 结果:累加器A等于0H,片内RAM(7H)单元等于
5、72H8已知:(A)=78H,(R1)78,(B)4H,CY=1,片内RAM(8H)0D,(8H)=6H,试分别写出下列指令执行后目标单元的结果和相应标志位的值。(1)AD A,1 ;累加器A等于55H,CY等于(2)SUBB A,#7H;累加器A等于00H,CY等于0(3)MUL AB ;累加器A等于E0,B寄存器等于01H,C等于1,OV等于0()V AB ;累加器A等于,B寄存器等于,CY、OV等于0(5)NL 7H,#78H ;片内RAM(78)单元等于58()ORLA,#FH ;累加器A等于7FH(7)XL 0H,A ;片内RAM(0H)等于H9.设(A)=3,(R0)=7,(17)
6、=3H,分析当执行完下面指令段后累加器A、R0、17单元的内容。AN A,#17H ;A=03HORL 1H,A ;(1H)=3H ,0;A3HPL A ;=CBH结果:A=CB,(R0)=H,(H)3H10写出完成下列要求的指令。(1)累加器A的低2位清零,其余位不变。ANL ,#1110B(2)累加器A的高2位置“1”,其余位不变。 ORL A,#110000B()累加器的高位取反,其余位不变。 XRL A,#11100B()累加器第0位、2位、4位、位取反,其余位不变。XRL ,#1010101B11.说明JMP指令与AP指令的区别?LM指令后面提供的是16位目标地址,所以可以转移到64
7、KB程序存储器的任意位置,缺点是:执行时间长,字节数多。 AMP指令后带的是11位直接地址,执行时,先将程序指针P的值加(该指令长度为字节),然后把指令中的11位地址add1送给程序指针C的低11位,而程序指针的高位不变,只能在当前K范围内转移。1.设当前指令CJNE A,#12H,10的地址是0FFEH,若累加器A的值为0H,则该指令执行后的PC值为多少?若累加器的值为12H呢?答:指令执行后的C值为111H,若累加器A的值为12H,则指令执行后的PC值为01。3用位处理指令实现14=P10(1.1P1)/13的逻辑功能。程序: MVC,P1.1 RL ,1.ANL C,1.0 O ,P13
8、 OV .,C14下列程序段汇编后,从10H单元开始的单元内容是什么?OG 000HAB: DB 1H,34HD 3W 567H,8 答:(000)=12H,(001)3H,(1002H)=00,(1003H)=00,(004H)00,(100H)=,(006H)=5H,(107H)=87H,(108H)=0H15试编一段程序,将片内RAM的20H、1H、2H单元的内容依次存入片外AM的20、21H、22H中。程序:OR0,20HOV2,#03HLOOP:MO ,0MVXR,A IN R0 JZ R2,LOPSJP $16编程实现将片外RM的2000200单元的内容,全部搬到片内RM的H单元开
9、始位置,并将源位置清零。程序:OV R0,#0VP,#200HOVR,#31LOP:X A,DPTR MOV R0,AMOV A,#00MVX DPTR,A INC DPR0 JZR2,O SJM $17编程将片外RAM的100单元开始的10个字节数据相加,结果放于7R6中。MOVDPTR,#1000HMV,#100MR7,#00MO R6,00OOP:OVX,DPTR ADD A,6 MOV R6,AMOA,R7ADDC A,#0 MOV 7,AINCDPTR JNZ R2,LOP SJMP $18编程实现4R3R2,结果放于R7R6R5中。RG 010MUL1:MV A,R2MOV ,R3
10、MUL AB ;R2R3,结果的低字节直接存入积的R5MOV 5,A ;结果的高字节存入6中暂存起来MOV ,BMUL2:MV A,R2MOV B,4MU AB ;R2R,结果的低字节与R6相加后,再存入R6中A A,R6OV R6,AMOV , ;结果的高字节加上进位位后存入7中ADCA,#00V ,MP $19编程实现把片内R的20单元的0位、1位,21H单元的2位、3位,2单元的位、5位,H单元的6位、7位,按原位置关系拼装在一起放于R2中。MOV C,0H. OVA.0,C O C,2H.1MVA,MO C,21H.2 MOVA.2,CMV ,1H.3M A.3,C MV C,2H.4
11、MV A.4,CMOC,22H.5 MOVA.5,COV C,23H. MV.6,C MOC,23H7 MVA.,CMOVR2,A20用查表的方法实现一位十六进制数转换成ACII。(设一位十六进制数放在R2中,轮换的ASI也放于R2中)C6STSC:MV DPTR,#TB OV A,R2 MOC A,A+DT MOVR2, RETTAB:DB 30H,3H,2H,33H,3H,35H,H,37DB 38,31H,1,42,43,44,45H,46编程统计从片外RA200H开始的100个单元中“0”的个数放于R2中。MODPT,#00HMOVR3,100MOR2,#0LOP:MOVX A,PJEXTIC 2NXT:INC DPTNZR3,OP MP 第四章4-有哪里些数据类型是MS
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1