微机接口课后习题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档