首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-03-07 
奇怪的显示信息?源程序如下:dsegsegmentadb50bdb60dsegendscsegsegmentassumeds:dseg,cs:csegmoval,aaddal

奇怪的显示信息?
源程序如下:
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

热点排行