打印

闰年程序问题

[复制链接]
1033|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gxgclg|  楼主 | 2012-3-24 21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ov, AC, AD, ST, TE
子程序中有这样两行
  tt1: inc si
  loop tt1

为什么不这样写呢:add si,cx ?我调了一下没问题啊


附上源程序,高手们可忽略。。
data segment ;定义数据段
  infon db 0dh,0ah,'Please input a year: $'
  Y db 0dh,0ah,'This is a leap year! $'
  N db 0dh,0ah,'This is not a leap year! $'
  w dw 0
  buf db 8
  db ?
  db 8 dup(?)
data ends

stack segment stack
  db 200 dup(0)
stack ends

code segment
  assume ds:data,ss:stack,cs:code
  start:mov ax,data
  mov ds,ax
   
  lea dx,infon ;在屏幕上显示提示信息
  mov ah,9
  int 21h

  lea dx,buf ;从键盘输入年份字符串
  mov ah,10
  int 21h
   
  xor ch,ch ;注意!!
  mov cl, [buf+1]
  lea di,buf+2
  call datacate
  call ifyears
  jc a1
   
  lea dx,n
  mov ah,9
  int 21h
  jmp exit
  a1: lea dx,y
  mov ah,9
  int 21h
  exit: mov ah,4ch
  int 21h
   


datacate proc near;
  push cx;   
  dec cx
  lea si,buf+2
  tt1: inc si
  loop tt1
  ;lea si,cx[di]
  pop cx
   
   
  mov dh,30h
  mov bl,10
  mov ax,1
  l1: push ax
  sub byte ptr [si],dh
  mul byte ptr [si]
  add w,ax
  pop ax
  mul bl
  dec si
  loop l1
  ret
datacate endp

相关帖子

沙发
shenmu2012| | 2012-4-14 21:34 | 只看该作者
楼主,你牛,还直接整汇编的,不过我现在要学习你那程序的话,还不如我直接用c语言编一个这程序得了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

1653

帖子

1

粉丝