. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(内存访问)
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
PUSH、POP操作的不是16位的数据吗?
[待解决]
回复[
8
次 ] 点击[
486
次 ]
cutebe
[帖 主]
[ 发表时间:2013-05-28 12:39 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:4
信誉值:0
注册日期:2010-01-27 19:28
PUSH AX ;AX是16位的寄存器
POP DS ;段寄存器也是16位的
所以PUSH [0] ;操作的也应该是字单元罢!
前面有字单元是16位,等于2个内存单元
cutebe
[第
1
楼]
[ 回复时间:2013-05-28 12:41 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:4
信誉值:0
注册日期:2010-01-27 19:28
忘了描述出处了,如下:
P67 疑问
“如何使 PUSH AX 访问的内存单元是10000H”
yunzhuo
[第
2
楼]
[ 回复时间:2013-06-02 00:00 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2013-05-05 20:45
字单元数据入栈
capitelation
[第
3
楼]
[ 回复时间:2013-06-26 18:19 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:18
信誉值:0
注册日期:2013-06-25 18:18
就是入栈操作啊 那就得指定cs:ip的位置不就可以了吗。书上讲的很明白啊。因为该指令 PUSH AX读取后,ip就变了。所以将ip设为0002H。
capitelation
[第
4
楼]
[ 回复时间:2013-06-26 18:20 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:18
信誉值:0
注册日期:2013-06-25 18:18
push当然是操作的16位数据了 你说访问的内存单元 是20位的内存单元的地址 不是数据。数据仍然是16位的。
alexc
[第
5
楼]
[ 回复时间:2015-01-13 23:48 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2015-01-12 22:00
你的意思是把ax的数据放到内存地址10000的位置是吧
代码:
mov ax,1000
mov ss,ax
mov sp,0002
push ax
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved