文档库 最新最全的文档下载
当前位置:文档库 › 王爽 汇编语言 课设2

王爽 汇编语言 课设2

assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,200h
mov cx,offset int9end-offset int9
cld
rep movsb

mov bx,200h
mov ah,3
mov al,1
mov ch,0
mov cl,1
mov dl,0
mov dh,0
int 13h

mov ax,2000h
mov es,ax
mov si,offset int1
mov di,0
mov cx,offset int1end-offset int1
cld
rep movsb

mov bx,0
mov ah,3
mov al,4
mov ch,0
mov cl,2
mov dl,0
mov dh,0
int 13h


mov ax,4c00h
int 21h

int9: mov ax,2000h
mov es,ax
mov bx,0
mov ah,2
mov al,4
mov ch,0

mov cl,2
mov dl,0
mov dh,0
int 13h
mov ax,0
mov ds,ax
mov word ptr ds:[200h],0
mov word ptr ds:[202h],2000h
jmp dword ptr ds:[200h]

int9end:nop

int1: jmp i1
db "1.reset pc"
db 5 dup(0)
db "2.start system"
db 0
db "3.clock"
db 8 dup(0)
db "4.set clock "
db 4 dup(0)
db "import year please"
db 0,0
db "import month please"
db 0
db "import day please"
db 0,0,0
db "import hour please"
db 0,0
db "import minute please"


i1: mov ax,0b800h
mov ds,ax
mov ax,2000h
mov es,ax
mov bx,660
mov si,2

mov cx,4
s2: push cx
mov cx,15
s: mov ah,1
mov al,es:[si]
mov ds:[bx],ax
inc si
add bx,2
loop s
add bx,130
pop cx
loop s2

mov ah,0
int 16h
cmp ah,2
je again

cmp ah,3
je win

cmp ah,4
je time

cmp ah,5
jne s1
jmp near ptr reva
s1: jmp short i1



again: mov ax,0
mov es,ax
mov word ptr es:[204h],0
mov word ptr es:[206h],0ffffh
jmp dword ptr es:[204h]


win: mov ax,0
mov es,ax
mov bx,7c00h
mov ah,2
mov al,1
mov ch,0
mov cl,1
mov dh,0
mov dl,80h
int 13h
mov word ptr es:[208h],07c00h
mov word ptr es:[210h],0
jmp dword ptr es:[208h]


time: mov dh,1
time1: mov ah,1
int 16h
cmp al,1bh
je t7
cmp ah,1
je t5

cmp ah,3ch
je t7

cmp ah,3bh
jne t6
inc dh
t6: mov ah,0
int 16h

t5: mov si,0
mov di,160*12+45*2

mov ch,9
t2: mov al,ch
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov bx,0b800h
mov es,bx
mov dl,ah
mov es:[di],dx
add di,2
mov dl,al
mov es:[di],dx
add di,2

mov bl,0
cmp ch,bl
je t4
mov bl,7
cmp bl,ch
jne t1
sub ch,3
mov byte ptr es:[di],' '
add di,2
jmp t2

t1: mov bl,4
cmp ch,bl
ja t3
sub ch,2
mov dl,':'
mov es:[di],dx
add di,2
jmp t2
t3: mov dl,'/'
mov es:[di],dx
add di,2
dec ch
jmp t2
t4: jmp time1
t7: mov ah,0
int 16h
mov di,160*10
mov cx,1000
t8: mov byte ptr es:[di],' '
mov byte ptr es:[di+1],0
add di,2
loop t8
jmp int1




reva: mov bx,14
mov di,1600+30
mov si,64
mov cx,5

r1: push cx
mov cx,20
r2: push cx
mov ax,0b800h
mov es,ax
mov ah,1
mov al,

cs:[si]
mov es:[di],ax
inc si
add di,2
pop cx
loop r2


r8: mov ah,0
int 16h
cmp ah,0ah
ja r8
mov ah,3
mov es:[di+6],ax
sub al,30h
mov dl,al

r10: mov ah,0
int 16h
cmp ah,0eh
jne r7
mov byte ptr es:[di+6],' '
jmp r8
r7: cmp ah,0ah
ja r10
r11: mov ah,3
mov es:[di+8],ax
sub al,30h
mov dh,al

r9: mov ah,0
int 16h
cmp ah,0eh
jne r12
mov byte ptr es:[di+8],' '
jmp r10
r12: cmp ah,1ch
jne r9

mov cl,4
shl dl,cl
add dl,dh

mov ax,0
mov es,ax
mov es:[bx+200h],dl
inc bx
add di,120
pop cx
loop r1

mov ax,0
mov es,ax
mov bx,14
mov dl,9
mov cx,5
r4: mov al,dl
out 70h,al
mov al,es:[bx+200h]
inc bx
out 71h,al

cmp dl,5
jnb r6
dec dl
r6: cmp dl,7
jne r3
sub dl,2
r3: dec dl
loop r4
jmp time

int1end:nop

mov ax,4c00h
int 21h
code ends
end start

相关文档
相关文档 最新文档