离郁闷 发表于 2012-6-3 11:23:12

求助帖 为什么我定义的dd dw数据显示不出来 db的显示的出来

assume cs:code,ds:data,ss:stack,es:table
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
    ;上面是表示21年的21个字符串   (0-14h)(0-20)

dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 145980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
    ;上面是表示21年公司总收入的21个dword型数据(15h-68h)(21-104)

dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800
    ;上面是表示21年来公司总雇人数的21个word型数据(69h-92h) (105-146)
   data ends
   
   stack segment
   dw 0,0,0,0,0,0,0,0
   stack ends
   
   table segment
   dw 22 dup(0,0,0,0,0,0,0,0)
   table ends
   
   
   code segment
   start:    mov ax,data
             mov ds,ax
                       
                       mov ax,stack
                       mov ss,ax
                       mov sp,10h
                       
                       mov ax,table
                       mov es,ax
                       
                       mov cx,21
                       mov bx,0
                       mov si,0
                       mov di,0
               
                        
       s1:   push byte ptr ds:         ;这是年份放入栈中
                 push dword ptr ds:   ;这是总收入放入栈中
                       push word ptr ds:    ;这是把总人数放入栈中
                       
                       pop word ptr es:
                       pop dword ptr es:
                       pop dword ptr es:
                       add bx,10h
                       add si,4
                       add di,2
                       loop s1
                       
           mov ax,4c00h
           int 21h
          code ends
          end start
上面是源码,我debug了后只显示出了db的数据,为什么dw和dd的没有显示出来,求高手解答啊,坐等....后面可能也有错误大虾有时间也帮忙看看啊

离郁闷 发表于 2012-6-3 11:24:34

求租啊,在这里蹲了好几天了 有高手吗{:7_173:}

努力学习 发表于 2012-6-3 15:11:27

你的栈定义的也太少了吧,不管是入栈还是出栈都容易发生越界,而且你入栈的时候si加了4,这也不会吧,你看到的db数据应该是一部分吧{:5_92:}
页: [1]
查看完整版本: 求助帖 为什么我定义的dd dw数据显示不出来 db的显示的出来