用汇编语言多次显示消息

display message many time in Assembly language

我正在尝试多次显示消息。

我用过 nasm 我用过这个程序 :

    MOV cx, 1
    mov  ax, 10
re:
    CMP ax, cx
    JS fin
    mov  dx, texte 
    INC cx
    JMP re
fin:
    Int 21h
    texte: db 'Hello, World !!'

目前您只能在底部调用 int 21h。 尝试将其移动到循环中。

此外,自从我上次在汇编中做任何事情以来已经有很长时间了,但您可能还需要准备一些寄存器来确定 int 21h 会做什么。在此处查看更多信息:http://spike.scu.edu.au/~barry/interrupts.html#ah09

结合更多的东西:

  • 要让int21h进行输出,需要将AH设置为9。你已经在用AX来存储循环限制了;您必须使用其他一些寄存器(BX、SI、DI 当前未使用)或硬编码限制。此外,int21h 函数 9 更改输出中 AL 的值 - 不使用 AX 的另一个原因。
  • 字符串需要以 $ 字符结束。这就是 int21h/9 所期望的,而不是一般的汇编语言约定。
  • 而且,就像 obe 所说的,您需要在 "jmp re" 行之前而不是之后的 int 21h 命令。
  • 在 "fin" 标签处,您可能想要退出该程序。顺序是:"mov ah, 4ch/int 21h".