本文目錄一覽:
- 1、MOV DPTR,#0030H MOV A,#31 MOVX @DPTR,A 好比這段程序,用c語言應該怎麼寫呢?
- 2、單片機中與 MOVX A,R0 等價的是什麼語句;
- 3、movx @DPTR,A怎麼轉換為C語言
- 4、關於51單片機里 wr rd兩個引腳。在彙編中MOVX是自動賦值的。那在C語言中呢。自能手動賦值?
MOV DPTR,#0030H MOV A,#31 MOVX @DPTR,A 好比這段程序,用c語言應該怎麼寫呢?
先要定義一外部存儲器的變數,然後給這個變數賦值31就OK。
char xdata *mydat;
……
mydat=(char xdata*)0x0030;
*mydat=31;
單片機中與 MOVX A,R0 等價的是什麼語句;
樓主所寫的指令不對。沒有這樣的語句。
單片機的MOVX指令只有以下四種:
MOVX A,@Ri ;i只能是0或1
MOVX A,@A+DPTR
MOVX @Ri ,A;i只能是0或1
MOVX @A+DPTR,A
若@Ri里存放數據37H,則MOVX A,@Ri的意思是把片外數據存儲器37H里存放的數據傳送給A;
MOVX A,@A+DPTR的意思是把DPTR和A的和所對應的片外數據存儲區地址里的數傳送給A。
因為樓主寫的指令不存在,所以也沒有與其等價的指令。
movx @DPTR,A怎麼轉換為C語言
首先要
添加一個頭文件
#includeabsacc.h
再
主程序前
#define
address
XBYTE[0x8000]
uchar
xdata
*add;
主程序中可以寫
add=address;
*add=0x00;
關於51單片機里 wr rd兩個引腳。在彙編中MOVX是自動賦值的。那在C語言中呢。自能手動賦值?
c語言可用XBYTE[ 一個外部十六進位地址]來直接訪問xdata的存儲空間 它已經包括了MOVX
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/302759.html