当前位置: 代码迷 >> 汇编语言 >> 求大神帮忙看看小程序,不知道有关问题出在哪
  详细解决方案

求大神帮忙看看小程序,不知道有关问题出在哪

热度:1280   发布时间:2013-02-26 00:00:00.0
求大神帮忙看看小程序,不知道问题出在哪?
.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函数罢

  相关解决方案