鱼C论坛

 找回密码
 立即注册
查看: 2871|回复: 1

第八章实验7,自编的完整代码,最后求人均收入出问题了!求助!!

 关闭 [复制链接]
发表于 2011-9-10 14:56:48 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 gfking 于 2011-9-10 22:22 编辑
  1. assume cs:codesg,ds:datasg,es:table

  2. datasg segment
  3.         db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
  4.         db '1985','1986','1987','1988','1989','1990','1991','1992','1993'
  5.         db '1994','1995'
  6.         
  7.         dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980
  8.         dd 590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
  9.         
  10.         dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  11.         dw 11542,14430,15257,17800
  12.         
  13.         dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  14. datasg ends

  15. table segment
  16.    db 21 dup('fcuk dup command')
  17. table ends

  18. codesg segment
  19. start: mov ax,datasg
  20.        mov ds,ax                           ;定义数据段
  21.        mov bx,0000H                        ;段起始地址
  22.       
  23.        mov ax,table
  24.        mov es,ax                           ;定义table段
  25.        mov bp,0000H                        ;行起始地址
  26.        mov di,0000H                        ;行内年份字段起始地址
  27.       
  28.        mov cx,21
  29. year: mov dx,cx
  30.        mov cx,4
  31. year0: mov al,[bx]
  32.        mov es:[bp+di],al
  33.        inc bx
  34.        inc di
  35.        loop year0
  36.       
  37.        mov es:[bp+di],20H                  ;空格
  38.       
  39.        add bp,0010H                        ;定位talbe段中下一条记录
  40.        mov di,0000H                        ;定位talbe段中下一条记录的年份初始地址
  41.        mov cx,dx
  42.        loop year
  43.       
  44.        mov bp,0000H                        ;行起始地址
  45.        mov di,0005H                        ;行内年收入字段起始地址
  46.       
  47.        mov cx,21
  48.   sum: mov dx,cx
  49.        mov cx,4
  50. sum0: mov al,[bx]
  51.        mov es:[bp+di],al
  52.        inc bx
  53.        inc di
  54.        loop sum0
  55.       
  56.        mov es:[bp+di],20H                  ;空格
  57.       
  58.        add bp,0010H                        ;定位talbe段中下一条记录
  59.        mov di,0005H                        ;定位talbe段中下一条记录的年收入初始地址
  60.        mov cx,dx
  61.        loop sum
  62.       
  63.        mov bp,0000H                        ;行起始地址
  64.        mov di,000aH                        ;行内雇员数字段起始地址
  65.       
  66.        mov cx,21
  67.   emp: mov dx,cx
  68.        mov cx,2
  69. emp0: mov al,[bx]
  70.        mov es:[bp+di],al
  71.        inc bx
  72.        inc di
  73.        loop emp0
  74.       
  75.        mov es:[bp+di],20H                  ;空格
  76.       
  77.        add bp,0010H                        ;定位talbe段中下一条记录
  78.        mov di,000aH                        ;定位talbe段中下一条记录的雇员数初始地址
  79.        mov cx,dx
  80.        loop emp
  81.       
  82.        mov bp,0000H                        ;行起始地址
  83.        mov di,000dH                        ;行内人均收入字段的起始地址
  84.       
  85.        mov cx,21
  86.   per: mov dx,cx
  87.        mov cx,2
  88. per0: mov al,[bx]
  89.        mov es:[bp+di],al
  90.        inc bx
  91.        inc di
  92.        loop per0
  93.       
  94.        mov es:[bp+di],20H                  ;空格
  95.       
  96.        add bp,0010H                        ;定位talbe段中下一条记录
  97.        mov di,000dH                        ;定位talbe段中下一条记录的人均收入初始地址
  98.        mov cx,dx
  99.        loop per
  100.       
  101.        mov bp,0000H                        ;行起始地址
  102.        mov cx,21
  103. count:
  104.        mov di,0005H                        ;行内年收入字段起始地址
  105.       
  106.        mov ax,es:[bp+di]                   ;被除数低八位放入ax寄存器
  107.        add di,0002H
  108.        mov dx,es:[bp+di]                   ;被除数高八位放入dx寄存器
  109.        add di,0003H                        ;di指向除数
  110.       
  111.        div word ptr es:[bp+di]             ;计算人均收入值
  112.        mov di,000dH                        ;di指向商数存放地址
  113.        mov es:[bp+di],ax                   ;商数存入人均收入字段
  114.       
  115.        add bp,0010H                        ;定位talbe段中下一条记录
  116.        loop count
  117.       
  118.        mov ax,4c00H
  119.        int 21H
  120.       
  121. codesg ends
  122. end start
  123. end
  124.            
复制代码
前面提得年份问题已经解决,现在的问题是,求商数不对,大家帮忙看看,最后那段代码,count循环那段,错哪里啦?

先谢谢大家!!!!

好了,看出来了,解决了!!

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-9-10 16:03:18 | 显示全部楼层

回帖奖励 +1 鱼币

budong 不懂 不懂
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-22 09:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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