|
从20H-2FH,一共是16个字节,有128位。标准51系统给这128个位进行了编号,并特别给出了指令: 20H.0编号为00H, 20H.1编号为01H,...... 21H.0编号为08H, 21H.1编号为09H,...... ...... 2FH.0编号为78H, 2FH.7编号为7FH,...... 编号80-8FH留给特殊寄存器用了。如:P0.4编号为84H MOV 20H, C 这里的20H是编号,按顺序指的是:24H.0位。 C是PSW的CY位,它也有编号:D7H。PSW的地址是D0H,在D0H.7是C。 这些手册上都有,要认真读手册,读通、读透,一遍、两遍、三遍,你对单片机就精通了。 否则,算不得精通,也就谈不上高手。 |
新乡家电维修 发表于 2022-11-16 12:23 从他写的汇编来看,他没搞乱位与字节指令,只是搞乱了位地址和字节地址。 |
|
你搞乱了位与字节的指令, MOV C,20H;是位操作,就像是对应一个IO口, MOV A,20H是字节操作,就像是对应于一组IO口(8个IO口) |
|
MOV 20.0, C 是错的。 正确写法是: MOV 20H.0, C 但, MOV 20H.0, C 不等于: MOV 20H, C MOV 20H.0, C 等于: MOV 00H C 同样,MOV 20H,C 等于:MOV 24H.0,C |
|
ADD A,20H 这是对地址20H操作 MOV C,20H 这里的20H是24H.0的别名。 都不是一个内存地址,你都加了个寂。 |