Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 是否有一种方法可以在部件中的一行上显示循环?_Loops_Assembly_X86_Masm_Irvine32 - Fatal编程技术网

Loops 是否有一种方法可以在部件中的一行上显示循环?

Loops 是否有一种方法可以在部件中的一行上显示循环?,loops,assembly,x86,masm,irvine32,Loops,Assembly,X86,Masm,Irvine32,所以我正在努力让一个循环在不去新行的情况下显示五次。具体地说,我想在一行上显示单词“Loop”5次,“looploop”。我可以很容易地在单独的行上显示它们,它似乎自动转到一行。我对汇编语言很陌生,所以如果有人能解释一下这里发生了什么,那将是一个巨大的帮助。 这是我的密码: INCLUDE Irvine32.inc .data myMessageOne BYTE "Loop",0dh,0ah,0 .code main PROC call Clrscr mov edx, OFFSE

所以我正在努力让一个循环在不去新行的情况下显示五次。具体地说,我想在一行上显示单词“Loop”5次,“looploop”。我可以很容易地在单独的行上显示它们,它似乎自动转到一行。我对汇编语言很陌生,所以如果有人能解释一下这里发生了什么,那将是一个巨大的帮助。
这是我的密码:

INCLUDE Irvine32.inc
.data
myMessageOne BYTE "Loop",0dh,0ah,0
.code
main PROC
    call Clrscr
    mov edx, OFFSET myMessageOne
    mov ecx, 5
myloopOne:
    call WriteString
    loop myloopOne
    call DumpRegs
    exit
它打印出这个:

循环
循环
循环
循环
环路

但我需要:

循环

我曾尝试使用jmp,试图将其移回生产线,但它不起作用。我不知道太多的其他命令,所有我查找以试图找到解决方案的内容似乎都是人们在寻找有关新行的帮助,与我需要的帮助正好相反。任何提示和帮助都非常感谢,因为我想更好地了解我需要做什么


也使用微软Visual C++ 2010 Express。据我所知,您使用的程序在汇编中更为重要。

只要CR/LF是字符串的一部分,每次都会显示它。 将其删除,并使其成为另一条消息:

INCLUDE Irvine32.inc
.data
myMessageOne BYTE "Loop",0
str_crlf     BYTE 0dh,0ah,0

.code
main PROC
    call Clrscr

; write 5 "loop"s 
    mov edx, OFFSET myMessageOne     
    mov ecx, 5
myloopOne:
    call WriteString
    loop myloopOne

; and then the newline
    mov edx, OFFSET str_crlf
    call WriteString

    call DumpRegs
    exit

移除管柱中的回车线进给?将
myMessageOne BYTE“Loop”,0dh,0ah,0
更改为
myMessageOne BYTE“Loop”,0
检查ASCII表中是否有不可打印的字符。。您还可能希望检查代码的反汇编,以查看
字节“循环”
如何编译为内存值,以及它与ASCII表的关系。这可能会帮助你了解里面发生了什么。非常感谢!很抱歉,我花了这么长时间才回复。我昨晚贴了这个,然后睡着了,忘了检查。事实上,如果可能的话,如果你看到这个,我能再问你一件事吗?@ConorHastings当然可以,这就是为什么(但为什么只有我?;)。。。顺便说一句:“如果你看到这个”:“ping”我(用@tommyle2k)我收到一个通知,说你写了我对你的恶作剧!事实上,我终于可以和我的教授谈所有的事情了。再次感谢你的帮助!