鱼C论坛

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

实验7出现新问题 谁帮忙解决下

[复制链接]
发表于 2011-6-6 22:11:53 | 显示全部楼层 |阅读模式

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

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

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'

        dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
        dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

        dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
        dw 11542,14430,15257,17800
data ends

table segment
        db 21 dup('year summ ne ?? ')
table ends
codesg segment
start: mov ax,data
       mov ds,ax
    mov ax,table
    mov es,ax
    mov bx,0
    mov di,0
    mov si,0
    mov cx,21
   
s:mov ax,[bx]
   mov es:[di],ax
   mov ax,[bx+2]
   mov es:[di+2],ax
   mov ax,[bx+84]
   mov es:[di+5],ax
   mov ax,[bx+84+2]
   mov es:[di+7],ax
   mov ax,[si+186]
   mov es:[di+10],ax
   mov ax,[bx+84]
   mov dx,[bx+84+2]
   div word ptr es:[di+10]
   mov es:[di+0dH],ax
   add bx,4
   add si,2
   add di,16
  loop s
  
  
   mov ax,4c00h
   int 21h
codesg ends
end start



怎么年份没排列啊

QQ截图未命名.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-9 00:22:05 | 显示全部楼层
  1. assume cs:codesg,ds:data,es:table



  2. data segment

  3.         db '1975','1976','1977','1978','1979','1980','1981','1982','1983'

  4.         db '1984','1985','1986','1987','1988','1989','1990','1991','1992'

  5.         db '1993','1994','1995'

  6.         ;以上是表示21年的21个字符串



  7.         dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514

  8.         dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

  9.         ;以上是表示21年公司总收的21个dword型数据



  10.         dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226

  11.         dw 11542,14430,45257,17800

  12.         ;以上是表示21年公司雇员人数的21个word型数据

  13. data ends



  14. table segment

  15.         db 21 dup('year summ ne ?? ')

  16. table ends



  17. codesg segment



  18. start:

  19.         mov ax,data

  20.         mov ds,ax

  21.         mov ax,table

  22.         mov es,ax



  23.         mov bx,0

  24.         mov si,0

  25.         mov di,0

  26.         mov cx,21



  27.         s:   ;进入循环

  28.                 mov al,[bx]

  29.                 mov es:[di],al

  30.                 mov al,[bx+1]

  31.                 mov es:[di+1],al

  32.                 mov al,[bx+2]

  33.                 mov es:[di+2],al

  34.                 mov al,[bx+3]

  35.                 mov es:[di+3],al

  36.                 ;以上8句的作用是存放年份



  37.                 mov ax,54h[bx]     ;第一个'年收入'的段基址为54H

  38.                 mov dx,56h[bx]

  39.                 mov es:5h[di],ax

  40.                 mov es:7h[di],dx

  41.                 ;以上4句的作用是存放公司总收入



  42.                 mov ax,0A8h[si]    ;第一个'人数'的段基址为0A8H

  43.                 mov es:0Ah[di],ax

  44.                 ;以上2句是存放公司的人数



  45.                 mov ax,54h[bx]

  46.                 div word ptr ds:0A8h[si]

  47.                 mov es:0dh[di],ax

  48.                 ;以上3句是存放人均收入



  49.                 add bx,4

  50.                 add si,2

  51.                 add di,16

  52.                 ;以上3句是为下一次循环时存放数据做准备

  53.                 ;3个寄存器递增的速度决定了所要存取的数据的位置的偏移地址

  54.         loop s  ;跳到标号s处



  55. mov ax,4c00h

  56. int 21h



  57. codesg ends

  58. end start

复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-3-29 05:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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