我在汇编语言方面遇到了一些问题。 用户必须从键盘输入一些数字,然后我将使用该数字进行一些操作。 可以使用它:
LEA DX ,SIZE;before in SEGMENT "DATA": SIZE DB 7
MOV AH,9
INT 21H
所以,请回答我,请问这个工作,如果不举一个例子,请。这个号码将被存储在哪里?在AX? 谢谢。 附: 我正在写emu8086。
答案 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