彙編高手幫幫忙!急正確的追加50分

時間 2021-06-07 14:39:29

1樓:

;太長了

code segment

assume cs:code,ds:codeorg 100h

start:

push cs

pop ds

mov ax,3

int 10h

mov ax,0b800h

mov es,ax

cldq0:lea dx,tips ;提示輸入時間mov ah,9

int 21h

;輸入當前時、分、秒值

call input_bcd

mov hh,al

mov ax,0e3ah ;':'

int 10h

call input_bcd

mov mm,al

mov ax,0e3ah ;':'

int 10h

call input_bcd

mov dh,al

mov ch,hh

cmp ch,23h

ja q1

mov cl,mm

cmp cl,59h

ja q1

cmp dh,59h

jbe q2

q1:lea dx,err

mov ah,9

int 21h

jmp q0

q2:mov ah,3

int 1ah

call xssj

mov ah,4ch

int 21h

input_bcd:

mov cl,4

call key

shl al,cl

mov dl,al

call key

add al,dl

retkey:

mov ah,0

int 16h

cmp al,'0'

jb key

cmp al,'9'

ja key

mov ah,0eh

int 10h

sub al,'0'

retxssj:

mov di,(80*10+30)*2

t1:mov ah,04 ;cx=2009 dx=0222int 1ah;讀取日期

;出口引數:cx=年,dx=月/日

mov al,ch;顯示年

call disp

mov al,cl

call disp

mov al,'-'

stosb

mov al,0ah;綠色

stosb

mov al,dh;顯示月

call disp

mov al,'-'

stosb

mov al,0ah;綠色

stosb

mov al,dl;顯示日

call disp

mov al,20h

stosb

mov al,0ah;綠色

stosb

mov ah,02 ;cx=1252 dx=0300int 1ah;讀取當前時間

;出口引數:cx=時/分;dh=秒

mov al,ch;顯示時

call disp

mov al,':'

stosb

mov al,0ah;綠色

stosb

mov al,cl;顯示分

call disp

mov al,':'

stosb

mov al,0ah;綠色

stosb

mov al,dh;顯示秒

call disp

mov ah,01

int 16h;讀鍵盤

jz xssj ;無字元輸入,繼續顯示時間mov ah,0

int 16h

cmp al,1bh

jnz xssj

retdisp:

push cx

mov ah,al

mov cx,4

shr al,cl

and al,0fh

or al,30h

stosb

mov al,0ah;綠色

stosb

mov al,ah

and al,0fh

or al,30h

stosb

mov al,0ah;綠色

stosb

pop cx

rettips db ' input current time'

db 0dh,0ah,' hh:mm:ss $'

err db 0dh,0ah,'input error!',0dh,0ah,'$'

hh db 0

mm db 0

code ends

end start

2樓:頹廢_小胖

我的思路是用死迴圈在埠讀寫時間並顯示,一輸入完數字除了用埠改寫時間之外,再立即修改鍵盤中斷。等按下去退出就恢復原鍵盤中斷入口。

彙編高手進來幫幫忙,彙編高手進來幫幫忙!!!!!!!

燭秋 不是高手路過,練練手 data segment grade dw 87,89,52,63,47,95,100,52,96,88 rank dw 10 dup output db ranking 0dh,0ah,data ends code segment assume cs code,ds d...

急 是高手的大哥大姐幫幫忙懸賞50分

博誠 如果你的機子使用都很正常 那應該沒關係 可能是因為驅動問題 可以選擇重新安裝驅動 或者不理會 你是不是板載的有個網絡卡,又在pci插了個網絡卡?所以你停用了一個照樣可以上網 不會是你的網絡卡以前有人新的時候說壞的,讓你買了塊新的插上去?解決辦法如果正常上網就繼續停用 沒必要2個網絡卡開著白白佔...