在查詢方式的基礎上,設計查詢傳送,中斷方式接收的序列通訊自發自收方式測試。
.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...