鱼C论坛

 找回密码
 立即注册
查看: 2873|回复: 8

王爽汇编第六章检测点第二题求解

[复制链接]
发表于 2013-7-7 21:54:50 | 显示全部楼层 |阅读模式
2鱼币
下面的程序实现依次实现用内存0:0~0:15 单元中的内容改写程序中的数据,数据的传送用栈来进行,栈空间设置在程序内,完成程序:
assume cs:code

code segment

     dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
     dw 0,0,0,0,0,0,0,0,0,0
start:
     mov ax,__
     mov ss,ax
     mov sp,__

     mov ax,0
     mov ds,ax
     mov bx,0
     mov cx,8

s:
     push [bx]
    ________
      add bx,2
     loop s

mov ax,4c00h
     int 21h

code  ends

end start
求解 希望前辈能详细说下 谢谢

最佳答案

查看完整内容

start:mov ax,cs mov ss,ax mov sp,24h mov ax,0 mov ds,ax mov bx,0 mov cx,8 s:push pop cs: add bx,2 loop s mov ax,4c00h int 21h 首先,第一处填CS,因为源程序中栈段和数据段均在代码段内通过定义字型数据给出,因此栈段的段地址就是代码段的段地址,在CS寄存器中。 第二处填24H,因为定义的栈段共有10个字,20个字节,偏移地址从10H ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-7 21:54:51 | 显示全部楼层
本帖最后由 火麒麟 于 2013-7-7 23:22 编辑

start:mov ax,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
首先,第一处填CS,因为源程序中栈段和数据段均在代码段内通过定义字型数据给出,因此栈段的段地址就是代码段的段地址,在CS寄存器中。
第二处填24H,因为定义的栈段共有10个字,20个字节,偏移地址从10H—23H(在栈段前有8个字型数据,这八个字型数据的偏移地址从0—F),因此在入栈之前栈为空,SS:SP指向栈中最底部单元的下一个单元,即偏移地址为24H的内存单元。
第三处填pop cs:[bx],因为当0:0字单元中的内容入栈后,执行pop cs:[bx],就使得当前栈中的元素出栈到cs:[0]字单元中,依次循环。

评分

参与人数 1鱼币 +1 收起 理由
Dardy + 1 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-8 04:27:28 | 显示全部楼层
建议楼主如果想不明白的话 还是把前面所有的内容在看一遍吧  自己解决了问题印象才深刻
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-8 05:56:45 | 显示全部楼层
楼上正解,要自己多练多看多想才好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-8 16:56:36 | 显示全部楼层
路过,学习了~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-8 20:56:41 | 显示全部楼层
谢谢你谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-8 21:33:31 | 显示全部楼层
真的很谢谢   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-9 08:24:34 | 显示全部楼层
呵呵,没事。{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-9 23:42:54 | 显示全部楼层
楼上正解,刚刚也在纠结第二空怎么填。什么时候当作字看什么时候当作字节看总是分不清楚:(
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-29 09:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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