義隆單片機的匯編語言和MCS-51單片機很相似,但兩者是完全不停體系結構。
我總結的,首先從堆棧結構去看。MCS-51單片機堆棧開辟在RAM空間,實現要用戶根據程序調用情況估算堆棧的使用量,讓后定義堆棧指針的棧頂地址,當用戶讀寫操作改變堆棧區數據會導致程序跑飛。義隆和pic單片機的堆棧是獨立固定的深度,用戶無法直接對堆棧區進行讀寫操作,只有當發生程序調用時,才會有保護現場的地址壓入堆棧,所以不會跑飛,但深度還是有限的所以不宜太多嵌套調用函數。
1,義隆單片機內部結構和PIC單片機是一樣的,MCS-51單片機的總線結構是馮-諾依曼型,計算機在同一個存儲空間取指令和數據,兩者不能同時進行;而PIC單片機的總線結構是哈佛結構,指令和數據空間是完全分開的,一個用于指令,一個用于數據,由于可以對程序和數據同時進行訪問,所以提高了數據吞吐率。正因為在PIC單片機中采用了哈佛雙總線結構,所以與常見的微控制器不同的一點是:程序和數據總線可以采用不同的寬度。數據總線都是8位的,但指令總線位數分別位12、14、16位。
2,MCS-51單片機的取指和執行采用單指令流水線結構,即取一條指令,執行完后再取下一條指令;而PIC的取指和執行采用雙指令流水線結構,當一條指令被執行時,允許下一條指令同時被取出,這樣就實現了單周期指令。
3,PIC單片機的所有寄存器,包括I/O口,定時器和程序計數器等都采用RAM結構形式,而且都只需要一個指令周期就可以完成訪問和操作;而MCS-51單片機需要兩個或兩個以上的周期才能改變寄存器的內容。