|
|
1鱼币
assume cs:codesg,ds:datasg,es:table
datasg segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
dd 16,22,382,1356,2390,8000,1843000,2759000,3753000,4649000
dw 3,7,99,13,28,8226,11542,14430,15257,17800
datasg ends
table segment
db 10 dup('year summ ne ?? ')
table ends
codesg segment
start: mov ax,datasg
mov ds,ax
mov ax,table
mov ax,es
mov bx,0
mov si,0
mov di,0
mov cx,10
s: mov ax,[bx]
mov dx,[bx+2]
mov es:[di],ax
mov es:[di+2],dx
mov ax,[bx+40]
mov dx,[bx+42]
mov es:[di+5],ax
mov es:[di+7],dx
div word ptr [si+80]
mov es:[di+0dh],ax
mov ax,[bx+si+80]
mov es:[di+0ah],ax
add bx,4
add si,2
add di,16
loop s
mov ax,4c00h
int 21h
codesg ends
end start
在debug 执行 int 21h的时候··就蹦出来个对话框·
the ntvdm cpu has encountered an illegal instruction.
cs:05ef ip:0003 op:ff ff ff ff ff choose 'close' to terminate the application.
哪位大神 告诉我一下神马情况啊···
|
最佳答案
查看完整内容
代码中的第四行写反了 应该是 mov es,ax 这些在编译的时候是可以找出来的吧
|