. : : 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