为什么我的汇编程序没有循环通过批准字符串?

问题描述 投票:0回答:1
    global  _main
    extern  _printf
    extern  _ExitProcess@4 section .bss
name:      resb 100
position1: resz 1
position2: resz 1
position3: resz 1
 
 
section .data
approve:  db "That's right!", 0ah, 0
deny:   db 'denied!', 0ah, 0
 
section .text
_main:
      
       mov    ecx, 3
   L1:
        dec     ecx
        jnz     L1
        push   approve       ;  pushes the approve string and call printf
        call   _printf
        add    esp, 4        ;  restore the stack pointer
        push   deny          ;  push the deny string and call printf
        call   _printf
        add    esp, 4        ;  restore the stack pointer
 
        xor     ecx,ecx      ;  set the exit code to 0
 
        call    _ExitProcess@4
assembly winapi x86
1个回答
0
投票

好吧,对于新用户来说,您的编辑能力非常有限。所以我会把我的“编辑”放在这里。我试图让我的程序在利用 call 和 jmp 的同时循环通过 printf 语句批准 3 次。我将所有这些信息放在原始帖子中,由于某种原因,在撰写本文时,它没有出现在应有的位置。输出如下所示:

没错! 被拒绝了!

何时应该:

没错! 这是正确的! 这是正确的! 被拒绝了!

循环需要打印三次,没错,仍然无法编辑实际帖子:/

© www.soinside.com 2019 - 2024. All rights reserved.