+ -
当前位置:首页 → 问答吧 → 进制转换问题 请有经验的汇编高手 进来指点一二

进制转换问题 请有经验的汇编高手 进来指点一二

时间:2011-04-09

来源:互联网

内容:用子程序设计的方法,从键盘输入2位16进制数,并在屏幕上以10进制数显示.然后我的编程如下
data segment
dat dw ?
rec dw 2 dup(?)
data ends
code segment
assume cs:code,ds:data
start:
push ds
mov ax,data
mov ds,ax
mov bx,0
newchar:mov ah,1
int 21h
sub al,30h
jl ini
cmp al,10
jl add_to
sub al,27h
cmp al,0ah
  cmp al,0ah
  jl ini  
  cmp al,10h
  jge ini  
add_to:
  mov cl,4
  shl bx,cl
  mov ah,0
  add bx,ax
  mov dat,bx
  jmp newchar
ini:
  mov ax,dat
  mov bx,10
  mov si,4
change:
  mov dx,0
  div bx
  mov [rec+si],dl
  dec si
  cmp ax,0
  ja change
next:
  inc si
  mov dl,[rec+si]
  add dl,30h
  mov ah,02h
  int 21h
  cmp si,4
  jb next
  mov dl,20h
  mov ah,02h
  int 21h
exit:
  mov ah,4ch
  int 21h
code ends
  end start
调试时不懂怎么从键盘输入,所以也不知道程序是否可行,各位大侠帮帮忙,指点一二,万分感谢!

作者: beichengxue   发布时间: 2011-04-09

编译通过了吗? 如果出错贴出错信息。
PS:debug的时候, 遇到mov ah,1的时候, 按T,遇到int 21H的时候, 按P,此时输入字符。

作者: masmaster   发布时间: 2011-04-09