鱼C论坛

 找回密码
 立即注册
查看: 2306|回复: 6

汇编语言第二版 检测点6.1第2题中的问题

[复制链接]
发表于 2012-1-12 16:50:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
源代码
assume cs:codesg
codesg segment
    dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
    dw 0,0,0,0,0,0,0,0,0,0
start:
    mov ax,cs     ;cs为所填第一空
    mov ss,ax
    mov sp,24h    ;此条指令为所填第二空
    mov ax,0
    mov ds,ax
    mov bx,0
    mov cx,8
s:
    push [bx]
    pop cs:[bx]    ;此条指令为所填第三空
    add bx,2
    loop s
   
    mov ax,4c00h
    int 21h
codesg ends
end start
第3个空中的pop cs:[bx]中把CS改成DS可以不
还有就是cs:[bx]中的数据是什么 是内存单元中的还是代码中的 如果是源代码中的数据那他也没有入栈呀?怎么到这就变成POP出栈了?原来入栈的不是内存单元中的数据吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-12 17:11:02 | 显示全部楼层
有没有大牛指点下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-12 17:58:24 | 显示全部楼层
补充下 把 pop cs:[bx] 中的CS换成SS一样可以改写数据
这么回事 是不是 因为CS 和SS在一个段地址的原因
把 pop cs:[bx] 中的CS换成DS就不行了
求助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-12 19:39:07 | 显示全部楼层
push [bx]     此处压栈的是内存0000H处偏移为BX的地址的内容
pop cs:[bx]    此处出栈此内容送到代码段偏移为BX的地址中去


作者和你并不知道内存0000:~0000:15处是什么内容,他只是让你将数据拷贝到代码段哪里就行了,至于为什么,他没说,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-12 19:54:43 | 显示全部楼层
有点明白先谢谢您
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-9 17:29:56 | 显示全部楼层
貌似明白了哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-9 17:41:23 | 显示全部楼层
{:1_1:}还没学到,努力跟上~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 04:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表