資源描述:
《數(shù)據(jù)傳遞類令.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、1.數(shù)據(jù)傳遞類指令?(3)以直接地址為目的操作數(shù)的指令MOVdirect,A例:MOV20H,AMOVdirect,RnMOV20H,R1MOVdirect1,direct2MOV20H,30HMOVdirect,@RiMOV20H,@R1MOVdirect,#dataMOV20H,#34H(4)以間接地址為目的操作數(shù)的指令MOV@Ri,A例:MOV@R0,AMOV@Ri,directMOV@R1,20HMOV@Ri,#dataMOV@R0,#34H(5)十六位數(shù)的傳遞指令MOVDPTR,#data168051是一種8位機,這是唯一的一條16位立即數(shù)傳遞指令,其功能是將一個16位的立即數(shù)
2、送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例:MOVDPTR,#1234H,則執(zhí)行完了之后DPH中的值為12H,DPL中的值為34H。反之,如果我們分別向DPH,DPL送數(shù),則結果也一樣。如有下面兩條指令:MOVDPH,#35H,MOVDPL,#12H。則就相當于執(zhí)行了MOVDPTR,#3512H。綜合練習:?1.給出每條指令執(zhí)行后的結果?2.上機練習:?MOV23H,#30HMOV12H,#34HMOVR0,#23HMOVR7,#22HMOVR1,12HMOVA,@R0MOV34H,@R1(23h)=30h(12h)=34h(R0)=23H(R7)=22H(R1)=12
3、H(A)=30H(34H)=34HMOV45H,34HMOVDPTR,#6712HMOV12H,DPHMOVR0,DPLMOVA,@R0(45H)=34H(DPTR)=6712H(12H)=67H(R0)=12H(A)=67H說明:用括號括起來代表內(nèi)容,如(23H)則代表內(nèi)部RAM23H單元中的值,(A)則代表累加器A單元中的值。??1.進入DOS狀態(tài),進入WAVE所在的目錄,例D:WAVE??2.鍵入MCS51,出現(xiàn)如下畫面??3.按File->Open,出現(xiàn)對話框后,在Name處輸入一個文件名(見圖2),如果是下面列表中已存在的,則打開這個文件,如果不存在這個文件,則新建一個文件(
4、見圖3)??1.在空白處將上面的程序輸入。見圖4。用ALT+A匯編通過。用F8即可單步執(zhí)行,在執(zhí)行過程中注意觀察屏幕左邊的工作寄存器及A累加器中的值的變化。??1.內(nèi)存中值的變化在此是看不到的,可以用如下方法觀察(看圖5):將鼠標移到DATA,雙擊,則光標進入此行,此時可以鍵盤上的上下光標鍵上下翻動來觀察內(nèi)存值的變化。本行的最前面DATA后面的數(shù)據(jù)代表的是“一段”的開始地址,如現(xiàn)在為20H,再看屏幕的最上方,數(shù)字從0到F,顯示兩者相加就等于真正的地址值,如現(xiàn)在圖上所示的內(nèi)存20H、21H、22H、23H中的值分別是FBH、0EH、E8
5、H、30H。??·當運行完程序后,即進入它的反匯編區(qū),不是我們想要的東西。為了再從頭開始,可以用CTRL+F2功能鍵復位PC值。注意此時不會看到原來的窗口,為看到原來的窗口,請用ALT+4或ALT+5等來切換。當然以上操作也可以菜單進行。CTRL+F2是程序復位,用RUN菜單。窗口用WINDOWS菜單。?此次大家就用用熟這個軟件吧,說實話,我并不很喜歡它,操作起來不方便,但給我的機器只能上這個,沒辦法,下次再給網(wǎng)友單獨介紹一個好一點的吧。