2. 选择题
(1) 逻辑地址是(D) 地址。
A. 信息在存储器中的具体
B. 经过处理后的20位
C. 允许在程序中编排的
D. 段寄存器与指针寄存器共同提供的
(5) 用REPNE CMPSB指令作两个字符串比较时
,如果CX≠0,比较结束,其原因是(A) 。
A. 出现两个相等字符
B. 两个字符不等
C. 两个字符串长度不等
D. 字符串中全部字符比较结束
(8) 设BL=05H,要使BL=0AH,应该执行的指令是(C) 。
A. NOT BL
B. AND BL,BL
C. XOR BL,0FH
D. OR BL,0FH
(10) 下面有一条指令是错误的,出(    C )。
A. INC CL
B. MOV AX,DS
C. SHR AX,2
D. SHR AX,CL
(12) I/O 指令使用寄存器存放端口地址时,必须使用( A ) 寄存器。
A. DX
B. CX
C. AX
D. SI
3. 判断题
(2) 对于所有的存储器寻址方式,都可以采用段超越前缀。( × )
(4) 换码指令可将累加器AL中的一个值/码转换为内存表格中的另一个值/码,但不送回AL。( × )
(5) 使用MOV AH,4CH和INT 21H两条指令返回DOS不会造成死机。( √ )
(6) 8086的循环控制指令必须以DX作计数器,控制循环次数,且目标地址偏移范围在-128~+127之间。 ( × )
4. 指出下列指令的错误
(4) MOV MYDAT[BX][SI],ES:AX
④错:源操作数AX是寄存器操作数,不是存储器操作数,不能用段跨越前缀,应为MOV MYDAT[BX][SI], AX
(6) ADD V AR1,V AR2
错:没有该指令,2个变量的偏移地址都是存储器操作数。
(9) IN AX,100H
错:输入指令的端口地址大与255时,可以写端口号到DX,应为MOV DX,100H ;IN AL,DX
(3) 分析下面程序段,
MOV AL,200 ; (AL)=0C8H
SAR AL,1 ; (AL)=0E4H
MOV BL,AL ;(BL)=0E4H
MOV CL,2 ;(CL)=02H
SAR AL,CL ;(AL)=0F9H
ADD AL,BL ;(AL)=0DDH
试问程序段执行后(BL)=0E4H (AL)=0DDH CF=1
(6)已知目标串偏移地址为0100H,源串偏移地址为0200H,长度为50个字节。要求将两串中各元素对应相加,所得到的新串写入目标串中,试写出程序段来实现其功能。
答:实现其功能的程序段如下:
MOV CX,50
MOV BX,0000H
ASD:MOV AL,0200H[BX]
ADD 0100H[BX],AL
INC BX
LOOP ASD
HLT
MOV AX,SEG DATA
MOV DS,AX
MOV CX,50
MOV DI,0100H
MOV SI,0200H
ASD:MOV AL,[SI]
ADD [DI],AL
INC DI
INC SI
DEC CX
JNZ ASD
HLT
(8) 符号定义语句如下:
BUFF DB 1,2,3,‟123‟
EBUFF DB 0
L EQU EBUFF-BUFF
问:L的值为多少?
解:假设BUFF的符号地址为1000H,那么EBUFF的符号地址为1006H,所以EBUFF-BUFF=6 所以L=6
(9) 程序段如下:
TABLE DW 10H,20H,30H,40H,50H
MOV BX,OFFSET TABLE
INC BX
INC BX
MOV AX,[BX]
问:指令执行后,AX的内容是多少:AX=0020H
(10) 下列指令执行后,物理单元01070H的内容是什么?
MOV AX,00E0H ;(AX)=00E0H
MOV DS,AX ;(DS)=00E0H
MOV BX,0200H ;(BX)=0200H
MOV CX,BX ;(CX)=0200H
NEXT:MOV [BX],BL ;(BL)=00H,PA=01000H
INC BL ;(BL)=01H, (01000H)=00H
LOOP NEXT ;(CX)-1=01FFH,CX<>0
MOV AH,4CH ;
INT 21H ;返回DOS
解:从程序的分析得(01000H)=00H,(01001H)=01H
(01002H)=02H……(01070H)=70H
(11) 按下列要求书写数据定义语句:以DA2为首字节的连续单元中存放10个重复的数据序列12,3,…A‟。
分析:数据定义伪指令DB、DW、DD等,而这里的确2,3,…A‟可以用字节数据单元来存储的,所以可用DB来定义如下:
解:DA2 DB 10 DUP (12,3,‟A‟)
1.比较DEST和SOURCE中的500个字节,出第一个不相同的字节,如果到,则将SOURCE中的这个数送AL中。
CLD
LEA DI,ES:DEST
LEA SI,SOURCE
MOV CX,500
REPE CMPSB
JCXZ NEXT
ASD:DEC SI
MOV AL,BYTE PTR[SI]
NEXT:HLT
6.编写程序
1.编写一个程序,把从键盘读入的大写字母换成小写字母显示,要求:从键盘读入一个字母;如果是小写字母,直接显示,如果是大写字母,变换成小写字母显示。符号不显示。
解:源程序如下:
Data segment
Asd db 10 dup (?)
Data ends
Code segment
Assume cs:code,ds:data
Mov ax,seg data
Mov ds,ax Jb abcabc2
Mov es,ax Cmp al,‟$‟
Abc: Jz end
Mov ah,01h Jmp abc
Int 21h abc1:add al,20h
Cmp al,‟A‟ abc2:mov dl,al
Jb abc mov ah,02h
Cmp al,‟Z‟ Int 21h
Jb abc1 Jmp abc
Cmp al,‟a‟ end:M ov ah,4ch
Jb abc Int 21h
Cmp al,‟z‟ code ends
(2) 编程将ARRAY1开始的26个字节单元依次存放…A‟,…B‟到…Z‟。
解:源程序如下:abc: mov [bx],al
data segment inc al
字符串长度最大是多少
array1 db 26 dup (?) inc bx
data ends dec cx
code segment jnz abc
assume cs:code,ds:data mov ah,4ch
mov ax,seg data int 21h
mov ds,ax code ends
lea bx,array1
mov cx,26
mov al,‟A‟
1.填空题
(3) 半导体材料存储器所存信息掉电后消失,而磁材料存储器属永久性存储器。
(5) 对容量为2n    B 的存储单元的存储矩阵,需要N 位地址线选通对应存储单元。(7) CPU对RAM存储器进行读/写操作时,应送出的方向控制命令有RD 和WD 命令。
(4) 存储器目前采用较多的三级存储器结构是高速缓冲存储器,主存和辅存。
(6) 1位地址,经地址译码器译码后能得到  2 条存贮单元选择线控制线。
(8) 某计算机的存储容量是64KB,若按字节寻址,则寻址的范围为64K ,需要地址线根、数据线16 根;若字长为32位,按字编址,寻址的范围为16K 。
(4) CPU与I/O 接口之间的数据传送方式主要包括程序方式传送、DMA方式传送、I/O 通道处理机方式传送。
2. 选择题
(1) 在DMA方式下,CPU与总线的关系是  C 。
A. 只能控制数据总线
B. 只能控制地址总线
C. 成高阻状态
D. 成短接状态
(3) 在DMA传送过程中,实现总线控制的部件是__C__。
A. CPU
B. 外部设备
C. DMAC
D. 存储器
(5) 采用DMA方式,在存储器与I/O设备之间进行数据传送时,对于PC机来说,数据的传送要经过_ C___。
A. CPU
B. DMA通道
C. 系统总线
D. 外部总线
(3) 在PC/XT机中键盘的中断类型码是09H,则键盘中断向量存储在向量表的( B) 。
A. 36H~39H
B. 24H~27H
C. 18H~21H
D. 18H~1BH
(5) 若8259A工作在优先级自动循环方式,则IR4的中断请求被响应并且服务完毕后,优先权最高的中断源是(B) 。
A. IR3
B. IR5
C. IR0
D. IR4
3. 判断题
(3) 8259A所管理的中断源中,优先级低的中断源不可能中断优先级高的中断服务子程序。(× )
(5) 只要8259A所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得到CPU的响应和服务。( × )
4、怎样用8259A的屏蔽命令字来禁止IR4和IR5引脚上的请求?又怎样撤销这一禁止命令?设8259A的端口地址为20H-21H,写出有关指令。
答:使OCW1的D4和D5位为1,写到8259A的奇地址就可禁止IR4和IR5引脚上的请求。撤销禁令只需写入D4和D5位为0的OCW1命令。有关指令如下:
IN AL,21H
OR AL,30H
OUT 21H,AL ;禁止IR4,IR5的请求
IN AL,21H
AND AL,0CFH
OUT 21H,AL ;撤销对IR4,IR5的禁令用OR和AND命令是为了保持OCW1的其他6位不变。IMR(中断屏蔽寄存器)内容可读写。
(1)8253芯片内部共包含  3 个16 位定时计数器;每个计数器可有  6 种工作方式。
(2)8253工作在方式4和方式5 时,OUT引脚能输出一个CLK周期宽度的负脉冲。
(3)若以8253某计数器的CLK时钟脉冲信号为基础,对其实行N分频后输出,通道工作方式应设置为方式2 。
(4)现欲在程序中利用8253 计数器2 产生的定时间的延时,请写出对8253计数器2的初始化程序以及实现延时的子程序,下面是已知条件:
①选用工作方式0;
②用以计数的时间常数设为:nnnnH;
③ 8253控制字寄存器端口地址为43H,计数器2 端口地址为42H。
$(4).(1)初始化指令序列:
MOV AL,0B0H
OUT 43H,AL
MOV AX,nnnnH
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
(2)延时子程序:
DELAY PROC NEAR
PUSH AX
MOV AL,43H
OUT 61H,AL ;启动计数器2的GATE=1
T:IN AL,62H
TEST AL,10H ;检测OUT2定时是否到
JZ T ;未到,转
POP AX
RET
DELAY ENDP
(5)给定8253的方式控制字为74H,请分析该方式字将对8253作怎样的初始化。
答:74H=01110100B
将计数器1(或通道1)初始化为工作方式2,并确定计数器为16 位二进制计数且设定计数器读写操作是:先低字节,后高字节。
(5) 有一8255A与打印机的接口电路,假设8255A以方式1工作,端口B与打印机数据线相连,打印机的BUSY信号作为PC2的输入,PC1输出作为打印机的STROBE 信号,PC0作为中断请求信号。编写程序(
含初始化),用中断方式将缓冲区100个字符输出到打印机。已知中断向量为2000H:3000H,向量地址为002CH;8255A端口地址为E0H、E2H、E4H、
E6H。
解:程序段为
主程序段:
MOV AL,84H ;A口方式0输出,
OUT 0E6H,AL ; B口方式1输出
PUSH DS ;
XOR AX,AX ;
MOV DS,AX
MOV AX,SEG INTP ;中断服务程序段基地址
MOV [002CH],AX ;写入向量表
MOV AX,OFFSET INTP ;中断服务程序偏移
MOV [002EH],AX ;地址写入向量表
POP DS
MOV SI,OFFSET BUFF ;缓冲区首地址→SI
MOV CX,100 ;数据块长度→BX
LOOP1: STI ;开中断
MOV AL,05H ;置位控制字;
OUT 0E6H,AL ;PC2=1 允许中断
JCXZ ABC
JMP LOOP1 ;数据块未传送结束循环
ABC:RET ;传送完毕返回
中断服务子程序段:
INTP: MOV AL,[SI] ;缓冲区取一个数据
INC SI ;SI数据指针加1
OUT 0E2H,AL ;向B口输出1个数据
DEC CX ;数据长度减一
DEC AL ;AL=04H
OUT 0E6H,AL ; PC2=0,复位禁止中
CLI ;IF=0关中断
IRET ; 中断返回
(6) 在远程通信中为什么要使用调制解调器(MODEM)?
答:由于计算机中二进制数据是由TTL型电平表示的,高于2.4V表示逻辑“1”,低于0.5V 表示逻辑+0,
这种信号在远距离传输时由于受到线路特性的影响,信号会发生衰减和畸变,以致传到接收端时,已经是一个难以分辨的信号。如果从这样的信号中提取数据,会使误码率(传输错误的比率)大大上升。解决这个问题的方法是改变信号传输形式。使用调制解调器。
在发送端,调制器把数字信号变成交变模拟信号(例如,把数码“1”调制成2400Hz的正弦信号,把数码“0”调制成1200Hz的正弦信号)送到传输线路上。在接收端,解调器把模拟信号还原成数字信号,送到数据处理设备,对于高频模拟量来说传输信号,衰减较少,信号不易失真。
(2) D/A转换器的接口方式都有哪些?
答:(1)直接与CPU相连;(2)利用外加三态门输入锁存器与CPU相连;(3)利用并行I/O 芯片与CPU相连。
(3) A/D转换器的接口方式都应考虑什么?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。