【正确答案】程序如下:
MOV DPTR,#2000H;置BCD码外RAM地址
MOVX A,@DPTR ;读外RAM 2000H单元中的BCD码
MOV B,A ;暂存
ANL A,#0FH ;屏蔽高4位,保留低4位
MOVX @DPTR,A ;回存外RAM 2000H单元
INC DPTR ;指向外RAM 200IH单元
MOV A,B ;读原BCD码
ANL A,#0F0H ;屏蔽低4位,保留高4位
SWAP A ;高4位→低4位
MOVX @DPTR,A ;回存外RAM 200IH单元
【答案解析】上述程序中,#0F0H=#F0H。之所以在F0H前加0,是为了键入电脑时便于仿真软件识别。仿真软件要求:凡用英文字母开头的地址或数据,在英文字母前要加0,这并非是80C51指令系统本身需要。在后续文字中,有0无0具有同等效果。