0

我在汇编语言方面遇到了一些问题。用户必须从键盘输入一些数字,然后我将使用该数字进行一些操作。可以用这个吗:

LEA DX ,SIZE;before in SEGMENT "DATA": SIZE DB 7
MOV AH,9
INT 21H 

所以,请回答我,这是否可行,如果不举个例子,请。这个号码将存储在哪里?在 AX 中?谢谢。PS我在emu8086上写。

4

1 回答 1

2

根据您的示例代码,您需要旧 DOS 的答案。正如 Robert Harvey 的评论中提到的,中断 21h 的函数 09 用于输出。函数 0Ah 负责输入。这是从我最近的另一个答案中获取的示例代码:

.data
Mystr   db  'sssssssdsdsdsdsdsdsdddddddddddddd'  ;reserve some space for the input
;some other data
.code
;... some code
mov ax, @data  ;this line may depend on actual assembler (works with MASM, check for exact syntax of your assembler if it doesn't work for you)
mov ds, ax
mov dx, Mystr ; now ds:dx is pointing to Mystr string
              ; some assemblers accept mov dx, offset Mystr or similar syntax
mov ah, 0Ah ; Function 0Ah
    int 21h     ;invoke the DOS function, which reads the input from the keyboard and saves it into Mystr
于 2013-10-22T11:00:08.880 回答