第一章。
1.5 解:
微机主要有存储器、i/o设备和i/o接口、cpu、系统总线、操作系统和应用软件组成,各部分功能如下:
cpu:统一协调和控制系统中的各个部件。
系统总线:传送信息。
存储器:存放程序和数据。
i/o设备:实现微机的输入输出功能。
i/o接口:i/o设备与cpu的桥梁。
操作系统:管理系统所有的软硬件资源。
1.6 解:
系统总线:传递信息的一组公用导线,cpu通过它们与存储器和i/o设备进行信息交换 。
好处:组态灵活、扩展方便
三组信号线:数据总线、地址总线和控制总线 。
其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。第二章。
算术逻辑单元alu、寄存器组和控制器;
总线接口单元biu:管理8088与系统总线的接口负责cpu对接口和外设进行访问。
执行单元eu:负责指令译码、执行和数据运算;
8位cpu在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。而取指令是cpu最为频繁的操作,因此8088的结构和操作方式节省了大量等待时间,比8位cpu节省了时间,提高了性能。
8个8位寄存器:ah、al、bh、bl、ch、cl、dh、dl;
8个16位寄存器:累加器ax、基址寄存器bx、计数器cx、数据寄存器dx、源地址寄存器si、目的地址寄存器di、基址指针bp、堆栈指针sp。
标志用于反映指令执行结果或者控制指令执行形式。
状态标志用于记录程序运行结果的状态信息;控制标志用于控制指令执行的形式。
1)立即数寻址 ax:1200h
2)寄存器寻址 ax:0100h
3)存储器直接寻址 ax:4c2ah
4)寄存器间接寻址 ax:3412h
5)寄存器间接寻址 ax:4c2ah
6)基址变址寻址 ax:7856h
7)相对基址变址寻址 ax:65b7h
1) add dx,bx
2) add al,[bx+si]
3) add word ptr[bx+0b2h],cx
4) add word ptr[0520h],3412h
5)add al,0a0h
运算公式:。商存储在ax,余数存储在dx。
htoasc proc
mov bl,al
mov al,ah
mov bh,10
mul bh
and ax,00ffh
add al,bl
htoend: ret
htoasc endp
第3章 3.1 解:
汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建**序列短小、运行快速的可执行程序。
3.2 解:
(1)完整的汇编语言源程序由段组成。
(2)一个汇编语言源程序可以包含若干个**段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列。
(3)需独立运行的程序必须包含一个**段,并指示程序执行的起始点,一个程序只有一个起始点。
(4)所有的可执行性语句必须位于某一个**段内,说明性语句可根据需要位于任一段内。
(5)通常,程序还需要一个堆栈段。
3.3 解:
3.4 解:
开始位置:用标号指明。
返回dos:利用dos功能调用的4ch子功能来实现。
汇编停止:执行到一条end伪指令时,停止汇编。
3.6 解:
stack segment stack
db 1024(0)
stack ends
data segment
string db 'hello,assembly!',0dh,0ah,‘$
data ends
code segment 'code'
assume cs:code,ds:data,ss:stack
start: mov dx,offset string
mov ah,9
int 21h
code ends
end start
3.13 解:包括逻辑地址和类型两种属性。
3.18 解:
mov ax, bufx
cmp ax, bufy
jae done
mov ax, bufy
done: mov bufz, ax
3.19 解:
.model small
.stack
.databufx dw -7
signx db ?
.code.startup
cmp bufx,0 ;test bufx,80h
jl next ;jnz next
mov signx,0
jmp done
next: mov signx,-1
done: .exit 0
end3.31 解:
(1)用寄存器传递参数:
最简单和常用的参数传递方法是通过寄存器,只要把参数存于约定的寄存器中就可以了。
由于通用寄存器个数有限,这种方法对少量数据可以直接传递数值,而对大量数据只能传递地址。
采用寄存器传递参数,注意带有出口参数的寄存器不能保护和恢复,带有入口参数的寄存器可以保护、也可以不保护,但最好能够保持一致。
(2)用共享变量传递参数。
子程序和主程序使用同一个变量名存取数据就是利用共享变量(全局变量)进行参数传递。
如果变量定义和使用不在同一个源程序中,需要利用public、extren声明。
如果主程序还要利用原来的变量值,则需要保护和恢复。
利用共享变量传递参数,子程序的通用性较差,但特别适合在多个程序段间、尤其在不同的程序模块间传递数据。
(3)用堆栈传递参数。
参数传递还可以通过堆栈这个临时存储区。主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们。
采用堆栈传递参数是程式化的,它是编译程序处理参数传递、以及汇编语言与高级语言混合编程时的常规方法。
3.33 解:
方法1:neg32 proc ;入口参数:位有符号数。
neg ax ;实现0-功能。
neg dx
sbb dx,0 ;这条指令也可以用dec dx代替。
retneg32 endp ;出口参数:位有符号数的补码。
方法2:neg32 proc ;入口参数:位有符号数。
not ax ;实现求反加1
not dx
add ax,1
adc dx,0
retneg32 endp ;出口参数:位有符号数的补码。第七章。
一)内部中断。由808内部执行程序出现异常引起。
1)除法错中断(2)指令中断(3)溢出中断(4)单步中断。
二)外部中断。由808外部提出中断请求引起。
1)不可屏蔽中断。外部通过nmi向cpu提出中断请求,cp执行完当前指令就予以响应。
2)可屏蔽中断。外部通过int信号向cpu发出请求。当if=时,cp在当前指令结束予以响应。
可屏蔽中断向量号由外部提供,处理器产生中断响应周期的同时读取一个字节的中断向量号数据,其他类型的中断向量号包含在指令中或者已经预置。
中断向量表是一种表数据结构。是中断向量号与对应中断服务程序之间的连接表。
rr:中断请求寄存器。存储外界中断请求信号。
sr:中断服务寄存器。存储正在被服务的中断状态。
mr:中断屏蔽寄存器。保存对中断信号的屏蔽状态。
r3有中断请求,ir正在服务,20
第八章。8.1 解:
软件延时、不可编程的硬件定时、可编程的硬件定时。
8.2解:clk时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1
gate门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型
out计数器输出信号——当一次计数过程结束(计数值减为0),out引脚上将产生一个输出信号。
8.3解:8253每个通道有 6 种工作方式可供选择。
若设定某通道为方式0后,其输出引脚为低电平;当写入计数初值(并进入减1计数器) 后通道开始计数, clk 信号端每来一个脉冲减1计数器就减1;当计数器减为0 ,则输出引脚输出高电平,表示计数结束。8253的clk0接1.5mhz的时钟,欲使out0产生频率为300khz的方波信号,则8253的计数值应为 5(=1.
5mhz÷300khz) ,应选用的工作方式是 3
8.4解:1) mov al,50h
微机原理课后习题答案
2.1 8086 cpu 在内部结构上由哪几部分组成?其功能是什么?答 8086 的内部结构 成两部分 总线接口部件biu,负责控制存储器读写。执行部件eu,eu 从指令队列中取出指令并执行。8086 是16 位微处理器,有16 根数据线 20 根地址线,内部。寄存器 运算部件以及内部操作都是按16...
微机课后习题原理答案
1.什么是dma传输?dma传输有什么优点?为什么?所谓直接存储器传送 dma 是指将外设的数据不经过cpu直接送入内存储器,或者,从内存储器不经过cpu直接送往外部设备。使用dma传输之后,每个数据的传输过程不需要cpu参与,在dma控制器的控制下,在一个dma总线周期里完成数据在外部接口和存储单...
微机原理课后习题答案
第1章进制及码元。1 进制转换。129 81h 10000001b 201q 298 12ah 100101010b 452q 1000 3e8h 1111101000b 1750q 5dh 1011101 b 135 q 93 d 3e8h 1111101000 b 1750q 1000 d 35...