Syntax-Fehler in meinem Assembler-code

Hatte ich diesen code, und ich Frage mich, wenn jemand bereit wäre mir zu helfen, es funktioniert.

TITLE MASM Template                     (main.asm)

; Description: this code is supposed to print out each letter followed by a space and then the capitalized version on seperate lines
; Revision date:

INCLUDE Irvine32.inc
.data

myArray byte 'l','s','d','t','h','c','f','u','c','k'    ;my array of 10 characters
.code
main PROC

    mov ecx,0                                        ;clears ecx
    mov ecx,LENGTHOF myArray                         ;should be 10
    mov edi,OFFSET myArray                   ;will point to the beginning of the array
    mov eax,0                                       ;clears eax
    mov esi,0                                       ;clears esi

LOne:

    mov eax,myArray[esi]          ;points the pointer at the beginning of myArray
    WriteChar eax                     ;prints the designated value in the array
    WriteChar 32                    ;prints a space (32 is the ascii value for ' ')
    sub eax,32                      ;subtracts 32 from the ascii value of the char
                         ;the capital version of each letter is -32 of its ascii value
    WriteChar eax           ;prints the capital version
    call CLRF               ;prints new line
    inc esi                 ;increments esi to the next array value
    dec ecx                 ;decrements ecx, moving it through the array

    loop LOne               ;loops back until ecx is equal to zero

    exit
main ENDP

END main

Es nicht kompiliert er mir syntax-Fehler.

1>main.asm(22): A2008 Fehler: Syntaxfehler : eax

1>main.asm(23): A2008 Fehler: Syntaxfehler : WriteChar

1>main.asm(26): A2008 Fehler: Syntaxfehler : eax

1>main.asm(21): error A2022: Befehl Operanden müssen die gleiche Größe

1>main.asm(27): error A2006: undefined symbol : CLRF

  • Ok, nevermind, was der code tut, zu sehen, LSD, THC, und F*CK alle zusammen in einem einzigen post SO ist eine Premiere für mich!
  • Was ist passiert, und wie unterscheidet es sich von dem, was Sie wollen/erwarten? Ich sehe keine Stelle, die Sie drucken sich eine neue Zeile, die die Kommentare scheinen zu zeigen, die Sie wahrscheinlich wollen, aber das ist das einzige problem, springt sofort an.
  • der code kann nicht kompiliert werden, es sagt syntax-Fehler, die auf Linien 22,23,24,26
  • oh ja, ich verließ die neue Zeile code, call CLRF richtig funktioniert? nicht, dass die Feste der code, der keine, aber danke
  • was ist ein SO ein post?
  • Was funktioniert nicht genau? Fragen prägnante Fragen bitte.
  • insbesondere keines, es funktioniert lol. Es wird nicht kompilieren, es sagt: 1>main.asm(22): A2008 Fehler: Syntaxfehler : eax 1>main.asm(23): A2008 Fehler: Syntaxfehler : WriteChar 1>main.asm(26): A2008 Fehler: Syntaxfehler : eax 1>main.asm(21): error A2022: Befehl Operanden müssen die gleiche Größe haben 1>main.asm(27): error A2006: undefined symbol : CLRF speziell, ich will es drucken Sie jeden Buchstaben, dann ein Leerzeichen, dann die Großschreibung der Buchstaben und dann eine Rendite, bis es getan hat, so dass für jedes element im array.

InformationsquelleAutor Mattj7 | 2011-09-23
Schreibe einen Kommentar