MCS-51单片机指令系统及汇编程序设计
- 格式:ppt
- 大小:804.50 KB
- 文档页数:116
第三章MCS51单片机的指令系统和汇编语言程序示例(第5、6、7节)1.试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?(1)MOV A,#19HADD A,#66H(2)MOV A,#5AHADD A,#6BH2.已知:A=85H,R0=30H,(30H)=11H, (31H)=0FFH,C=1,试计算单片机执行下列指令后累加器A和C中的值各是多少?(1)ADDC A,R0, (2)ADDC A,31H(3) ADDC A,@R0, (4) ADDC A,#85H3.已知M1和M2中分别存放两个16位无符号数的低8位,M1+1和M2+1中分别存放两个16位无符号数的高8位,计算两数之和(低8位存放在M1,高8位存放在M1+1,设两数之和不超过16位)。
4.试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?CLR CMOV A,#52HSUBB A,#0B4H5.已知:A=0DFH,R1=40H,R7=19H,(30H)=00H,(40H)=0FFH,试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?(1) DEC A (2) DEC R7 (3) DEC 30H (4) DEC @R16.试写出能完成85+59的BCD加法程序,并对工作过程进行分析。
7.已知:两个8位无符号乘数分别放在30H和31H单元中,编程实现他们乘积的低8位存放在32H,高8位存放在33H。
8.已知:R0=30H,(30H)=0AAH,试分析执行下列指令后累加器A和30H单元的内容是什么?(1)MOV A, #0FFH ANL A, R0(2)MOV A, #0FH ANL A, 30H(3)MOV A, #0F0H ANL A, @R0(4)MOV A, #80H ANL 30H, A9.设:A=0AAH和P1=0FFH,试编程把累加器A的低四位送入P1口的低四位,P1口的高四位保持不变。
C51单片机汇编语言程序设计一、二进制数与十六进制数之间的转换1、数的表达方法为了方便编程时书写,规定在数字后面加一个字母来区别,二进制数后加B十六进制数后加H。
2、二进制数与十六进制数对应表二进制十六进二进制制0000000100100011010001010110011101234567100010011010101111001101 11101111十六进制89ABCDEF3、二进制数转换为十六进制数转换方法为:从右向左每4位二进制数转化为1位十六进制数,不足4位部分用0补齐。
例:将(1010000110110001111)2转化为十六进制数解:把1010000110110001111从右向左每4位分为1组,再写出对应的十六进制数即可。
0101000011011000111150D8F答案:(1010000110110001111)2=(50D8F)16例:将1001101B转化为十六进制数解:把10011110B从右向左每4位分为1组,再写出对应的十六进制数即可。
100111109E答案:10011110B=9EH4、十六进制数转换为二进制数转换方法为:将每1位十六进制数转换为4位二进制数。
例:将(8A)16转化为二进制数解:将每位十六进制数写成4位二进制数即可。
8A10001010答案:(8A)16=(10001010)2例:将6BH转化为二进制数解:将每位十六进制数写成4位二进制数即可。
6B01101011答案:6BH=01101011B二、计算机中常用的基本术语1、位(bit)计算机中最小的数据单位。
由于计算机采用二进制数,所以1位二进制数称作1bit,例如110110B为6bit。
2、字节(Byte,简写为B)8位的二进制数称为一个字节,1B=8bit3、字(Word)和字长两个字节构成一个字,2B=1Word。
字长是指单片机一次能处理的二进制数的位数。
如AT89S51是8位机,就是指它的字长是8位,每次参与运算的二进制数的位数为8位。
MCS—51单片机指令系统及程序设计基础题目一、判断题()1.MCS—51单片机的指令格式中操作码与操作数之间必须用“,”分隔。
()2.MCS—51指令:MOV A,#40H ;表示将立即数40H传送至A中。
()3.MCS—51指令:MOV A,@R0 ;表示将R0指示的地址单元中的内容传送至A中。
()4.MCS—51指令:MOVX A,@DPTR ;表示将DPTR指示的地址单元中的内容传送至A中。
()5.MCS—51的数据传送指令是把源操作数传送到目的操作数,指令执行后,源操作数改变,目的操作数修改为源操作数。
()6.MCS—51指令中,MOVX为片外RAM传送指令。
()7.MCS—51指令中,MOVC为ROM传送指令。
()8.将37H单元的内容传送至A的指令是:MOV A,#37H。
()9.MCS—51指令中,16位立即数传送指令是:MOV DPTR,#data16。
()10.MCS—51单片机,CPU对片外RAM的访问只能用寄存器间接寻址的方式,且仅有4 条指令。
()11.如JC rel发生跳转时,目标地址为当前指令地址加上偏移量。
()12.对于8051单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程序存储器中寻址。
()13.指令MUL AB执行前(A)=F0H,(B)=05H,执行后(A)=FH5,(B)=00H。
()14.已知:DPTR=11FFH 执行INC DPTR后,结果:DPTR=1200H。
()15.已知:A=11H B=04H,执行指令DIV AB后,其结果:A=04H,B=1 CY=OV=0。
()16.已知:A=1FH,(30H)=83H,执行ANL A,30H 后,结果:A=03H (30H)=83H P=0。
()17.无条件转移指令LJMP addr16称长转移指令,允许转移的目标地址在128KB空间范围内。
()18.MCS—51指令系统中,执行指令FGO bit F0 ,表示凡用到F0位的指令中均可用FGO来代替。