南郵微機實驗 序列口的測試 查詢傳送,中斷接收

2021-07-25 13:14:14 字數 2137 閱讀 5047

在查詢方式的基礎上,設計查詢傳送,中斷方式接收的序列通訊自發自收方式測試。

.586

data segment use16

mesg db 'hello'

lens equ $-mesg

old0b dd ?

data ends

code segment use16

assume cs:code,ds:data

beg: mov ax,data

mov ds,ax

cli ;關中斷

call i8250

call i8259

call rd0b ;讀中斷向量

call wr0b ;寫中斷向量

sti ;開中斷

mov bx,offset mesg

mov cx,lens

scant: mov dx,2fdh

in al,dx

test al,20h

jz scant

mov dx,2f8h

mov al,[bx]

out dx,al

inc bx

mov edx,0

sinext:dec edx

jnz sinext

loop scant

return:call reset

mov ah,4ch

int 21h

receive proc

push ax

push dx

push ds

mov ax,data

mov ds,ax

mov dx,2f8h

in al,dx

and al,7fh

mov ah,2

mov dl,al

int 21h

jmp exit

exit: mov al,20h ;中斷結束命令

out 20h,al

pop ds

pop dx

pop ax

iret

receive endp

i8250 proc

mov dx,2fbh

mov al,80h

out dx,al

mov dx,2f9h

mov al,0

out dx,al

mov dx,2f8h

mov al,60h

out dx,al

mov dx,2fbh

mov al,03h

out dx,al

mov dx,2f9h

mov al,01h

out dx,al

mov dx,2fch

mov al,08h

out dx,al

reti8250 endp

i8259 proc

in al,21h

and al,11101111b

out 21h,al

reti8259 endp

rd0b proc

mov ax,350ch

int 21h

mov word ptr old0b,bx

mov word ptr old0b+2,es

retrd0b endp

wr0b proc

push ds

mov ax,code

mov ds,ax

mov dx,offset receive

mov ax,250ch

int 21h

pop ds

retwr0b endp

reset proc

in al,21h

or al,00010000b

out 21h,al

mov ax,250ch

mov dx,word ptr old0b

mov ds,word ptr old0b+2

int 21h

retreset endp

code ends

end beg

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

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

南郵微機介面彙編實驗2

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

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

利用系統定時源設計計時器,具體內容 利用日時鐘附加1ch中斷設計定時中斷程式,每隔一秒重新整理螢幕上顯示的時 分 秒。486 data segment use16 mesg db 00 00 00 0dh,hour1 db 0 hour2 db 3 min1 db 5 min2 db 9 secon...