标题: 为啥汇编语言MOV C,40H是对的?40H不在20H~2FH里啊? [打印本页]

作者: 左某    时间: 2021-12-28 21:04
标题: 为啥汇编语言MOV C,40H是对的?40H不在20H~2FH里啊?
谁能告诉我为啥MOV C,40H 是对的?40H不在20H~2FH里啊!

作者: Hephaestus    时间: 2021-12-28 21:34
语法上,0~0FFH都是对的,都可以通过编译。如果不对那也是执行结果不对,编译期间不会报错。
作者: Y_G_G    时间: 2021-12-28 22:28
谁告诉你"40H不在20H~2FH里啊!"?
MOV是寻址指令,它会根据操作数自动识别的
MOV C,40H
这个的操作对象是C,C是位,所以,它就是把40H这个位的值传送到C,40H位地址位于0x28.0,就是28H的最低位
你可以MOV C,(任何小于255的数,8051指令是8位的,只有一条16位指令),它会自动对应字节中的位,可以位寻址的就会位寻址,不可以的就知道结果是什么了,没试过
认真看一下8051的内存说明


作者: 左某    时间: 2021-12-28 23:14
Y_G_G 发表于 2021-12-28 22:28
谁告诉你"40H不在20H~2FH里啊!"?
MOV是寻址指令,它会根据操作数自动识别的
MOV C,40H

谢谢        




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1