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!汇编程序代码错误
我不明白为什么你的代码跳得这么多。 (2 ^(n-1))*((2^n)-1) –
)是不是必须在最后有一个'结束'(加上也许是一个额外的空白行)? –
编译器错误?( –