. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(内存访问)
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
检测点3.2
[待解决]
回复[
6
次 ] 点击[
381
次 ]
maq622
[帖 主]
[ 发表时间:2018-09-18 16:44 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2018-09-14 17:24
答案这些我是都明白的,但敢问大佬们,为什么(1)中开始
mov ax,1000H
mov ds,ax
这里为什么是要把1000H赋值给ds寄存器呢?明明现在是对2000H段地址的push指令的操作,前两句有什么意义吗?
(2)也是同样的问题。感谢大佬们能看到回复
maq622
[第
1
楼]
[ 回复时间:2018-09-20 11:21 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2018-09-14 17:24
是不是已经凉凉了?
muxi
[第
2
楼]
[ 回复时间:2020-06-30 21:48 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2020-06-27 01:08
(1)是把左边当数据段,右边当栈段,(2)是把左边当栈段,右边当数据段
frinck
[第
3
楼]
[ 回复时间:2021-02-26 10:38 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2020-01-14 16:43
首先明确两个字段的涵义:“DS:IP”这里的涵义是数据段中的数据,,“push 内存地址”这个含义是将内存地址所指的数据入栈到栈指针目前所指定的位置。
所以给DS赋值1000h的意思就是指定数据段,push [0]的意思是将ax*16+0物理位置的数据入栈到指针所指的位置。因此其实就是分为两个部分,ds负责数据,push负责读取的数据放在哪里
trxnb
[第
4
楼]
[ 回复时间:2022-10-10 14:05 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2022-10-09 11:54
检测点3.2
(1)
mov ax,1000
mov ds,ax
mov ax,2000
mov ss,ax
mov sp,0010
(2)
mov ax,2000
mov ds,ax
mov ax,1000
mov ss,ax
mov sp,0
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved