- [zhuleilei_2010] 对程序修改如下,编译通过。 DATASG SEGMENT MESS1 10/22 16:59
- [shjnba] call letterc 这个调用子程序 jmp letterc 这个是转到这个标号 是不 08/25 20:12
- [pascale] 晕,中间的注释没加“;” 注释成代码了。太粗心了 01/02 20:44
- [pascale] 谢谢!大家。 12/19 22:32
- [游客] 我是个内心怕困难的人,(我很想改变)就这样这道题成了一个拦路虎,我不敢再看这道题。 ====== 12/18 22:00
- [jcw2008] 祝贺! 12/18 18:35
- [pascale] 5937000/17800的十六为是14d 两个字节可以放下的呀。 12/09 13:21
- [pascale] 我刚debug的一下 并无溢出。我把图片发一下。 12/09 13:09
- [pascale] 好我看看。 12/09 12:56
- [crazyman] 在第一次div word ptr [di+756] 的时候好像就出异常了。博主debug一下把。 12/08 15:45
- [liuyisu2008] 你好 12/04 13:19
- [acool] 没什么。大家在这里本来有应该相互帮助、相互讨论嘛^_^ 一起加油吧~ 11/27 17:29
[2008-12-03 22:23] 实验7
我觉得这个程序要编好,对结构化数据的认识很重要,我原先没有很好了解,结果编的错误百出, 今天从新读了下课本,有了些收获。
assume cs:codesg
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983'
db '1984', '1985', '1986', '1987', '1988', '1989', '1900', '1991', '1992'
db '1993', '1994', '1995'
dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
dd 345980, 590827, 803530, 1182000, 1843000, 2759000, 3759000, 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
stack segment
dw 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, data
mov ds, ax
mov dx, 0
mov di, 0
mov ax, stack
mov ss, ax
mov sp, 10h
mov ax, table
mov es, ax
mov bp, 0
mov cx, 21
s: push cx
mov cx, 4
mov si, 0
s0: mov al, [bx+si]
mov es:[bp+si], al
inc si
loop s0
mov ax, [bx+84]
mov es:[bp+5], ax
mov dx, [bx+86]
mov es:[bp+7], dx
div word ptr [di+756]
mov es:[bp+14], ax
mov ax, [di+756]
mov es:[bp+10], ax
pop cx
add bx, 4
add di, 2
add bp, 10h
loop s
mov ax, 4c00h
int 21h
codesg ends
end start
assume cs:codesg
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983'
db '1984', '1985', '1986', '1987', '1988', '1989', '1900', '1991', '1992'
db '1993', '1994', '1995'
dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
dd 345980, 590827, 803530, 1182000, 1843000, 2759000, 3759000, 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
stack segment
dw 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, data
mov ds, ax
mov dx, 0
mov di, 0
mov ax, stack
mov ss, ax
mov sp, 10h
mov ax, table
mov es, ax
mov bp, 0
mov cx, 21
s: push cx
mov cx, 4
mov si, 0
s0: mov al, [bx+si]
mov es:[bp+si], al
inc si
loop s0
mov ax, [bx+84]
mov es:[bp+5], ax
mov dx, [bx+86]
mov es:[bp+7], dx
div word ptr [di+756]
mov es:[bp+14], ax
mov ax, [di+756]
mov es:[bp+10], ax
pop cx
add bx, 4
add di, 2
add bp, 10h
loop s
mov ax, 4c00h
int 21h
codesg ends
end start
评论次数(5) |
浏览次数(1025) |
类型(汇编作业) |
收藏此文 |
[ crazyman 发表于 2008-12-08 15:42 ]
程序运行有“除法溢出”的错误提示,博主看看是不是程序中某些地方有不合适的啊。
不过,博主的说法我很赞同:我觉得这个程序要编好,对结构化数据的认识很重要,我原先没有很好了解,结果编的错误百出, 今天从新读了下课本,有了些收获。
[ crazyman 发表于 2008-12-08 15:45 ]
在第一次div word ptr [di+756] 的时候好像就出异常了。博主debug一下把。
[ pascale 发表于 2008-12-09 12:56 ]
好我看看。
[ pascale 发表于 2008-12-09 13:09 ]
我刚debug的一下 并无溢出。我把图片发一下。
[ pascale 发表于 2008-12-09 13:21 ]
5937000/17800的十六为是14d 两个字节可以放下的呀。