南郵微機實驗(設計定時器)

2021-07-25 06:26:35 字數 2253 閱讀 5296

利用系統定時源設計計時器,具體內容:利用日時鐘附加1ch中斷設計定時中斷程式,每隔一秒重新整理螢幕上顯示的時、分、秒。

.486

data segment use16

mesg db '00:00:00',0dh,'$'

hour1 db 0

hour2 db 3

min1 db 5

min2 db 9

second1 db 5

second2 db 8

old0a dd ?

icount db 18

data ends

code segment use16

assume cs:code,ds:data

beg: mov ax,data

mov ds,ax

clicall read0a

call write0a

stiservice proc

pusha

push ds

mov ax,data

mov ds,ax

dec icount

jnz exit

mov icount,18

lea bx,mesg

inc second2

cmp second2,10

jb t

mov second2,0

inc second1

cmp second1,6

jb t

mov second1,0

inc min2

cmp min2,10

jb t

mov min2,0

inc min1

cmp min1,6

jb t

mov min1,0

inc hour2

cmp hour1,2 ;以下幾行**用於判斷是否是23:59:59加1s,若是,則跳轉至00:00:00

je t1

cmp hour2,10

jb t

mov hour2,0

inc hour1

jmp t

t1: cmp hour2,4

jb t

mov hour1,0

mov hour2,0

mov min1,0

mov min2,0

mov second1,0

mov second2,0

t:

mov al,hour1

add al,30h

mov [bx],al

mov al,hour2

add al,30h

mov [bx+1],al

mov al,min1

add al,30h

mov [bx+3],al

mov al,min2

add al,30h

mov [bx+4],al

mov al,second1

add al,30h

mov [bx+6],al

mov al,second2

add al,30h

mov [bx+7],al

mov ah,9

lea dx,mesg

int 21h

exit: pop ds ;恢復現場

popa

iret

service endp

btod proc

ret

btod endp

read0a proc

mov ax,351ch

int 21h

mov word ptr old0a,bx

mov word ptr old0a+2,es

retread0a endp

write0a proc

push ds

mov ax,code

mov ds,ax

mov dx,offset service

mov ax,251ch

int 21h

pop ds

retwrite0a endp

reset proc

mov dx,word ptr old0a

mov ds,word ptr old0a+2

mov ax,251ch

int 21h

retreset endp

code ends

end beg

南郵微機介面彙編實驗2

第二次實驗,名稱 使用者登陸驗證程式的設計 實驗要求 1 執行程式後,介面首先出現自己的學號,例如 b18060701 2 在學號下方輸入登入密碼,密碼長度不超過30個字元。密碼內容不能顯示在螢幕上,要求用字元 替代。3 驗證輸入密碼與事先設定的密碼是否相同,如果密碼正確,給出提示 ok 程式結束 ...

南郵微機實驗 序列口的測試

內容一 完成硬體測試環境,編寫程式對微機系統的串列埠進行查詢方式自發自收外環測試。本實驗已經將串列埠通訊線插接到微機的串列埠上,並且已經將2,3引腳短路,形成乙個自收的迴路。586 data segment use16 buf db hello lens equ buf data ends code...

南郵微機實驗(基於中斷的動態顯示)

利用1ch中斷,每隔一定時間間隔,在螢幕上列印一行自定義的字串 例如自己的學號b14040411 按下鍵盤任意鍵後程式自動退出。486 data segment use16 mesg db b14040411 0dh,0ah,old0a dd icount db 18 data ends code ...