正在加载图片...
XCH A, @Ri: A<=>(Ri) 半字节交换 XCHD A,@Ri; A0-3<=>(Ri)0-3 SWAP Ai A0-3<=>Ag-7 9.堆栈操作 所谓堆栈是在片内RAM中按“先进后出,后进先出”原则设置的专用 存储区。数据的进栈出栈由指针SP统一管理。堆栈的操作有如下两条 专用指令 PuSH direct;SP←(SP+1),(SP)←( direct) POP direct;( direct)←(SP),SP←SP-1 PUSH是进栈(或称为压入操作)指令。指令执行过程如图所示。 【例3】将片内RAM30H单元与40H单元中的内容互换 方法1(直接地址传送法): MOV 31H, 30H MOV 30H,40H MOV 40H, 31H SJMP S 方法2(间接地址传送法) MOV R0,#40H MOV RI, #30H MOv A, aRO MOV B, ORI MOV CaRl, A MOV aRO, B 方法3(字节交换传送法): MOV A, 30H XCH A,40H MOV 30H,A SJMP S 方法4(堆栈传送法): PUSH 30H PUSH 40H POP 30H POP 40H SMP S 332算术运算类指令XCH A,@Ri ;A<=>(Ri) ⚫ 半字节交换 XCHD A,@Ri;A0~3<=>(Ri)0~3 SWAP A ;A0~3<=>A4~7 9.堆栈操作 • 所谓堆栈是在片内RAM中按“先进后出,后进先出”原则设置的专用 存储区。数据的进栈出栈由指针SP统一管理。堆栈的操作有如下两条 专用指令: PUSH direct;SP←(SP+1),(SP)←(direct) POP direct ;(direct)←(SP),SP ← SP-1 • PUSH是进栈(或称为压入操作)指令。指令执行过程如图所示。 【例3.1】 将片内RAM 30H单元与40H单元中的内容互换。 方法1(直接地址传送法): MOV 31H,30H MOV 30H,40H MOV 40H,31H SJMP $ 方法2(间接地址传送法): MOV R0,#40H MOV R1,#30H MOV A,@R0 MOV B,@R1 MOV @R1,A MOV @R0,B SJMP $ 方法3(字节交换传送法): MOV A,30H XCH A,40H MOV 30H,A SJMP $ 方法4(堆栈传送法): PUSH 30H PUSH 40H POP 30H POP 40H SJMP $ 3.3.2 算术运算类指令
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有