+ -
当前位置:首页 → 问答吧 → 汇编问题

汇编问题

时间:2010-12-15

来源:互联网

.model small
.data
.stack
.code
start:
  MOV AX,@data
  MOV DS,AX
  MOV AH,01H
  INT 21H
  mov dl,0dh
  mov ah,02h
  int 21h
  mov dl,0ah
  mov ah,02h
  int 21h
  MOV DL,al
  MOV AH,02H
  INT 21H 
  MOV AH,4CH
  INT 21H
  END START
此程序是想输入一个字符,然后再另一行输出这个字符、、、但运行结果不正确,求高手指点!

作者: Huangshan789   发布时间: 2010-12-15

.model small
.data
.stack
.code
start:
  MOV AX,@data
  MOV DS,AX
  MOV AH,01H
  INT 21H
  push ax 
  mov dl,0dh
  mov ah,02h
  int 21h
  mov dl,0ah
  mov ah,02h
  int 21h
  pop ax
  MOV DL,al
  MOV AH,02H
  INT 21H  
  MOV AH,4CH
  INT 21H
  END START

作者: leetow2003   发布时间: 2010-12-15

输入的字符是在 AL 中吧,但后面的输出回车换行等字符时的功能调用其实是破坏了 AL 里的内容的,即将 DL 中待显示的字符返回在了 AL 里。所以,需要在输入字符后将 AL 中的输入字符进行保存,需要时再行恢复。

作者: zara   发布时间: 2010-12-15