lixue 发表于 2011-4-12 17:06:51

按小甲鱼老师布置的作业优化实验7的程序麻烦看看是否正确

题目请大家看书本P172我这里就不贴出来了。希望指教下程序是否正确。DEBUG调试了下。结果好像是正确的assume cs:code
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个字符串,可以看成21个双字型数据4个字符4个字节4个字节等于2个字
       
        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个双字型数据
       
        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个字型数据
data ends

table segment
        db 21 dup ('yesr summ ne ?? ')
table ends


code 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 ax,
        mov es:,ax
        mov dx,
        mov es:,dx
        ;以上为写入年份
        mov ax,
        mov es:,ax
        mov dx,
        mov es:,dx
        ;以上为写入收入
       
;以上全部代码完成了。年份和收入的录入
        mov ax,
        mov es:,ax
;以上代码为人员写入
        mov ax,
        mov dx,
        div word ptr
        mov es:,ax
        ;以上代码为平均工资除法运算
        add di,2
        add si,4
        add bx,16
        LOOP s
       
        mov ax,4c00h
    int 21h
code ends
end start

china0008 发表于 2011-4-12 18:34:53

好,不错!威望+6!!!欢迎大家多发此类贴哈。认真回帖的亦有奖励。

loop 发表于 2011-4-13 01:47:57

支持,LZ是我等学习之楷模!

Y.H 发表于 2011-5-6 17:41:36

我也要学习下这个程序 我自己些的程序 一直在除法运算那里出错 除法运算溢出 (学习你的程序)

Y.H 发表于 2011-5-6 17:46:41

呃 郁闷了如果你的程序是正确的(我在自己的电脑上调试了一下 还是除法溢出)天啊 难道是我的机子问题???我是直接用G命令执行到MOV AX,4C00H 处的

陌路狂奔 发表于 2011-5-7 01:42:50

回复 Y.H 的帖子

哈哈。我也遇到跟你一样的问题,一直都是除法溢出,后来加了注释,代码神马都没改。但却正确了,木有问题了,我就奇怪了,丫的难道编译器也能看懂注释?{:5_99:}

Y.H 发表于 2011-5-7 14:05:39

回复 陌路狂奔 的帖子

呃 不会吧??!!! 加了啥注释 我也加加……难道 编译器 智能了???{:2_36:}
页: [1]
查看完整版本: 按小甲鱼老师布置的作业优化实验7的程序麻烦看看是否正确