在程序集

时间:2016-02-22 04:27:09

标签: assembly x86

我想在汇编中显示50个数字0的副本。我试过这个......

MOV CX,50
MOV AH,2
MOV DL,0

TOP:
INT 21H
LOOP TOP

还有其他解决方案吗?那是什么?

1 个答案:

答案 0 :(得分:0)

您的代码无法使用!
试试这个:

    mov cx, 00     ;Store 0 in cx
    loop:
    cmp cx, 50     ;Compare cx to 50
    je end         ;If we have printed 50 times, end the loop
    mov ah, 0x0e   ;Setting up interupt
    mov al, '0'    ;Character to print
    int 0x10       ;Print '0'
    inc cx         ;Add 1, to cx
    jmp loop       ;Do again or iterate
    end:
    .....          ;End (if you want to halt then use jmp $)

此代码适用于NASM,采用16位汇编。

如果您要打印或移动字符,如果是' 0',则必须用单引号('')将其括起来。这将告诉汇编程序它是一个字符而不是数字。一旦汇编程序知道它是一个字符,它将使用ASCII作为该数字的值而不是取实际数字。

这个号码可以显示"只有当我们使用该值的ASCII值时。