【正确答案】编程如下:
SPRT:MOV A,R7 ;置被除数
MOV B,R6 ;
MOV R6,#03H ;置除数1000=03ESH
MOV R5,#0E8H ;
MOV R0,#33H ;置千位商码间址
LCALL SUM ;除以1000,千位商存33H,余数存A、B
MOV R6,#0 ;置除数100
NOV R5,#100 ;
DEC R0 ;指向百位商间址(32H)
LCALL SUM ;除以100,百位商存32H,余数存A
MOV B,#10 ;置除数10
DIV AB ;除以10
DEC R0 ;指向十位商间址(31H)
MOV @R0,A ;十位商存31H
XCH A,B ;读个位数
DEC R0 ;指向个位间址(30H)
MOV @R0,A ;个位存30H
CHAG:MOV DPTR,#TAB ;置共阳字段码表首址
CGLP:MOV A,@R0 ;取显示数字
MOVC A,@A+DPTR ;读相应显示字段码
MOV @R0,A ;存显示字段码
INC R0 ;指向下一显示数字
CJNE R0,#34H,CGLP ;判4个显示数字转换完否?未完继续
RET ;转换完毕,结束
TAB:DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H;共阳字段码表
【答案解析】