汇编语言输入

时间:2013-10-21 23:17:38

标签: assembly input emulation

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

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

所以,请回答我,请问这个工作,如果不举一个例子,请。这个号码将被存储在哪里?在AX? 谢谢。 附: 我正在写emu8086。

1 个答案:

答案 0 :(得分: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