(^3^)我来啦! 发表于 2012-4-28 23:27:00

谁能帮帮我测试一下我写的实验七的程序 我电脑64位的不知道咋弄。

本帖最后由 (^3^)我来啦! 于 2012-4-29 08:34 编辑

谢谢了啊!代码如下:
assumecs:codesg, ss:stack
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年的总收入dword数据
   dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
   dw 11542,14430,15257,17800
   ;以上表示的是21年的员工word数据
data ends
stack segment
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends
table segment
    db 21 dup ('year summ ne ?? ')
table ends

codesg segment

start: mov ax,table
      mov ds,ax
      mov bx,0
      mov ax,data
      mov es,ax
      mov ax,stack
      mov ss,ax
      mov sp,16
      mov di,0
      mov cx,21
    s: push cx
      mov si,0
      mov cx,4
s1:    mov al,es:;年份
      mov,al
      inc si
      inc di
      loop s1
      inc si
      mov cx,4
      push di
      mov di,0
s2:    mov al,es:54H ;收入
      mov,al
      inc si
      inc di
      loop s2
      pop di
      inc si
      mov cx,2
       push di
      mov di,0
s3:   mov al,es:0A8H ;雇员
      mov,al
      inc si
      inc di
      loop s3
      pop di
      add bx,10H
      pop cx
      loop s
      mov bx,0
      mov cx,21
    s4:    mov dx,
      mov ax,
      div word ptr
      mov ,ax
      add bx,10H
      loop s4
      mov ax,4c00H
      int 21H
codesg ends
end start

谢谢各位好心人了啊!如有错误希望指正 小弟新手

cool121 发表于 2012-4-29 02:17:30

{:5_94:}出现了除法中断错误?
我也想不明白?很奇怪?

(^3^)我来啦! 发表于 2012-4-29 16:03:16

whbdcyy 发表于 2012-4-29 11:22 static/image/common/back.gif
错误,每次环后有空格,si应加2,还有最后你BX+10H,复制的源数据就不正确了

我这每次循环 si都归零了 为的是bx+10H后 每行能从新开始逐个添加

2004wmj 发表于 2014-9-7 16:37:03

多谢分享,很有用!
页: [1]
查看完整版本: 谁能帮帮我测试一下我写的实验七的程序 我电脑64位的不知道咋弄。