鱼C论坛

 找回密码
 立即注册
查看: 3071|回复: 3

谁帮我看下这个程序哪里有错,为什么dos不能编译出来

[复制链接]
发表于 2011-8-15 03:28:04 | 显示全部楼层 |阅读模式

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

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

x
assume cs:codesg,ds:data,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个字符串
         
         
         
         dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
         
         dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
         ;以上是表示21年公司总收的21个dword型数据
         
         
         
         
         dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
         
         dw 11542,14430,45257,17800
         ;以上是表示21年公司雇员人数的21个word型数据
         
        
data ends

table segment
        db 21 dup('year sumn ne ??')
table ends

codesg segment

start:
         mov ax,data
         
         mov ds,ax
         
         mov ax,table
         
         mov es,ax
         
         
         
         mov bx,0
         
         mov si,0
         
         mov di,0
         
         mov cx,21
         
         
         
         s:   ;进入循环
                 
                 mov al,[bx]
                 
                 mov es:[di],al
                 
                 mov al,[bx+1]
                 
                 mov es:[di+1],al
                 
                 mov al,[bx+2]
                 
                 mov es:[di+2],al
                 
                 mov al,[bx+3]
                 
                 mov es:[di+3],al
                 
                 ;以上8句的作用是存放年份
                 
                 
                 
                 mov ax,54h[bx]
                 
                 mov dx,56h[bx]
                 
                 mov es:5h[di],ax
                 
                 mov es:7h[di],ax
                 
                 ;以上4句的作用是存放公司总收入
                 
                 
                 
                  mov ax,0A8h[si]      ;第一个'人数'的段基址为0A8H
                  
                  mov es:0Ah[di],ax               
                  
                  ;以上2句是存放公司的人数
                  
                  
                  
                  mov ax,54h[bx]
                  
                  div word ptr ds:0A8h[si]
                  
                  mov es:0dh[di],ax
                  
                  ;以上3句是存放人均收入
                  
                  
                  
                  add bx,4
                  
                  add si,2
                  
                  add di,16
                  
                  ;以上3句是为下一次循环时存放数据做准备
                  
                  ;3个寄存器递增的速度决定了所要存取的数据的位置的便宜地址
                  
        loop s ;跳到标号s处
        
        
        
mov ax,4c00h
int 21h

codesg ends
ends start

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-15 03:29:37 | 显示全部楼层
已经找到错误了, 原来最下面是end,而不是ends
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-15 09:25:54 | 显示全部楼层
我汗,end 结束你能打错,I 服了YOU
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-15 10:18:54 | 显示全部楼层
能找到就ok
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 04:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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