微机接口课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3 8086对存储器的管理为什么采用分段的办法
答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩
大对存储器的寻址范围 (1MB,20位地址).若不用分段方法,16位地址只能寻址64KB空间.
2.13 80386内部结构由哪几部分组成简述各部分的作用.
答:80386内部结构由执行部件(EU),存储器管理部件(MMU)和总线接口部件(BIU)三部分组成.EU包括指令预取部件,指令译码部件,控制部件,运算部件及保护检测部件,主要功
能是执行指令.存储器管理部件包括分段部件,分页部件,实现对存储器的分段分页式的管理,将逻辑地址转换成物理地址.总线接口部件作用是进行片外访问:对存储器及I/O接口
的访问,预取指令;另外的作用是进行总线及中断请求的控制
3.1 8086/8088微处理器有哪些寻址方式并写出各种寻址方式的传送指令2条
(源操作数和目的操作数寻址).
答:寻址方式是指计算机在执行指令时寻找操作数的方式.8086/8088微处理器有以下几种
寻址方式:
①立即寻址.操作数(仅限源操作数)直接放在指令中.例如:mov cx,100;mov ah,20h.
②寄存器寻址.操作数在CPU的内部寄存器中.例如:mov es,ax;mov dl,bh.
③直接寻址.指令中直接给出了操作数的偏移地址.例如:mov ax,[3000h];mov buf,100.
④寄存器间接寻址.操作数的偏移地址放在寄存器bp,bx,si,di四个寄存器中的一个
里.例如:mov ax,[si];mov [bx],cx.
⑤寄存器相对寻址.操作数的有效地址为基址寄存器或变址寄存器的内容与指令中指定
的位移量之和.例如:mov ax,cnt[si];mov str[bx],ax.
⑥基址变址寻址.操作数的有效地址是一个基址寄存器和一个变址寄存器的和.例如:
mov ax,[si+bx];mov [bx+di],dx.
⑦相对基址变址寻址.操作数的有效地址为一个基址寄存器,一个变址寄存器的内容与
指令中指定的位移量三者之和.例如:mov ax,cnt[bx][si];mov cnt[bx][si],ax.
3.5 简述堆栈的性质.如果SS=9B9FH,SP=200H,连续执行两条PUSH指令后,
栈顶的物理地址是多少 SS,SP的值是多少再执行一条POP指令后,栈顶的
物理地址又是多少 SS,SP的值又是多少
答:先进后出.
9BBF0H-4=9BBECH
9BBECH+2=9BBEEH
3.11 如果要将AL中的高4位移至低4位,有几种方法请分别写出实现这些方
法的程序段.
答:①循环左移
mov cl,4
rol al,cl
②循环右移
mov cl,4
ror al,cl
③右移
mov cl,4
4.1汇编语言有何特点编写汇编语言源程序时,一般的组成原则是什么
答:汇编语言是计算机能够提供给用户使用的最快速有效的语言,它是以处理器指令系统为基础的低级程序设计语言,采用助记符表示指令操作码,采用标识符表示指令操作数.利用汇编语言编写程序的主要优点是可以直接,有效地控制计算机硬件,因而容易创建代码序列短小,运行快速的可执行程序.在对程序的空间和时间要求高的应用领域,汇编语言的作用是不容置疑和无可替代的.然而,汇编语言作为一种低级语言也存在很多不足,例如,功能有限,编程难度大,依赖处理器指令,这也限制了它的应用范围.
汇编语言源程序由若干语句组成,通常,这些语句可以分为3类,分别是:
(1) 指令语句;(2) 宏指令语句;(3) 伪指令语句.汇编语言也由段组成,8086/8088
按照逻辑段组织程序,具有代码段,数据段,附加段和堆栈段,段与段之间的顺序可以任意排列.需要独立运行的程序必须包含一个代码段,一个程序只有一个起始点,且必须指示程序的起始点.
4.16 编写一个程序,统计寄存器AX中二进制数位"0"的个数,结果以二位十
进制数形式显示到屏幕上.
答:
.MODEL SMALL
.CODE
START: MOV CX,16
MOV BL,0 ;BL中放0的个数
AGN: SHL AX,1 ;数0的个数
JC NEXT
INC BL
NEXT: LOOP AGN
MOV AL,BL
DAA
MOV DL,AL ;显示高位
AND DL,0F0H
MOV CL,4
SHR DL,CL
ADD DL,30H
MOV AH,2
INT 21H
MOV DL,AL ;显示低位
AND DL,0FH
ADD DL,30H
MOV AH,2
INT 21H
MOV DL,0DH ;显示回车
INT 21H
MOV DL,0AH ;显示换行
MOV AH,2
INT 21H
MOV AX,4C00H
INT 21H
END START
4.22 在DAT字节单元中有一个有符号数,判断其正负,若为正数,则在屏幕上显示"+"号;若为负数,则显示"-"号;若是0,则显示0.
答:
DISPLAY MACRO
MOV AH,2
INT 21H
ENDM
.MODEL SMALL
.DATA
DAT DB 9CH
.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV AL,DAT
CMP AL,0
JZ ZERO
JNS POSI
MOV DL,'-'
DISPLAY
STOP: MOV AX,4C00H
INT 21H
ZERO: MOV DL,'0'
DISPLAY
JMP STOP
POSI: MOV DL,'+'
DISPLAY
JMP STOP
END START
4.23 编程求1~400中所有奇数的和,结果以十六进制数形式显示到屏幕上. 答: .MODEL SMALL
.CODE
START: XOR BX,0
MOV CX,200
MOV DX,1