标签:weight x86 max lan height cli osi mon math
设有一输入设备,其数据端口的地址为FFE0H,并从端口FFE2H提供状态,当其D0位为1时表明输入数据准备好。试编写采用查询方式进行数据传送的程序段,要求从该设备读取64个字节并输入到从2000H开始的内存中
data segment
IOEA equ FFE0H
IOSA equ FFE0H
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov cx,64
w:
mov dx,IOSA
in al,dx
test al,01h
jz w
l: mov dx,IOEA
in al,dx
mov [2000h],al
loop w
mov ah,4ch
int 21h
code ends
end start
如下图,假设LED数码管为共阴管,且段a接数据的最低位,段dp(小数点)接最高位,请编写显示内存单元DS:[1200H]中数据(为1位非压缩BCD码)的程序段。
data segment
IOA equ 83h
mytab db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; 共阳极数码管
mydata db 00000001b
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
xor bx,bx
mov bl,mydata;
mov al,mytab[bx]
mov dx,IOA
out dx,al
mov ah,4ch
int 21h;
code ends
end start
data segment
IOA equ 83h
mytab db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; 共阳极数码管
mydata db 00000001b
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea bx,mytab;
mov al,mydata
xlat
mov dx,IOA
out dx,al
mov ah,4ch
int 21h;
code ends
end start
下图所示为一个I/O接口电路。
1)该接口的操作类型是(输入)还是(输出);
2)主机对其I/O的传送控制方式是什么? 查询
3)图中信号IOR当执行什么指令时有效? IN
4)结合一次数据的I/O过程,写出有关的几条指令。
data segment
IOA equ 200H
IOS equ 201H
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
w:
mov dx,IOS
in al,dx
test al,80h;
jz w
mov dx,IOA
in al,dx
mov ah,4ch
int 21h;
code ends
end start
设某系统中CPU的寄存器和存储区的一段内容如下:
(20H)=3CH、(21H)=00H、(22H)=86H、(23H)=0EH、CS=2000H、IP=0010H、SS=1000H、SP=0100H、FLAGS=0240H
这时执行INT 8指令
(1) 程序转向何处执行?
(2) 堆栈栈顶6个内存单元的地址及内容分别是什么?
堆栈栈顶6个内存单元的地址及内容分别是什么?
这个问题主要考察中断时,系统是如何保护现场的
具体过程如下
结果如如表4-1
什么是中断向量?什么是中断向量表?若某外部可屏蔽中断的类型号为30H,则中断服务程序的入口地址为1020H:3040H,用8086汇编语言编程实现将该中断服务程序的入口地址装入中断向量表中。
中断向量是指中断服务程序的入口地址
中断向量表是存放256个中断向量的存储区域
装入中断服务子程序
程序1:基于DOS中断 无需计算中断向量地址
功能号:AH=25H
入口参数: AL=中断类型号
DS=中断服务程序入口地址的段地址
DX=中段服务程序入口地址的偏移地址
具体程序
push ds
;准备入口参数
mov dx,3040H
mov ax,1020H
mov ds,ax
;调用dos中断
;设置功能号
mov ah,25h
;设置入口参数
mov al,30h
int 21h
程序2直接装入法
需要计算向量入口地址
中断号×4即为中断向量地址,依次装入IP,与CS。
可知中断向量地址为 COH
具体程序如下
;设置段地址
push ds
xor ax,ax
mov ds,ax
;首先装入IP
mov ax,3040H
mov [0COH],ax
;装入CS
mov ax,1020H
mov [0C2],ax
若某8086系统采用单片8259A管理外部中断,其中的一个中断类型号为0DH,则它的中断向量地址指针是多少?这个中断源应接在8259A的哪个输入端上?若该中断服务程序的入口地址为D000H:3200H,则其向量区对应4个单元的数值依次是多少?
取低3位,101b=5d,所以对应IR5
标签:weight x86 max lan height cli osi mon math
原文地址:https://www.cnblogs.com/Howbin/p/11144922.html