回 帖 发 新 帖 刷新版面

主题:大家帮我看看这段代码

code segment
   assume cs:code
start:
   ; 设置 DS
   push cs
   pop  ds
   ; 设置 DS

   ; 显示一个空格
   mov dl,20h
   mov ah,02
   int 21h
   ;  显示一个空格

  ;第一个乘数(被乘数)
   xor  ax,ax
   mov  bl,31h  
   mov  dl,bl
   mov  ah,02
   int  21h
  ;  并显示

  ;  显示乘号
   xor  ax,ax
   mov  bl,2ah
   mov  dl,bl
   mov  ah,02
   int  21h
   ; 显示等号

   ;  乘数
   xor  ax,ax
   mov  bl,31h
   mov  dl,bl
   mov  ah,02
   int  21h
   ;   并显示
   
   ;  显示等号
   xor  ax,ax
   mov  bl,3dh
   mov  dl,bl
   mov  ah,02
   int  21h
   ;  显示等号

   ; 乘法运算
   xor ax,ax
   mov al,49
   mov bl,49
   imul bl
   mov dl,al
   mov ah,02
   int 21h
   ; 乘法运算

   mov ah,4ch
   int 21h
code ends
   end start 

我最后想输出 空格1*1=1
   但是结果是1*1=a  后来我换成  mov al,1  mov bl,1  mul bl
却输出一个娃娃脸

回复列表 (共3个回复)

沙发

xor ax,ax
   mov al,49
   mov bl,49
   imul bl
   mov dl,al
   mov ah,02
   int 21h
   ; 乘法运算
49什么意思????

后来我换成  mov al,1  mov bl,1  mul bl
却输出一个娃娃脸
当然了,你对dl赋值为1,并不是31h

板凳

49是1的ASC码值啊

3 楼

有没有搞错啊!1的ascii码不是31吗?

我来回复

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