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