【汇编语言】第 14 章 端口

2017-07-13  本文已影响0人  gfson

版权声明:本文为 gfson 原创文章,转载请注明出处。
注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢。

14.1 概述

14.2 in 和 out

14.3 检测点 14.1

mov al, 2
out 70h, 2
in al, 71h

(2)

mov al, 2
out 70h, 2
mov al, 0
out 71h, al

14.4 shl 和 shr 指令

14.5 检测点 14.2

mov bx, ax
shl ax, 1
mov cl, 3
shl bx, cx
add ax, bx

14.6 实验 14

assume cs:code, ds:data
data segment
s db 9, 8, 7, 4, 2, 0
data ends
code segment
start:  mov ax, 0b800h
mov es, ax
mov di, 160 * 12
mov ax, data
mov ds, ax
mov si, 0
mov cx, 6
print:  mov al, s[si]
out 70h, al
in al, 71h
call number
cmp si, 2
jb slash
je space
cmp si, 5
jb colon
next:   inc si
loop print
mov ax, 4c00h
int 21h
;al->number, es:di->begin
number: push cx
mov ah, al
mov cl, 4
shr ah, cl
and al, 00001111b
add ah, 30h
add al, 30h
mov byte ptr es:[di], ah
mov byte ptr es:[di + 2], al
add di, 4
pop cx
ret
slash:  mov byte ptr es:[di], '\'
add di, 2
jmp next
colon:  mov byte ptr es:[di], ':'
add di, 2
jmp next
space:  mov byte ptr es:[di], ' '
add di, 2
jmp next
code ends
end start
上一篇 下一篇

猜你喜欢

热点阅读