.386
.model flat, stdcall
includelib msvcrt.lib
printf PROTO C :ptr sbytef,:vararg
scanf PROTO C : ptr sbyte,:vararg
.data
year1 dword ?
month1 dword ?
day1 dword ?
year2 dword ?
month2 dword ?
day2 dword ?
N = 2
szouputFmt1 byte 'the first date is %d/%d/%d',0ah,0
szouputFmt2 byte 'the second date is %d/%d/%d',0ah,0
szouputFmt byte 'the bigger date is %d/%d/%d',0ah,0
szouputFme byte 'equal!',0ah,0
szinputFmt byte '%d%d%d',0ah,0
.code
start:
mov esi N
invoke scanf,offset szinputFmt,offset year1,offset month1,offset day1
invoke printf,offset szouputfmt1,year1,month1,day1
sub esi 1
invoke scanf,offset szinputFmt,offset year2,offset month2,offset day2
invoke printf,offset szouputfmt2,year2,month2,day2
sub esi 1
jz c10
c10:
mov eax year1
sub eax year2
jz c20
jb c30
ja c40
c30:
invoke printf offset szouputFmt year2,month2,day2
c40:
invoke printf offset szouputFmt year1,month2,day2
c20:
mov eax month1
sub eax month2
jz c50
jb c60
ja c70
c60:
invoke printf offset szouputFmt year2,month2,day2
c70:
invoke printf offset szouputFmt year1,month2,day2
c50:
mov eax day1
sub eax day2
jz c80
jb c90
ja c100
c90:
invoke printf offset szouputFmt year2,month2,day2
c100:
invoke printf offset szouputFmt year1,month2,day2
c80:
invoke printf offset szouputFme
ret
end start
这是一个简单的比较日期的程序,连接时总是报错,希望大神帮忙!
------解决方案--------------------------------------------------------
把错误信息也发一下吧
------解决方案--------------------------------------------------------
mov esi N
是
mov esi, N
罢?
Windows提供有日期比较的API函数罢