標題: 用EdSim51仿真軟件練習使用8051的匯編語言指令 [打印本頁]

作者: cedtek    時間: 2024-1-21 23:01
標題: 用EdSim51仿真軟件練習使用8051的匯編語言指令
使用EdSim51仿真軟件練習10課:單片機數(shù)據(jù)傳送類指令。
首先匯編后沒有報告錯誤,如下圖所示

然后執(zhí)行下面這條指令:
  1. MOV 30H,#12
復(fù)制代碼
將十進制數(shù)據(jù) 12,也就是十六進制的 0x0CH 送入到 RAM 中地址是 30H 的單元,結(jié)果如下圖所示

接著執(zhí)行下面這條指令:
  1. MOV 31H,#23
復(fù)制代碼
和第一條指令類似,將十進制數(shù)據(jù) 23,也就是十六進制的 0x17H 送入到 RAM 中地址是 31H 的單元,結(jié)果如下圖所示

下一步執(zhí)行下面這條指令:
  1. PUSH 30H
復(fù)制代碼
完成第一次壓棧操作,先將堆棧指針 SP——0x07H 進行加一操作,得到 0x08H,然后將 RAM 中地址是 30H 的單元的內(nèi)容——0x0CH 推入以 SP 此時值——0x08H 為地址的 RAM 單元,結(jié)果如下圖所示

緊接著執(zhí)行下面這條指令:
  1. PUSH 31H
復(fù)制代碼
完成第二次壓棧操作,先將堆棧指針 SP——0x08H 進行加一操作,得到 0x09H,然后將 RAM 中地址是 31H 的單元的內(nèi)容——0x17H 推入以 SP 此時值——0x09H 為地址的 RAM 單元,結(jié)果如下圖所示

倒數(shù)第 2 條指令被執(zhí)行:
  1. POP 30H
復(fù)制代碼
開始進行出棧,先將以 SP 此時值——0x09H 為地址的 RAM 單元內(nèi)容——0x17H 彈出到 RAM 中地址是 30H 的單元,然后堆棧指針 SP——0x09H 進行減一操作,得到 0x08H,結(jié)果如下圖所示

最后一條指令被執(zhí)行:
  1. POP 31H
復(fù)制代碼
實現(xiàn)第二次出棧,先將以 SP 此時值——0x08H 為地址的 RAM 單元內(nèi)容——0x0CH 彈出到 RAM 中地址是 31H 的單元,然后堆棧指針 SP——0x08H 進行減一操作,得到 0x07H,結(jié)果如下圖所示


從上圖中的“Data Memory”可以看到,最后 RAM 單元 30H 地址的內(nèi)容是 0x17H——十進制的 23,RAM 單元 31H 地址的內(nèi)容是 0x0CH——十進制的 12,也就是說執(zhí)行完上面的 6 條指令,RAM中地址為 30H、31H 單元的內(nèi)容進行了交換。
作者: mick32    時間: 2024-2-3 04:31
is download link available  - thanks
作者: mick32    時間: 2024-2-3 04:33
EdSim51DITM Simulator now, FREE!
      
作者: pq1972    時間: 2024-2-7 11:04
占位收藏,匯編太難,以后慢慢學習




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