紫冥 发表于 2011-12-4 16:55:39

实验5 第6题实在不知道怎么做了,请大家帮分析下我现在写的代码错在那里了.无限感谢

这道题我做了半天了,实在想不出来了,请高手指教.看下是那里写错了?老是弹出这个提示!

实验5-6
调试出错的图片:
http://b94.photo.store.qq.com/psb?/V10VXs3O0LecQX/3gy*Ws5ml4lvqf7AZeiHv8XHV5ozboqCV5*t13gw6bw!/b/YWOFFjiJFgAAYk0mGziDFgAA


代码如下:
assume cs:code
    One segment
         dw 1,2,3,4,5,6,7,8,9,0aH,0bH,0cH,0dH,0eH,0fH,0ffH
   One ends
   Two segment
         dw 0,0,0,0,0,0,0,0
   Two ends
   code segment
start:mov ax,One
          mov ds,ax
          mov ax,Two
          mov ss,ax
          mov sp,16
          mov bx,0
          mov cx,8
      s:push ds:
          add bx,2
          loop s
          mov bx,0
          mov cx,8
    s0: pop ds:
          add bx,2
          loop s0
          mov ax,4c00H
          int 21H
      code ends
end start



实验5-5
这实验5的第5题我是就是做出来了,但是不知道是不是正确的,大家帮我鉴别下.
我写的代码如下,最后附带了最后的执行前后图片,请大家看下我这样做是否正确.

assume cs:code
One segment
db 1,2,3,4,5,6,7,8
One ends
Two segment
db 1,2,3,4,5,6,7,8
Two ends
Three segment
db 0,0,0,0,0,0,0,0
Three ends
code segment
start:
mov ax,One
mov ds,ax
mov bx,0
mov cx,8
s:
mov ax,
add ax,
mov ,ax
add bx,1
loop s
mov ax,4c00H
int 21H
code ends
end start


执行前:
http://b95.photo.store.qq.com/psb?/V10VXs3O0LecQX/zcOR7hoYu4t.nivnOs3HWeEGWOUXHbhtvhuJXhU2HaA!/b/Yf82sji0FgAAYpSKqjhyFgAA


执行后的结果:
http://b95.photo.store.qq.com/psb?/V10VXs3O0LecQX/H0yrUxDX1D9*VIVkPvizXhZ7aw.mnvEPCTviNTIEQdo!/b/Ybohrzh1FgAAYlUrsjicFgAA

wubinyi 发表于 2011-12-4 20:02:01

实验5-5是对的   至于5-6本来是对的,但是你多加了S0这个循环(这个循环是多余的)。。。。。另外图都挂了,看不见:估计实验5-5你的图是不是写着“program terminated normally”   这个问题目前我还解决不了,我也有程序是这个样子的   其实只要用G命令跳过S0循环中得add bx,2这句就不会出现这个问题
页: [1]
查看完整版本: 实验5 第6题实在不知道怎么做了,请大家帮分析下我现在写的代码错在那里了.无限感谢