在程序集中组合两个字符串以输出它们

时间:2013-11-17 05:25:51

标签: assembly x86

我想使用带有标签和上下文的输出,即上下文由内存中的两个字节(字符串)构成。但输出语法只显示一个Cintex而我无法执行此操作

output resultLbl, string1, string2

这是我的代码:

.586
.MODEL FLAT

INCLUDE io.h            ; header file for input/output

.STACK 4096

.DATA
resultLbl   Byte "The Result", 0
resultString Byte "You must work: "
resultString2   Byte " Day(s)", 0

.CODE
_MainProc PROC
            mov eax, 1
            mov ebx, 1 
            mov ecx, 0
whileSum:   cmp ecx, 1000000
            jnle endWhile
            add ecx, eax
            add eax, eax
            inc ebx
            jmp whileSum
endWhile:   output resultLbl, resultString
            mov eax, 0
            ret
_MainProc ENDP
END                             ; end of source code

我希望以这种格式显示带有contex的标签: “你必须工作:”(resultString1)+ ebx +“Day(s)”(resultString2)

这有什么语法吗?

这是io.h文件中的OutPut宏

output      MACRO  outLbl, outStr      ; display label and string

        pushad                     ; save general registers
        cld                        ; clear DF
        lea    eax,outStr          ; string address
        push   eax                 ; string parameter on stack
        lea    eax,outLbl          ; label address
        push   eax                 ; string parameter on stack
        call   _showOutput         ; showOutput(outLbl, outStr)
        add    esp, 8              ; remove parameters
        popad                      ; restore general registers
        ENDM

0 个答案:

没有答案