+ -
当前位置:首页 → 问答吧 → 汇编星期判断(求注释)

汇编星期判断(求注释)

时间:2010-12-26

来源:互联网

stack segment
  db 200 dup(0)
  stack ends
  code segment
  assume cs:code,ss:stack
  start:
  disp macro m
lea dx,m
mov ah,9
int 21h
endm
  jmp begin
  nian db 'Year:','$'
  yue db 'Month:','$'
  ri db 'Day:','$'
  M1 DB 'TODAY IS MONDAY ','$'
  M2 DB 'TODAY IS TUESDAY ','$'
  M3 DB 'TODAY IS WEDNESDAY ','$'
  M4 DB 'TODAY IS THURSDAY ','$'
  M5 DB 'TODAY IS FRIDAY ','$'
  M6 DB 'TODAY IS SATURDAY ','$'
  M0 DB 'TODAY IS SUNDAY ','$'
  buf db 10,?,10 dup (?)
  yy dw ?
  mm dw ?
  ddd dw ?
  num dw ?
  


outcr proc near
  push ax
  push dx
  mov ah,2
  mov dl,0dh
  int 21h
  mov dl,0ah
  int 21h
  pop dx
  pop ax
  ret
outcr endp

dec_bin proc near
  push si
  push dx
  mov si,dx
  mov dx,0
  cld
  d1:
  lodsb
  cmp al,0dh
  je d2
  cmp al,0
  je d2
  cmp al,'0'
  jb d1
  cmp al,'9'
  ja d1
  sub al,'0'
  push ax
  mov ax,10
  mul dx
  pop dx
  mov dh,0
  and dl,0fh
  add dx,ax
  jmp d1
  d2:
  mov ax,dx
  pop dx
  pop si
  ret
dec_bin endp



begin:

  push cs
  pop ds

  disp nian
  mov dx, offset buf
  mov ah,0ah
  int 21h
  call outcr
  mov bl,buf+1
  mov bh,0
  mov byte ptr buf[bx+2],0
  call dec_bin
  mov yy,ax

  disp yue
  mov dx, offset buf
  mov ah,0ah
  int 21h
  call outcr
  mov bl,buf+1
  mov bh,0
  mov byte ptr buf[bx+2],0
  call dec_bin
  cmp ax,2
  ja x1
  add ax,12
  dec yy
x1:
  mov mm,ax

  disp ri
  mov dx,offset buf
  mov ah,0ah
  int 21h
  call outcr
  mov bl,buf+1
  mov bh,0
  mov byte ptr buf[bx+2],0
  call dec_bin
  mov ddd,ax


  mov ax,yy
  mov dl,100
  div dl

  mov dl,ah
  mov ah,0
  mov dh,0
  push ax
  shr ax,1
  shr ax,1
  mov num,ax

  pop ax
  shl ax,1
  sub num,ax

  add num,dx

  shr dx,1
  shr dx,1
  add num,dx

  mov ax,mm
  inc ax
  mov dx,13
  mul dx
  mov cx,5
  div cx
  add num,ax

  mov ax,ddd
  add num,ax

  dec num

x2:
  cmp num,0
  jge x3
  add num,7
  jmp x2
x3:
  mov ax,num
  mov cl,7
  div cl

  mov dl,ah
  add dl,'0'
  cmp dl,30h
  je zhouri
  cmp dl,31h
  je zhou1
  cmp dl,32h
  je zhou2
  cmp dl,33h
  je zhou3
  cmp dl,34h
  je zhou4
  cmp dl,35h
  je zhou5
  cmp dl,36h
  je zhou6
zhouri:
  disp M0
  jmp A
zhou1:
  disp M1
  jmp A
zhou2:
  disp M2
  jmp A
zhou3:
  disp M3
  jmp A
zhou4:
  disp M4
  jmp A
zhou5:
  disp M5
  jmp A
zhou6:
  disp M6  
A:
  mov ah,07h
  int 21h

  mov ah,4ch
  int 21h

  code ends
  end start

作者: piaobosiSE   发布时间: 2010-12-26

先说明一下,这次不是我要问的了,我跟我同学说了有人帮我在一些地方加了注释,她也要问下(说实话,还真有点小疼我的分了,下次非得让她请我喝烧仙草!!!!)

作者: piaobosiSE   发布时间: 2010-12-26

现在期末考试吧? 怎么都是要注解的呀? ^_^

作者: masmaster   发布时间: 2010-12-26