原创 堆栈指针

2013-10-31 14:42 975 12 12 分类: MCU/ 嵌入式

 

一道嵌入式系统设计师堆栈指针考题引发的思考:

在8086微处理器中,若(SS)=2000H,(SP)=0100H,(AX)=2117H,执行指令

PUSHAX后存放数据21H的物理地址是(45)。

A.20102H B.20101H C.200FEH D.200FFH

答案:D

【分析】

8086中的堆栈采用满递减堆栈,即SP先减,再压入数据,以字为单位对堆栈操作。

因此压入数据时的起始SP应为0FEH;8086中数据采用小端模式存储,即一个字数据

23

中低字节放在低地址;8086逻辑地址到物理地址的形成机制为:物理地址=段地址*16+

偏移地址(或物理地址=段地址左移4位+偏移地址)压栈后内容存储的物理地址为

SS*16+0FEH,21H是AX中的高位,其存储位置为200FFH

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条