1.统计以片外300H开始的8个字节存储单元中偶数的个数,并将结果存于片内30H中。
2.统计以TAB开始的6个字存储单元中奇数的个数。并将结果存于片外30H中。
3.统计以片内40H开始的十个字节存储单元中正数、负数和零的个数,并将其分别存入X
(30H)、Y(50H)和Z(60H)三个变量中。
4.找出以片外40H开始的6个单元中第一个7的数的地址,并将其存入片内30H中。
5.求TAB表中班上16位同学的平均成绩,并将结果存入片外300H中
6.求TAB表中6个BCD码的和,并将结果存于片内30H和31H中。
7.片内40H开始10H单元中,统计每个单元1的位数,并将位数存于50H开始的单元中
8.统计以片外3000H开始的十个字节存储单元中大于100数的个数。
9.将片内200H开始的十个字节存储单元中数为8的清零。
10.实现将存于片外30H开始的5个字节存储单元中的非组合型BCD码分别转换成ASCII码,
结果存于以片内40H开始的单元中。(不能用查表法)
11.实现将存于TT表中的5个字节存储单元中的组合型(压缩型)BCD码分别转换成ASCII
码,结果存于以片外2000H开始的单元中。
12.求班上30名同学的平均成绩(只保留整数),并将结果存入片内30H(整数)中。
13.在片内30H开始的存储区中,存放14H个带符号数。
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
找出其中最小的一个数,并存
到片外30H单元中。
14.在片内30H开始的存储区中,存放14H个无符号数。要求找出其中最大的一个数,并存
到片外30H单元中。
15.用软件实现1S定时。
16.将存于片外3000H开始的5个字节存储单元中的数从小到大排序后,存于以片外4000H
开始的单元中。
17.统计片外4000H开始的单元中1的个数。
18.求以片内40H开始的十个字节存储单元中偶数的和。
19.求以片外2000H开始的十个字节存储单元中BCD码的和
20.将存于3000H开始的字符串移动到以4000H开始的单元中,并测试字符串的长度。
21.用查表法完成Y=X3
例:将内部RAM单元中20H单元到2FH单元的数传到外部RAM中的2000H到200FH单元中.
R2 ← 10H, R0 ←20H
DPTR ←2000H
A ←@R0
@DPTR ←A
R0 ←(R0)+1
DPTR←(DPTR)+1
(R2)-1=0?
END
?源程序:
ORG 0000H
MOV R0,#20H
MOV DPTR,#2000H
MOV R2,#10H
LOOP:MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R2,LOOP
SJMP $
END
?设置进行数据传送的内部和外部RAM的首地址?设定循环次数
?RAM地址加“1”
传送类程序设计
注:被传送数的大小,格式判断存在于片内还是片外
要取数据的大小
传递字或字符串长短及类型的不同
?片内→片内?
例:将片内40H 单元中的数传到片内60H 中
MOV 60H, 40H
?片内?片外?
例1:将片内40H 传送到片外100H 单元中 MOV A, 40H MOV DPTR, #0100H MOVX @DPTR,A 例2:将片外60H 单元中的数传送到片内40H 单元中
MOV R0,#60H
MOVX A,@R0
MOV 40H,A
注;片外必须用指针。用累加器做中间传输。 ?片外→片外?
例1:将片外40H 单元中的数传送到片外60H 中 MOV R0, #40H MOV R1, #60H MOVX A, @R0 MOVX @R1,A 例2:将片外60H 单元中的数传送到片内40H 单元中
MOV R0,#60H
MOVX A,@R0
MOV 40H,A
注;片外必须用指针。用累加器做中间传输。 ?片外→片外?
例1:将片外40H 单元中的数传送到片外60H 中
MOV R0, #40H
MOV R1, #60H
MOVX A, @R0
MOVX @R1,A
例2:将片外400H 单元中的数传送到片外600H 中
MOV DPTR, #0400H
MOVX A, @DPTR
MOV DPTR , #0600H
MOVX @DPTR,A
例3:把以片外400H 开始的十个数传送到以片外600H 开始的十个数中
MOV R2, #06H MOV R3, #00H MOV DPTR,#0400H MOV R7, #10 L1: MOV A, @DPTR INC DPTR MOV R0, DPL MOV R1, DPH MOV DPL, R3
MOV DPH, R2
MOV @DPTR,A
INC DPTR
MOV R2, DPH
MOV R3, DPL
MOV DPL, R0
MOV DPH, R1
DJNZ R7, L1
统计程序的设计
?个数统计?
①统计正数 负数 及 0的个数
例:统计以片内10H 开始的十个字节存储单元中正数,负数和0的个数。并将其分别存入X,Y,Z 三个变量中。
ORG 3000H
X EQU R5 Y EQU R6
Z EQU R7
MOV R0,#0AH
MOV R1,#10H
L1:CLR C
MOV X,#0
MOV Y,#0
MOV Z,#0
MOV A,@R1 RLC A
JZ L3
JC L2
INC X
SJMP L4
L2:INC Y
SJMP L4
L3:INC Z
L4: INC R1
DJNZ R0,L1 END
②统计奇数及偶数的个数
例:统计以片外2000H开始的十个字节存储单元中偶数的个数,存于片内30H中。
ORG 1000H
MOV DPTR,#2000H MOV R0,#0AH
CLR R1
L1:MOVX A,@DPTR
RRC A JC L2
INC R1
L2: INC DPTR
DJNZ R0,L1 END
③统计符合某类型的一类数的个数
例:将片内20H开始的十个字节存储单元中数为8的清零
ORG 1000H
MOV R0,#0AH
MOV R1,20H
L1:MOV A,@R1
CJNE A,#8,L2 MOV @R1,#0 L2:INC R1
DJNZ R0,L1 END
?分类统计?
例:将片内以30H开始的十个字节存储单元中的正数取出,放入40H开始的单元中,负数放入50H开始的单元中,零放在60H开始的单元中。
ORG 1000H
MOV R0,#30H MOV R2,#0AH MOV R3,#60H MOV R4,#40H MOV R5,#50H L1:CLR C
MOV A,@R0
CJNE A,#0,L2 MOV 43h,R3 MOV R1,43h MOV @R1,A
INC R3
SJMP L4 L2:JC L3
MOV 43h,R4 MOV R1,43h MOV @R1,A INC R4
SJMP L4
L3:MOV 43h,R5 MOV R1,43h MOV @R1,A INC R5
L4:INC R0
DJNZ R2,L1 END
·代码转换类程序设计
?数值进制转换?
二进制数,八进制数,十进制数,十六进制数,BCD 码及ASCII 码之间的转换。
例:实现将存于TT 表中的5个字节存储单元中的组合型(压缩型)BCD 码分别转换成ASCII 码,结果存于以片内50H 开始的单元中。
ORG 1000H MOV DPTR,#TT MOV R2,#05H MOV R1,#50H L1:MOVC A,@A+DPTR MOV 40H,A ANL A,#0FH OR A,#30H MOV @R1,A INC R1
ANL 40H,#0F0H
SWAP A
OR A,#30H
MOV @R1,A
INC R1
INC DPTR
DJNZ R2,L1
TT:DB 27H,36H,58H…
END
求和求平均值
?求和?
例:求以片外2000H 开始的十个字节单元中BCD 码的和,将和存于片内30H 和31H 中。 ORG 1000H MOV R1,#30H MOV R0,#09 MOV DPTR,#2000H MOVX A,@DPTR CLR C L1: INC DPTR ADDC A,@DPTR
DA A
MOV @R1,A
JNC L2
INC R2
MOV 31H,R2
L2: DJNZ R0,L1
END
求最大最小值
例:在片内30H 开始的存储区中,存放14H 个带符号数。要求找出其中最小数,并存到片外30H 单元中。 ORG 2000H MOV R0,#30H MOV DPTR,#30H MOV R2,#13H MOV A,@R0 L1:INC R0
CLR C
SUBB A,@R0
JC L2
MOV A,@R0
L2:DJNZ R2,L1
MOVX @DPTR,A
END
例:在片内30H 开始的存储区中,存放14H 个无符号数。要求找出其中最大的个数。并存到片外30H 单元中。
ORG 2000H CLR C
MOV R0,#30H SUBB A,R1
MOV DPL,#30H JC L2
MOV R2,#13H MOV A,@R0
MOV A,@R0 MOV R1,A
MOV R1,A L2:DJNZ R2,L1
L1:INC R0 MOVX @DPTR,A
MOV A,@R0 END
排序
例:将存于片外3000H开始的5个字节存储单元中的数从小到大排序。
ORG 1000H MOV R7,#5
L2:MOV DPTR,#3000H DEC R7
CLR F0
L1:MOVX A,@DPTR
INC DPTR
MOVX A,@DPTR MOV 2BH,A
CLR C
SUBB A,2BH JC NEXT
XCH A,2BH
DEC DPTR
MOVX @DPTR,A INC DPTR
MOV A,2BH
MOVX @DPTR,A SETB F0 NEXT:DJNZ R7,L1 JBC F0,L2 END
查表法
用查表
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
求函数Y= X3( 0≤x≤6),设自变量x存放在R0中Y值存放在R1中。
ORG 1000H X EQU R0 Y EQU R1 MOV A ,X LCALL L1 MOV Y,A
RET ORG 1200H
L1: INC A
MOVC A,@A+PC
RET
TAB:DB 0,1,8,27,64,125,198 END
定时程序
例:用软件实现1S定时。
ORG 1000H
MOV R2,#20 L1:MOV R3,#200 L2:MOV R7,#3EH L3:NOP NOP
DJNZ R7,L3 DJNZ R3,L2 DJNZ R2,L1 END
测字符串长度
例:测试40H开始的单元中字符串的长度。(回车符0DH) ORG 0000H
MOV R2,#0
MOV R0,#40H
L1:CJNE @R0,#0DH,L2
SJMP L3
L2:INC R2
INC R0
LJMP L1
L3:END