0
 .MODEL SMALL
    .STACK 100h
    .DATA
Var1 dd 2
PromptStr DB 'is perfect',13,10,'$'
ans dd 2
count dd 2
     .CODE
     .386
Begin:
    MOV AX,@DATA     ; DS can be written to only through a register
    MOV DS,AX        ; Set DS to point to data segment    

dobody1:
    JMP TestNext1
dobody2:
    CMP ans,32513
    JA finish
    MOV EAX,ans
    MOV EBX,2
    MUL EBX
    MOV ans,EAX
    DEC count
TestNext1:
    CMP var1,2
    JE check2
    MOV EAX,count
    CMP Var1,EAX
    JNE dobody2
check2 :
    MOV EAX,ans
    MOV EBX,2
    MUL EBX
    INC EAX
    MOV EBX,ans
    MUL EBX
    MOV AH,9
    INT 21h
    MOV ans,2
    MOV count,2
    DEC Var1
    JMP dobody1

finish :

MOV AH,4Ch       ; Set terminate option for int 21h
INT  21h       ; Return to DOS (terminate program)
END Begin 

アセンブラ tasm で完全な数を出力しようとしていますが、予期しないファイルの enf がエラーに遭遇しました!!!

4

1 に答える 1

0

endsの前に追加する必要がありますend begin。大したことかどうかはわかり.386ませんが、コード セグメントではなく、.MODEL.

于 2012-12-01T00:09:01.007 に答える