21,459
社区成员
发帖
与我相关
我的任务
分享
assume cs:code,ds:data
data segment
db 18 dup (0)
data ends
code segment
read: db 9,8,7,4,2,0
start: mov ax,cs
mov ds,ax
mov ax,data
mov es,ax
mov di,3
mov bx,offset read
mov cx,6
ok: push cx
mov al,[bx] ;端口号
out 70h,al ;向70端口写入地址
in al,71h ;向71端口读入数据
mov ah,al
mov cl,4 ;移4位
shr ah,cl ;获得十位数码
and al,00001111b ;获得个位数码
add al,30h ;转换个位为ASCII码
add ah,30h ;转换十位为ASCII码
mov es:[si],ah ;存放高位
mov es:[si+1],al ;存放低位
add si,3
inc bx
pop cx
loop ok
mov byte ptr es:[si-1],'$' ;存放结尾符号
mov byte ptr es:[2],'/' ;添加符号
mov byte ptr es:[5],'/'
mov byte ptr es:[11],':'
mov byte ptr es:[14],':'
;以下为显示
mov ah,2 ;置光标
mov bh,0 ;第0页
mov dh,10 ;行数
mov dl,12 ;列数
int 10h
mov ax,data
mov ds,ax
mov dx,0 ;ds:ax 指向字符串的首地址 data:0
mov ah,9 ;在光标位置显示字符串以$结尾
int 21h
mov ax,4c00h
int 21h
code ends
end start