Memory management 我需要指向内存的下一个地址

Memory management 我需要指向内存的下一个地址,memory-management,assembly,x86-16,Memory Management,Assembly,X86 16,我有下面的代码,我需要将下一个输入指向[C1],而不是[C0],但不需要硬编码,其思想是用户可以键入他们喜欢的任何内容。我尝试了INC BL,但它导致了一个非法的操作码错误。多谢各位 CLO ; Close unwanted windows. Rep: IN 00 ; Wait for key press - Store it in AL. INC BL CMP AL,0D ; Was it the Enter key? (ASCII 0D)

我有下面的代码,我需要将下一个输入指向[C1],而不是[C0],但不需要硬编码,其思想是用户可以键入他们喜欢的任何内容。我尝试了INC BL,但它导致了一个非法的操作码错误。多谢各位

    CLO     ; Close unwanted windows.
Rep:
    IN  00  ; Wait for key press - Store it in AL.
INC BL

    CMP AL,0D   ; Was it the Enter key? (ASCII 0D)

    MOV [C0],AL     
    MOV [BL],AL

    JNZ Rep ; No - jump back.  Yes - end.



END

在00中不从键盘读取数据。使用中断21h(功能1)或中断16h(功能0)

CLO不是必需的

您没有初始化BX(我们可以看到)

为了以相对于C0的偏移量存储某些内容,请使用C0的偏移量初始化BX,然后在循环过程中增加BX。BL是一个字节寄存器-它不包含整个地址。

MOV[BL],AL