. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->包含多个段的程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  两个出现在检测点6.1中的问题?  [已解决] 回复[ 4次 ]   点击[ 595次 ]  
zwjq
[帖 主]   [ 发表时间:2010-08-11 08:27 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2010-07-31 15:39
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
       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
省略编译连接,追踪2..exe工程中出现
-d cs:0 f
0B70:0000  68 10 A7 00 BB 13 71 05-16 00 A3 03 B1 13 71 05   h.....q.......q.
-p

Program terminated normally
-d cs:0 f
0B70:0000  68 10 A7 00 BB 13 71 05-16 00 A3 03 13 3E 4F 03   h.....q......>O.
-为什么p指令过后 同样的“-d cs:0 f”却呈现不同的结果?


为什么我的程序是2.asm ,编译连接完后得到2.exe,我在cmd里运行2,在查看d cs(我已得到):0 f 却没改变,而我追踪程序完成后查看d cs:0 f  便实现了效果!难道运行和追踪完成得到的结果会不一样吗???我很困惑,望高手指导!
masmaster
[第1楼]   [ 回复时间:2010-08-11 09:42 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
没必要用栈吧,直接用相对寻址即可
        mov ax,code
        mov ds,ax
        mov cx,8
        mov bx,0
s:
        mov ax,[bx]
        mov [bx+10h],ax
        add bx,2
        loop s
zwjq
[第2楼]   [ 回复时间:2010-08-11 14:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2010-07-31 15:39
没必要用栈吧,直接用相对寻址即可
        mov ax,code
        mov ds,ax
        mov cx,8
        mov bx,0
s:
        mov ax,[bx]
        mov [bx+10h],ax
        add bx,2
        loop s
------------------
回复:题目里是先给了push [bx]
再叫填空。不过你的方法很好~
masmaster
[第3楼]   [ 回复时间:2010-08-11 16:04 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
没必要用栈吧,直接用相对寻址即可
        mov ax,code
        mov ds,ax
        mov cx,8
        mov bx,0
s:
        mov ax,[bx]
        mov [bx+10h],ax
        add bx,2
        loop s
------------------
回复:题目里是先给了push [bx]
再叫填空。不过你的方法很好~
------------------
回复:哦~~~
zwjq
[第4楼]   [ 回复时间:2010-08-20 13:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2010-07-31 15:39
此贴由 贴主 于 [ 2010-08-20 13:16 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(masmaster):6分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved