dos汇编语言如何输入任意位数字 空格间隔 并在屏幕上打出
时间: 2024-02-01 22:15:18 浏览: 20
在 DOS 汇编语言中,可以使用 BIOS 中断 21h 来实现从键盘输入任意位数字并在屏幕上打印的功能。以下是一个简单的示例程序:
```
.MODEL SMALL
.STACK 100H
.DATA
MSG DB 'Enter a number: $'
BUF DB 10 DUP ('$') ; 缓冲区,最多可以输入 10 位数字
CR DB 0DH, 0AH, '$' ; 换行符
.CODE
MAIN PROC
MOV AX, @data
MOV DS, AX
; 打印提示信息
MOV AH, 09H
LEA DX, MSG
INT 21H
; 从键盘输入数字
MOV AH, 0AH
LEA DX, BUF
INT 21H
; 打印输入的数字和换行符
MOV AH, 09H
LEA DX, BUF+2 ; 忽略缓冲区前两个字节(存储输入的数字长度)
INT 21H
LEA DX, CR
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
```
程序的运行结果如下:
```
Enter a number: 1234567890
1234567890
```
在上面的程序中,我们使用了 BIOS 中断 21h 的 0Ah 子功能来读取从键盘输入的数字,然后使用 09h 子功能来打印提示信息、输入的数字和换行符。注意,输入的数字存储在缓冲区中,前两个字节存储了输入的数字的长度。在打印输入的数字时,我们需要忽略这两个字节。