第1个回答 2012-11-08
SQUD:
MOV R0,#20H ;间接寻址首地址送R0
MOV 30H,#0 ;累加结果高位清零
MOV 31H,#0 ;累加结果低位清零
MOV R7,#4 ;循环4次累加4个数
SQUD1:
MOV A,@R0 ;取数送A
ADD A,31H ;与结果低位相加
JNC SQUD2 ;没有进位转
INC 30H ;有进位高位加1
SQUD2:
INC R0 ;地址加1
DJNZ R7,SQUD1 ;判断5个数是否加完
MOV R7,#2
SQUD3:
MOV A,30H ;高低位送A
RRC A ;带进位循环右移
MOV 30H,A ;回送30H
MOV A,31H ;低位送A
RRC A ;带进位循环右移完成一次除2
DJNZ R7,SQUD3 ;共移两次相当于除4
MOV 32H,A ;结果存32H
RET本回答被网友采纳