. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->包含多个段的程序
主题 : :  实验5的第5题程序运行正确(正确答案之一)  [待解决] 回复[ 9次 ]   点击[ 637次 ]  
waasmedu
[帖 主] [ 发表时间:2011-12-19 09:08 ] 
荣誉值:0
信誉值:0
注册日期:2011-11-02 16:00
如下代码,上机运行结果完全正确!

assume cs:code
 a segment
     db 1,2,3,4,5,6,7,8
 a ends

 b segment
     db 1,2,3,4,5,6,7,8
 b ends

 c segment
     db 0,0,0,0,0,0,0,0
 c ends

 code segment
 start: mov ax,a
        mov ds,ax

        mov ax,b
        mov es,ax

        mov ax,c
        mov ss,ax
        
        
        mov bx,0
        mov cx,8
   
   s:   mov dl,0
        add dl,ds:[bx]
        add dl,es:[bx]
        mov ss:[bx],dl
        
        inc bx
        loop s

        mov ax,4c00h
        int 21h

       
 code ends
 end start
wzhh1986
[第9楼] [ 回复时间:2012-04-12 19:58 ] 
荣誉值:6
信誉值:2
注册日期:2010-12-02 13:35
用SS做数据段,如果要单步执行跟踪,T命令产生中断,会压入栈中,直到栈空间快用完的时候,继续中断压栈,有可能会产生未知错误吧,在纯DOS操作下就肯定正确?
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved