標(biāo)題: 51單片機(jī)位尋址區(qū)20h-2fh尋址方式請(qǐng)教 [打印本頁(yè)]

作者: lyonkon    時(shí)間: 2022-11-15 13:37
標(biāo)題: 51單片機(jī)位尋址區(qū)20h-2fh尋址方式請(qǐng)教
因?yàn)榉抡嬗?jì)算結(jié)果不正確,我估計(jì)下可能是位尋址區(qū)賦值方式的問(wèn)題。MOV 20.0,C 編譯不能通過(guò),MOV 20H,C可以通過(guò),但是計(jì)算結(jié)果不正確,可是驗(yàn)算是正確的。
請(qǐng)大家指導(dǎo)一下,下面是單片機(jī)匯編語(yǔ)言程序



作者: Hephaestus    時(shí)間: 2022-11-15 17:14
ADD A,20H
這是對(duì)地址20H操作
MOV C,20H
這里的20H是24H.0的別名。

都不是一個(gè)內(nèi)存地址,你都加了個(gè)寂。
作者: 188610329    時(shí)間: 2022-11-15 19:07
MOV  20.0, C  是錯(cuò)的。
正確寫(xiě)法是:
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

作者: 新鄉(xiāng)家電維修    時(shí)間: 2022-11-16 12:23
你搞亂了位與字節(jié)的指令,
MOV C,20H;是位操作,就像是對(duì)應(yīng)一個(gè)IO口,
MOV A,20H是字節(jié)操作,就像是對(duì)應(yīng)于一組IO口(8個(gè)IO口)
作者: Hephaestus    時(shí)間: 2022-11-16 13:21
新鄉(xiāng)家電維修 發(fā)表于 2022-11-16 12:23
你搞亂了位與字節(jié)的指令,
MOV C,20H;是位操作,就像是對(duì)應(yīng)一個(gè)IO口,
MOV A,20H是字節(jié)操作,就像是對(duì)應(yīng) ...

從他寫(xiě)的匯編來(lái)看,他沒(méi)搞亂位與字節(jié)指令,只是搞亂了位地址和字節(jié)地址。
作者: yzwzfyz    時(shí)間: 2022-11-16 13:33
從20H-2FH,一共是16個(gè)字節(jié),有128位。標(biāo)準(zhǔn)51系統(tǒng)給這128個(gè)位進(jìn)行了編號(hào),并特別給出了指令:
20H.0編號(hào)為00H, 20H.1編號(hào)為01H,......
21H.0編號(hào)為08H, 21H.1編號(hào)為09H,......
......
2FH.0編號(hào)為78H, 2FH.7編號(hào)為7FH,......
編號(hào)80-8FH留給特殊寄存器用了。如:P0.4編號(hào)為84H
MOV 20H, C 這里的20H是編號(hào),按順序指的是:24H.0位。
C是PSW的CY位,它也有編號(hào):D7H。PSW的地址是D0H,在D0H.7是C。

這些手冊(cè)上都有,要認(rèn)真讀手冊(cè),讀通、讀透,一遍、兩遍、三遍,你對(duì)單片機(jī)就精通了。
否則,算不得精通,也就談不上高手。





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1