+ -
当前位置:首页 → 问答吧 → 求助呀,乱码乱码

求助呀,乱码乱码

时间:2010-12-05

来源:互联网

我水平不怎么高,搞得现在输出有点乱码,呃,请高手给看看
题目:从键盘输入4个十进制数字,依次保存在以DATA1为首的连续5字节内存单元的前4个单元中(先输入的在前,为高位),作为一个四位的十进制数乘以9后,结果保存在以DATA1为首的连续5字节内存单元中,然后在屏幕上以十进制方式显示出该运算结果。
我的程序如下:
data segment
  data1 db 5,0,6 dup(?)  
data ends

code segment
  assume cs:code,ds:data

start: mov ax,data
  mov ds,ax
  lea dx,data1
  mov ah,0ah
  int 21h
   
  mov cx,4
  mov di,offset data1+2
re: mov al,[di] ;使得数字向前移动一位
  mov [di-1],al
  inc di
  loop re
   
  mov di,offset data1+4  
  mov bl,09h
  mov cx,4
   
  mov bh,30h
again: mov al,[di] ;核心代码
  and al,0fh
  mul bl
  aam
  add al,30h
  add al,bh
  aaa
  mov [di],al
  add ah,30h
  mov bh,ah
  dec di
  loop again
  mov [di],ah
   
  mov byte ptr[data1+6],'$'
   
  lea dx,data1 ;显示模块
  mov ah,09h
  int 21h
  mov ah,4ch
  int 21h
   
code ends
  end start

作者: jackzero0   发布时间: 2010-12-05

add al,30h
  add al,bh
  aaa
把add al,30h放在aaa后,因为aaa把al的高4位变0了。

作者: shzhfu   发布时间: 2010-12-06

热门下载

更多