结构推理 编写计算下式的程序,设乘积的结果均小于255,A,B值分别存放在片外RAM的2001H和2002H单元中,结果存于2000H单元中。 (A+B*(A+B)+10 若(A+B)*(A+B)〈 10 Y=(A+B)*(A+B) 若(A+B)*(A+B)=10 (A+B)*(A+B)-10 若(A+B)*(A+B) 〉10
【正确答案】ORG 0000H LJMP START ORG 0030H START: MOV DPTR,#2001H MOVX A,@DPTR MOV 30H,A MOV DPTR,#2002H MOVX A,@DPTR ADD A,30H MOV B,A MUL AB MOV R1,A CJNE A,#10,NET1 MOV DPTR,#2000H MOVX @DPTR,A SJMP NET3 NET1: JNC NET2 CLR C MOV A,R1 SUBB A,#10 MOV DPTR,#2000H MOVX @DPTR,A SJMP NET3 NET2: MOV A,R1 ADD A,#10 MOV DPTR,#2000H MOVX @DPTR,A NET3: SJMP $ END
【答案解析】