void move(char x,char y) /*对move函数的声明*/
if(n= =1)
move(one,three)//如果只有一个盘子,只需要将第一个搬到第三个柱子上就完成任务了或烂隐
else//如果还历亏有n(n != 1),只需要三步就可以完成
{
hanoi(n-1,one,three,two)//步骤1:把上面的n-1个通过第三个柱子搬到第二个柱子衫厅上去
move(one,three)// 步骤2: 把最下面的那个大盘子N移动到第三个柱子上去
hanoi(n-1,two,one,three)//步骤3: 把第二个柱子上面的n-1个盘子通过第一个移动到第三个柱子上去
}
}
void move(char x,char y)/*定义move函数*/
{
printf(“%c――>%c\n”,x,y)//move就不用多说了,cong柱子x到 y
}
ORG 0000HMOV DPTR,#0100H
MOV R0,#20H
MOV R1,#10H
LOOP:MOV A, @R0
MOVX@DPTR,A
INC R0
INC DPTR
DJNZ R1, LOOP
END
功能:将内部RAM中20H开始的16个数据传输到外部RAM地址滑雹0100开始的存储单元中。
2.仔则让局细阅读下面这段程序,说明它的功能是什么:
ORG 0000H
MOVA, 30H
PUSH ACC
ANL A, #0FH
MOV 32H, A
POP A
ANL A, #0F0H
SWAP A
MOV 31H , A
END
将30H的第四位赋孙让值给32H,30H的高四位赋值给31H
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)