|
主题 : : 实验七 自己动手做的 [已解决] |
回复[ 9次 ]
点击[ 399次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2012-01-18 13:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2012-01-03 21:14 |
花了半个晚上,感觉头昏昏的,看到这题的时候还有点思路,但还不清晰,,,嗯,本着自己动手的精神,坚持下来写出代码,忘朋友们指点小弟哈啊~ 看看有什么问题,苦恼中 程序代码如下:
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,590821,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 si,0
S1: mov cx,21
mov dx,cx
s: mov al,ds:[bx+si]
mov es:[bx+si],al
inc si
mov cx,4
loop s
r: mov ax,ds:[54h+si]
mov es:[5h+si],ax
add si,2
mov cx,2
loop r
mov ax,ds:[00a6h+si]
mov es:[000ah+si],ax
mov ax,ds:[54h+si]
mov dx,ds:[56h+si]
div word ptr ds:[00a6h+si]
mov es:[000dh+si],ax
add bx,16
mov cx,dx
loop S1
codesg ends
end start
写完后运行程序,发现程序进入死循环了,单步调试发现到第一个循环的“loop s"的时候就没反应了,估计进入死循环了吧。。。可能还有其它的问题什么的。。。可是夜深了,捣鼓了一下看不早了,头昏眼花了也,就上炕了,呵呵。。 现在发出来,忘指点下啊,,先谢谢了!!! | | |
|
|
|
|
[第1楼]
[ 回复时间:2012-01-18 16:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
|
|
|
|
|
[第2楼]
[ 回复时间:2012-01-18 16:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2012-01-03 21:14 |
|
|
|
|
|
[第3楼]
[ 回复时间:2012-01-20 06:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
着急也不行,结果不是最重要的,过程的经历才会让你真正的成长,不是吗? | | |
|
|
|
|
[第4楼]
[ 回复时间:2012-01-20 14:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2012-01-03 21:14 |
回复:[第3楼]
------------------
哥,你说的很对!恩,谢谢你啊~
哎,这几天吃也吃不香,睡也睡不好,上班也没精神。。。总想快点把这个题目解决掉,没错,过程和动手会让自己获益更多,小弟也经常关照番茄哥你哦,呵呵。 恩,本来上来是想看看还有没有回复的没有就关掉吧,那几天也确实郁闷了不少,不过就在刚才小弟不才,终于。。。嘿嘿。ok了应该! | | |
|
|
|
|
[第5楼]
[ 回复时间:2012-01-20 14:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2012-01-03 21:14 |
回复:[第3楼]
------------------
sorry,不是关照,是关注哈,嘿嘿~! | | |
|
|
|
|
[第6楼]
[ 回复时间:2012-01-20 14:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2012-01-03 21:14 |
俺刚做的,嘻嘻:
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,590821,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 si,0
mov di,0
mov cx,21
s: mov al,ds:[0+si]
mov es:[bx+0],al
mov al,ds:[1+si]
mov es:[1+bx],al
mov al,ds:[2+si]
mov es:[bx+2],al
mov al,ds:[3+si]
mov es:[bx+3],al
mov ax,ds:[84+si]
mov es:[bx+05],ax
mov ax,ds:[86+si]
mov es:[bx+07],ax
mov ax,ds:[168+di]
mov es:[bx+000ah],ax
mov ax,ds:[84+si]
mov dx,ds:[86+si]
div word ptr ds:[168+di]
mov es:[bx+000dh],ax
add si,4
add di,2
add bx,16
loop s
mov ax,4c00h
int 21h
codesg ends
end start | | |
|
|
|
|
[第7楼]
[ 回复时间:2012-01-20 15:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
6楼程序写的不错,很清晰。恭喜了!这印证了一个道理,坚持就是胜利,功夫不负有心人! | | |
|
|
|
|
[第8楼]
[ 回复时间:2012-01-20 15:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
|
|
|
|
|
[第9楼]
[ 回复时间:2012-01-20 22:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2012-01-03 21:14 |
此贴由 贴主 于 [ 2012-01-20 22:29 ] 结贴。 结贴原因:问题已解决 | | |
|