|
一、简述题
程序中的数据定义如下:
LNAME DB ‘IBM-PC test’ , ‘$’
ADDRESS DB 15DUP(0)
ENTRY DB 3
CODE-LIST DB 11,7,8,3,2
1、 假设LNAME相对于某数据段地址偏移为0,试画出内存分配图
2、 用一条MOV指令将LNAME的偏移地址放入AX;
3、 用一条指令将CODE-LIST的头两个字节的内容存入SI;
4、 执行下列指令后,AX寄存器中的内容是什么?
LEA BX, CODE-LIST
ADD BX, ENTRY
MOV AX, WORD PTR[BX]
二、改错
在下列程序段中有错误,请找出并更正之。
CSEG SEGMENT
ATART PROC RAR
ASSUME CS:CSEG, DS:CSEG
ORG 100H
BEGIN: MOV DX,05
MOV BH,DX
ADD BYTE PTR[BX],1000
MOV CS,04
L20: MOV AX,[SI][DI]
ADD DX,AX
SRR DX,1
MOV CS,AX
RET
START ENDP
CSEG ENDS
END BEGIN
三、I/O接口程序设计
1、IBM-PC系统板上使用了一块8253,其中计数器0(地址号为40H)它产生用于产生实时时钟信号,工作于方程式3,计数初值为0,编写计数器0的初始化程序。
2、设有一块8253的四个端口地址为240H-243H,其计数器0的始终CLK0为1MHz(10的6次方HZ),编程使其实现计数器0能产生20KHz(2*10的四次方HZ)的连续方波。
3、设8255A芯片的端口地址为210H-213H(端口A的地址为210H),编写初始化程序,设置A组合B组均运作于方式0,其中端口A是输出口,端口B是输入口,端口C的高四位为输入,低四位为输出(要求将所用的所有寄存器保护起来)
|
|