回 帖 发 新 帖 刷新版面

主题:刚开始学汇编,请教大家

请问下面程序有什么错误啊?怎么不能输出数组?

data1 segment
      even
      array dw 12,13,14
      msg   db 5 dup('0'),0dh,0ah,"$"
      
data1 ends
code1 segment
      assume cs:code1,ds:data1
start:
      mov ax,data1
      mov ds,ax
      
      lea si,array
      mov bx,10d
      mov di ,4d
      mov cx,3d
again:
      mov ax,word ptr [si]
part:
      xor dx,dx
      div bx
      add dl,30h
      mov msg[di],dl
      dec di
      cmp ax,0
      jg part
      
      mov ah,09h
      lea dx,msg
      int 21h
      add si,2
      loop again

      mov ax,4c00h
      int 21h
code1 ends
      end start

回复列表 (共5个回复)

沙发

能输出

板凳

你没在DOS里运行是看不到的,XP系统什么的话,你在mov ax,4c00h前加点代码:
mov ah,1
int 21h
这样,你就可以看到了

3 楼

已解决,在loop指令前加mov di,4d,谢谢大家

4 楼

喂!别忘了加分!

5 楼

呵呵
我也懂鸟

我来回复

您尚未登录,请登录后再回复。点此登录或注册