当前位置: 代码迷 >> 汇编语言 >> 奇怪的显示信息?该怎么解决
  详细解决方案

奇怪的显示信息?该怎么解决

热度:539   发布时间:2013-02-26 00:00:00.0
奇怪的显示信息?
源程序如下:
dseg   segment
      a   db   50
      b   db   60
dseg   ends
cseg   segment
      assume   ds:dseg,cs:cseg
      mov   al,a
      add   al,b
      mov   dl,al
      mov   ah,2
      int   21h
      mov   ax,4c00h
      int   21h
cseg   ends
      end
汇编和连接都没问题,但最后出现在显示屏上的结果不是110,接着我用ViasualASM运行,程序没有任何问题,但是运行程序的时候,窗口一闪而过,看不到结果,到底怎么回事?

------解决方案--------------------------------------------------------
dseg segment
a db 50
b db 60
dseg ends
cseg segment
assume ds:dseg,cs:cseg
;-------------------------
mov ax,dseg ; 少了这两句
mov ds,ax
;-------------------------
mov al,a
add al,b
mov dl,al
mov ah,2
int 21h
mov ax,4c00h
int 21h
cseg ends
end

或者将
a db 50
b db 60
改成
a equ 50
b equ 60

不过私人建议还是按照第一种来改,因为你用到数据段但是没有明确的指向
另外,输出的 110 = 6eh ,也就是ASC码的 n ,所以输出应该是 n
  相关解决方案