文档库 最新最全的文档下载
当前位置:文档库 › 16、32位微机原理、汇编语言及接口技术教程课后习题答案

16、32位微机原理、汇编语言及接口技术教程课后习题答案

16、32位微机原理、汇编语言及接口技术教程课后习题答案
16、32位微机原理、汇编语言及接口技术教程课后习题答案

《16/32位微机原理、汇编语言及接口技术教程》

部分习题参考解答

第1章微型计算机系统概述

〔习题1.2〕

什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统?

〔解答〕

通用微处理器:适合较广的使用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。

单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的使用系统。

DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。

嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体使用构成的控制系统,其典型的特点是把计算机直接嵌入到使用系统之中。

〔习题1.5〕

说明微型计算机系统的硬件组成及各部分作用。

〔解答〕

CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

存储器:存储器是存放程序和数据的部件。

外部设备:外部设备是指可和微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口和主机连接。

总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。〔习题1.6〕

什么是总线?微机总线通常有哪3组信号?各组信号的作用是什么?

〔解答〕

总线:传递信息的共用通道,物理上是一组公用导线。

3组信号线:数据总线、地址总线和控制总线。

(1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。

(2)数据总线:传输读写操作的数据信息。

(3)控制总线:协调系统中各部件的操作。

〔习题1.7〕

简答如下概念:

(1)计算机字长

(2)取指-译码-执行周期

(3)ROM-BIOS

(4)中断

(5)ISA总线

〔解答〕

(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。

(2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。

(3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在使用程序中调用BIOS中的许多功能。

(4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。

(5)ISA总线是指IBM PC/AT机上使用的系统总线。

〔习题1.8〕

下列十六进制数表示无符号整数,请转换为十进制形式的真值:

(1)FFH (2)0H (3)5EH (4)EFH

〔解答〕

(1)255

(2)0

(3)94

(4)239

〔习题1.9〕

将下列十进制数真值转换为压缩BCD码:

(1)12 (2)24 (3)68 (4)99

〔解答〕

(1)12H

(2)24H

(3)68H

(4)99H

〔习题1.10〕

将下列压缩BCD码转换为十进制数:

(1)(2)(3)(4)

〔解答〕

(1)91

(2)89

(3)36

(4)90

〔习题1.11〕

将下列十进制数用8位二进制补码表示:

(1)0 (2)127 (3)-127 (4)-57

〔解答〕

(1)0

(2)01111111

(3)10000001

(4)11000111

〔习题1.12〕

数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码0DH和0AH分别对应什么字符?

〔解答〕

数码0~9对应的ASCII码依次是30H~39H。

大写字母A~Z对应的ASCII码依次是:41H~5AH。

小写字母a~z对应的ASCII码依次是:61~7AH。

ASCII码0DH和0AH分别对应的是回车和换行字符。

第2章微处理器指令系统

〔习题2.1〕

微处理器内部具有哪3个基本部分?8088分为哪两大功能部件?其各自的主要功能是什么?这种结构和8位CPU相比为什么能提高其性能?

〔解答〕

算术逻辑单元ALU、寄存器组和控制器;

总线接口单元BIU:管理8088和系统总线的接口负责cpu对接口和外设进行访问执行单元EU:负责指令译码、执行和数据运算;

8位cpu在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。而取指令是cpu最为频繁的操作,因此8088的结构和操作方式节省了大量等待时间,比8位cpu节省了时间,提高了性能。

〔习题2.2〕

说明8088的8个8位和8个16位通用寄存器各是什么?

〔解答〕

8个8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL;

8个16位寄存器:累加器AX、基址寄存器BX、计数器CX、数据寄存器DX、源地

址寄存

器SI、目的地址寄存器DI、基址指针BP、堆栈指针SP。

〔习题2.4〕

举例说明CF和OF标志的差异。

〔解答〕

例:有运算:3AH+7CH=B6H

作为无符号数运算,没有进位,CF=0;

作为有符号数运算,结果超出范围,OF=1.

〔习题2.5〕

什么是8088中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?1MB最多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达:

⑴FFFFH:0 ⑵40H:17H ⑶2000H:4500H ⑷B821H:4567H

〔解答〕

物理地址:物理存储单元具有的一个唯一的20位编号

逻辑地址:在8088内部和用户编程时,所采用的“段地址:偏移地址”形式

将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址

1MB最多能分成1MB÷16B=220÷24=216个逻辑段,因为每隔16个字节单元就可以开始一个逻辑段

⑴FFFFH:0=FFFF0H

⑵40H:17H=00417H

⑶2000H:4500H=24500H

⑷B821H:4567H=BC777H

〔习题2.8〕

已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12H、34H、56H、78H,[21200H]~[21203H]依次存放2AH、4CH、B7H、65H,说明下列每条指令执行完后AX寄存器的内容,以及源操作数的寻址方式?

⑴mov ax,1200h

⑵mov ax,bx

⑶mov ax,[1200h]

⑷mov ax,[bx]

⑸mov ax,[bx+1100h]

⑹mov ax,[bx+si]

⑺mov ax,[bx][si+1100h]

〔解答〕

⑴mov ax,1200h ;AX=1200H,立即数寻址

⑵mov ax,bx ;AX=0100H,寄存器寻址

⑶mov ax,[1200h] ;AX=4C2AH,直接寻址

⑷mov ax,[bx] ;AX=3412H,寄存器间接寻址

⑸mov ax,[bx+1100h] ;AX=4C2AH,寄存器相对寻址

⑹mov ax,[bx+si] ;AX=7856H,基址变址寻址

⑺mov ax,[bx][si+1100h] ;AX=65B7H,相对基址变址寻址

〔习题2.9〕

说明下面各条指令的具体错误原因

⑴mov cx,dl ⑵mov ip,ax

⑶mov es,1234h ⑷mov es,ds

⑸mov al,300 ⑹mov [sp],ax

⑺mov ax,bx+di ⑻mov 20h,ah

〔解答〕

(1)cx为字寄存器,dl为字节寄存器,类型不匹配。

(2)mov指令的目的操作数只能是寄存器或者主存单元,ip是指针。

(3)不允许立即数到段寄存器的传送。

(4)不允许段寄存器之间的直接传送。

(5)数据溢出。

(6)sp不能用于寄存器间接寻址。

(7)格式不对。应为:mov ax,[bx+di]

(8)mov指令的操作数不能是立即数。

〔习题2.10〕

已知数字0~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。

lea bx,table

mov al,8

xlat

〔解答〕

lea bx,table ;获取table的首地址,BX=200H

mov al,8 ;传送欲转换的数字,AL=8

xlat ;转换为格雷码,AL=12H

〔习题2.11〕

给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:mov al,89h

add al,al

add al,9dh

cmp al,0bch

sub al,al

dec al

inc al

〔解答〕

mov al,89h ;AL=89H CF ZF SF OF PF

add al,al ;AL=12H 1 0 0 1 1

add al,9dh ;AL=0AFH 0 0 1 0 1

cmp al,0bch ;AL=0AFH 1 0 1 0 1

sub al,al ;AL=00H 0 1 0 0 1

dec al ;AL=0FFH 0 0 1 0 1

inc al ;AL=00H 0 1 0 0 1

〔习题2.12〕

请分别用一条汇编语言指令完成如下功能:

⑴把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

⑵用寄存器BX和SI的基址变址寻址方式把存储器的一个字节和AL寄存器的内容相加,并把结果送到AL中。

⑶用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。

⑷用位移量为0520H的直接寻址方式把存储器中的一个字和数3412H相加,并把结果送回该存储单元中。

⑸把数0A0H和AL寄存器的内容相加,并把结果送回AL中

〔解答〕

⑴add dx,bx

⑵add al,[bx+si]

⑶add [bx+0b2h],cx

⑷add word ptr [0520h],3412h

⑸add al,0a0h〔习题2.13〕

设有4个16位带符号数,分别装在X、Y、Z、V存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。

mov ax,X

imul Y

mov cx,ax

mox bx,dx

mov ax,Z

cwd

add cx,ax

adc bx,dx

sub cx,540

sbb bx,0

cwd

sub ax,cx

sbb dx,bx

idiv X

〔解答〕

(V-(X*Y+Z-540)/X

〔习题2.14〕

给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。

mov ax,1470h

and ax,ax

or ax,ax

xor ax,ax

not ax

test ax,0f0f0h

〔解答〕

mov ax,1470h ;AX=1470H CF ZF SF OF PF

and ax,ax ;AX=1470H 0 0 0 0 0

or ax,ax ;AX=1470H 0 0 0 0 0

xor ax,ax ;AX=0000H 0 1 0 0 1

not ax ;AX=FFFFH 0 1 0 0 1

test ax,0f0f0h ;AX=FFFFH 0 0 1 0 1

〔习题2.15〕

控制转移类指令中有哪三种寻址方式?

〔解答〕

相对寻址、直接寻址、间接寻址(还可以分成寄存器间接、存储器间接)

〔习题2.16〕

假设DS=2000H、BX=1256H、TABLE的偏移地址是20A1H,物理地址232F7H处存放3280H,试问执行下列段内间接寻址的转移指令后,转移的有效地址是什么?

⑴JMP BX

⑵JMP TABLE[BX]

〔解答〕

(1)1256H

(2)3280H

〔习题2.17〕

判断下列程序段跳转的条件

⑴xor ax,1e1eh

⑵test al,10000001b

jnz there

⑶cmp cx,64h

jb there

〔解答〕

⑴AX=1e1eh(异或后为0)⑵AL的D0或D7至少有一位为1

⑶CX(无符号数)<64h〔习题2.18〕

如下是一段软件延时程序,请问NOP指令执行了多少次?

xor cx,cx

delay:nop

loop delay

〔解答〕

216次

〔习题2.20〕

按照下列要求,编写相应的程序段:

⑴由string指示起始地址的主存单元中存放有一个字符串(长度大于6),把该字符串中的第1个和第6个字符(字节量)传送给DX寄存器。

⑵有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程序段完成DX.AX←buffer1-buffer2功能。

⑶编写一个程序段,在DX高4位全为0时,使AX=0;否则使AX=-1。

⑷把DX.AX中的双字右移4位

⑸有一个100个字节元素的数组,其首地址为array,将每个元素减1(不考虑溢出或借位)存于原处。

〔解答〕

(1)

mov dl,string[1]

mov dh,string[6]

(2)

mov ax, word ptr buffer1

sub ax, word ptr buffer2

; 先减低16位

mov dx, word ptr buffer1+2

sbb dx, word ptr buffer2+2

; 后减高16位,需减低16位的借位

(3)

test dx,0f000h

jz next

mov ax,-1

jmp done

next: mov ax,0

done: …

(4)

mov cx,4

again: shr dx,1 ; 右移一位,移出的低位进入CF标志

rcr ax,1 ; 将CF移进AX高位,同时实现AX右移

loop again ; 循环4次,实现4位右移

(5)

mov cx,100

mov bx,0

again: sub array[bx],1

inc bx

loop again

第3章汇编语言程序设计

〔习题3.9〕

给出下列语句中,指令立即数(数值表达式)的值:

⑴mov al,23h AND 45h OR 67h

⑵mov ax,1234h/16+10h

⑶mov ax,23h SHL 4

⑷mov al,’a’ AND (NOT(’a’-’A’))

⑸mov ax,(76543 LT 32768) XOR 7654h

〔解答〕

(1)al=67h

(2)ax=133h,dx=4h

(3)ax=0230h

(4)al=41h

(5)ax=7654h

〔习题3.10〕

画图说明下列语句分配的存储空间及初始化的数据值:

⑴byte_var db ’ABC’,10,10h,’EF’,3 dup(-1,?,3 dup(4))

⑵word_var dw 10h,-5,3 dup(?)

〔解答〕

(1)从低地址到高地址,各个字节依次是:

41h 42h 43h 0ah 10h 45h 46h ffh - 04h 04h 04h ffh - 04h 04h 04h ffh - 04h 04h 04h

(2)从低地址到高地址,各个字节依次是:

10h 0 FBh FFh - - - - - -

其中“-”表示无初值,实际上汇编程序会填入0。

〔习题3.11〕

请设置一个数据段,按照如下要求定义变量:

⑴my1b为字符串变量,表示字符串“Personal Computer”

⑵my2b为用十进制数表示的字节变量,这个数的大小为20

⑶my3b为用十六进制数表示的字节变量,这个数的大小为20

⑷my4b为用二进制数表示的字节变量,这个数的大小为20

⑸my5w为20个未赋值的字变量

⑹my6c为100的符号常量

⑺my7c为字符串常量,代替字符串“Personal Computer”

〔解答〕

my1b db 'Personal Computer'

my2b db 20

my3b db 14h

my4b db 00010100b

my5w dw 20 dup(?)

my6c = 100

my7c equ

〔习题3.15〕

假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的具体错误原因。

⑴mov byte ptr [bx],1000

⑵mov bx,offset myword[si]

⑶cmp mybyte1,mybyte2

⑷mov mybyte1,al+1

⑸sub al,myword

⑹jnz myword

〔解答〕

(1) 1000 超过一个字节所能表达的最大整数

(2)SI 应为偶数

(3)两个内存单元不能直接运算

(4)不能使用al+1,应改为[al+1]

(5)源操作数和目的操作数类型不匹配

(6)条件转移指令后面应接标号,而不是变量

〔习题3.16〕

编写一个程序,把从键盘输入的一个小写字母用大写字母显示出来。〔解答〕

mov ah,1 ;只允许输入小写字母

int 21h

sub al,20h ;转换为大写字母

mov dl,al

mov ah,2

int 21h ;显示

第4章微机总线

〔习题4.1〕

微机总线的信号线包括______、______、_______、以及电源和地线。微机系统可以将总线划分为三层(类),它们是______、______和_______。

〔解答〕

数据总线、地址总线、控制总线

芯片总线、内总线、外总线

〔习题4.2〕

占用总线进行数据传输,一般需要经过总线请求和仲裁、__________、__________和结束4个阶段。

〔解答〕

寻址,数据传送

〔习题4.7〕

执行一条指令所需要的时间被称为______周期,而总线周期指的是______,8088基本的总线周期由______个T组成。如果8088的CLK引脚接5MHz的时钟信号,那么每个T 状态的持续时间为______。

〔解答〕

指令

CPU通过总线操作和外界(存储器和I/O端口)进行一次数据交换的过程(时间)4

200ns

〔习题4.8〕

请解释8088以下引脚信号:CLK、A19/S6~A16/S3、A15~A8、AD7~AD0、IO M

/、RD、WR、ALE的含义,并画出它们在存储器写总线周期中的波形示意。

〔解答〕

CLK:CPU时钟信号

A19/S6~A16/S3:地址信号A19~A16和状态信号S6~S3分时复用信号

A15~A8:地址信号A15~A8

AD7~AD0:地址信号A7~A0和数据信号D7~D0分时复用信号

IO/M*:I/O接口和存储器操作区别信号

RD*:读控制信号,WR*:写控制信号

ALE:地址锁存信号

〔习题4.9〕

在8088的工作过程中,什么情况下会产生T W?具体发生在什么时刻?

〔解答〕

当8088进行读写存储器或I/O接口时,如果存储器或I/O接口无法满足CPU的读写时序(来不及提供或读取数据时),需要CPU插入等待状态Tw。

在读写总线周期的T3和T4之间插入Tw。

〔习题4.11〕

在8088系统中,读取指令“ADD [2000H], AX”(指令长度为3个字节)和执行该指令各需要几个总线周期?它们各是什么样的总线周期?

〔解答〕

8088每个总线周期只能读写一个字节数据。所以读取指令长度为3个字节的指令“ADD [2000H], AX”需要3 个时钟周期,执行时需要2 个时钟周期。

读取指令是存储器读总线周期,执行时是存储器写总线周期。

第5章主存储器

〔习题5.3〕

类似处理器总线,存储器芯片也分成数据、地址和控制3类引脚。以存储结构为32K ×8的SRAM 62256为例,该芯片应有________个数据引脚、________个地址引脚,3个典型的控制引脚分别是________、________和________。

〔解答〕

8

15

片选

输出允许

写入允许

〔习题5.7〕

EEPROM的擦写和闪存的擦写有什么不同?以AT28C040或AT29C512为例,说明常用的两种判断擦写是否完成的方法,并估算两者完成整个芯片编程的最快时间。

〔解答〕

AT28C040最快编程时间:

(512×1024/256)×10ms=20480ms≈20s

AT29C512最快编程时间:

512扇区×(10ms+128字节×(150×10-3+90×10-6)ms)≈14950.4ms≈15s

〔习题5.8〕

SRAM芯片的片选引脚有什么用途?假设在8088微处理器系统中,地址信号A19~A15输出01011时译码电路产生一个有效的片选信号,则该片选信号将占有多少主存容量?其地址范围是什么?

〔解答〕

主存容量:215=32KB,因低位地址信号的个数是15个。

地址范围:010000000 ~01111111,即58000H~5FFFFH。

〔习题5.11〕

什么是存储器芯片连接中的“位扩展”和“字扩展”?采用DRAM 21256(256K×1)构成512KB的RAM存储模块,需要多少个芯片,怎样进行位扩展和字扩展?

〔解答〕

位扩充:存储器芯片数据引脚个数小于主机数据信号个数时,利用多个存储器芯片在数据“位”方向的扩充。

字扩充:当一个存储器芯片不能满足系统存储容量时,利用多个存储器芯片在“数据字”方向的扩充。

组成512KB存储模块,用DRAM 21256(256K×1)需要16个芯片;位扩充8个,

字扩充2组。

〔习题5.13〕

给出图5-28中4个存储器芯片各自占用的地址范围。如果采用部分译码,要指出重复的地址范围。

〔解答〕

芯片号A19A18 A17A16 A15~A0 地址范围

1 2 3 4 00

01

11

11

××

××

×0

×1

全0~全1

全0~全1

全0~全1

全0~全1

00000H~3FFFFH

40000H~7FFFFH

C0000H~CFFFFH,重复地址:E0000H~EFFFFH

D0000H~DFFFFH,重复地址:F0000H~FFFFFH

第6章输入输出接口

〔习题6.1〕

典型的I/O接口电路通常有哪3类可编程寄存器?各自的作用是什么?

〔解答〕

(1)数据寄存器:保存外设给CPU和CPU发往外设的数据

(2)状态寄存器:保存外设或接口电路的状态

(3)控制寄存器:保存CPU给外设或接口电路的命令〔习题6.2〕

I/O端口和存储器地址常有__????___?和__????___?两种编排方式,8088/8086处理器支持后者,设计有专门的I/O指令。其中指令IN是将数据从__????___?传输到__????___?,执行该指令时8088/8086处理器引脚产生__????___?总线周期。指令“OUT DX, AL”的目的操作数是__????___?寻址方式,源操作数是__????___?寻址方式。

〔解答〕

(I/O端口和存储器地址)统一编址

(I/O端口和存储器地址)独立编址

外设

处理器

I/O读

(I/O端口的DX)寄存器间接

寄存器

〔习题6.5〕

有一个查询输入接口电路类似图6-9,但其数据端口为8F40H、状态端口为8F42H。从状态端口最低位可以获知输入设备是否准备好一个字节的数据:D0=1表示准备好,D0=0说明没准备好。不考虑查询超时,编程从输入设备读取100个字节保存到INBUF缓冲区。

〔解答〕

mov bx,offset inbuf

mov cx,100

again: mov dx,8f42h

status: in al,dx ;查询一次

test al,01h

jz status

mov dx,08f40h

in al,dx ;输入一个字节

mov [bx],al

inc bx

loop again ;循环,输入100个字节

〔习题6.10〕

查询、中断和DMA传送是微机中常用的外设数据交换方式,请说明各自的特点。〔解答〕

第7章中断控制接口

〔习题7.2〕

8088中断向量表的作用是什么?

〔解答〕

〔习题7.4〕

8259A中IRR、IMR和ISR三个寄存器的作用是什么?

〔解答〕

中断请求寄存器IRR:保存8条外界中断请求信号IR0~IR7的请求状态,Di位为1表示IRi引脚有中断请求;为0表示无请求。

中断服务寄存器ISR:保存正在被8259A服务着的中断状态,Di位为1表示IRi中断正在服务中;为0表示没有被服务。

中断屏蔽寄存器IMR:保存对中断请求信号IR的屏蔽状态,Di位为1表示IRi中断被屏蔽(禁止);为0表示允许。

〔习题7.5〕

PC/XT机的ROM-BIOS对8259A的初始化程序如下:

mov al,13h

out 20h,al

mov al,08h

out 21h,al

mov al,09h

out 21h,al

请说明其设定的工作方式。

〔解答〕

〔习题7.6〕

某时刻8259A的IRR内容是08H,说明______。某时刻8259A的ISR内容是08H,说明_______。在两片8259A级连的中断电路中,主片的第5级IR5作为从片的中断请求输入,则初始化主、从片时,ICW3的控制字分别是_______和_______。

〔解答〕

IR3引脚有中断请求

IR3正在被中断服务,其它不被处理

20H和05H。

〔习题7.11〕

下段程序读出的是8259A的哪个寄存器?

mov al,0bh

out 20h,al

nop

in al,20h

〔解答〕

读取中断服务寄存器ISR的内容。

因为执行输入指令(A0=0)之前,执行的输出指令,写入了OCW3(D4D3=01),其中P RR RIS(D2D1D0)=011指明随后读出ISR。

不是查询字。

第8章定时计数控制接口

〔习题8.2〕

8253每个计数通道和外设接口有哪些信号线,每个信号的用途是什么?

〔解答〕

CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1

GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号

〔习题8.3〕

8253每个通道有___种工作方式可供选择。若设定某通道为方式0后,其输出引脚为___电平;当___后通道开始计数,___信号端每来一个脉冲___就减1;当___,则输出引脚输出___电平,表示计数结束。8253的CLK0接1.5MHz的时钟,欲使OUT0产生频率为300KHz的方波信号,则8253的计数值应为___,应选用的工作方式是___。

〔解答〕

6

写入计数初值(并进入减1计数器)

CLK

减1计数器

计数器减为0

5(=1.5MHz÷300KHz)

3

〔习题8.4〕

试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字I/O地址依次为204H~207H。

⑴使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。

⑵使计数器0工作在方式1,按BCD码计数,计数值为3000。

⑶使计数器2工作在方式2,计数值为02F0H。

〔解答〕

(1)mov al,50h

mov dx,207h

out dx,al

mov al,128 ;80h

mov dx,205h

32位汇编语言程序设计上机指导

《32位汇编语言程序设计》上机指导 《32位汇编语言程序设计》上机指导 (1) 实验一建立windows环境下32位汇编语言开发环境 (2) 实验2 指令格式与寻址方式 (4) 实验3 数据操作编程 (5) 实验4 分支和循环程序设计 (6) 实验5 子程序设计 (8) 实验6 输入输出程序设计 (9) 实验7:字符串操作 (10) 实验8:宏结构设计 (11) 实验9:混合编程 (12) Windows环境下32位汇编语言开发环境的建立 (13) 调试程序Windbg (19) 宏汇编命令ML和连接命令LINK常用参数速查 (22) 输入输出宏命令 (23)

实验1 建立windows环境下32位汇编语言开发环境 实验目的:建立windows环境下32位汇编语言开发环境,并熟悉它的使用方法。 实验要求:(1)建立windows环境下32位汇编语言开发环境; (2)熟悉自己建立的开发环境的使用方法; (3)熟悉调试工具的使用 实验内容:(1)定制masm32集成开发环境,使之符合教学要求。 (2)分别建立汇编,连接,和汇编&连接批处理命令,能够生成包含调试信息的目标文件,列表文件,以及能够进行调试的可执行WIN32控制台程序。 (3)建立16位和32位汇编语言框架程序。 (4)在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。 实验步骤: 1、安装开发环境 运行《32位汇编语言程序设计》教材配套开发环境软件“开发工具.exe”,将MASM32安装在根目录下(例如:c:\masm32)。接着运行Exmasm32.exe,将其它软件安装在masm32的目录下(例如:c:\masm32)。建立masm32文件夹中的qEditor.exe和Windbg.exe桌面快捷方式。 2、定制开发环境 修改文件msm32\bin\buildc.bat中的内容,使得执行Project\Console Assemble & Link后能够汇编连接可调试的32位控制台应用程序,同时生成列表文件。 汇编命令改为: \masm32\bin\ml /c /coff /Fl /Zi “%1.asm” 连接命令改为: \masm32\bin\link /debug “%1.obj” 1、建立汇编连接16位应用程序的批处理文件make16.bat 建立汇编连接16位应用程序的批处理文件make16.bat,可以用于汇编连接可调试的实模式应用程序,同时生成列表文件。 make16.bat的主要内容: \masm32\bin\ml /c /Fl /Zi "%1.asm" \masm32\bin\Link16 /debug "%1.obj" 4、建立适合在定制开发环境下使用的32位应用程序框架 .386 ;必须是第一条非注释语句,说明这是一个32位应用程序 .model flat, stdcall ;定义程序的存储模式(32位应用程序中必须采用flat) include \masm32\include\io32.inc ;可选,如果在程序中使用作者自定义的宏命 令需要这一句 .stack 4096 ;定义堆栈段 .data ;定义数据段 ……;数据定义 .code ;定义代码段 start: ;程序起始点 ……;程序代码 ret ;程序结束点,返回WINDOWS ……;子程序代码 end start ;汇编结束

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

微机原理与接口技术题(答案)

自检试题1 一、填空(共10分,每空1分) 1. 反码0D5H所表示的十进制数为42H ,补码7AH所表示的十进制数为+122 。 2. 设SP=0100H, SS=2000H, 压入10个16位二进制数后,栈顶的SP值和物理地址分别为 __00ECH_和200ECH 。 3. 80x86 CPU 可以访问的I/O空间共有2^16B=64KB ,采用独立编址的方法。 4. CPU 与外设之间数据传输控制方式分为直接传输(无条件传输)、查询传输(有条件传输)、中断传输、DMA传输等4种方式。 二、回答问题(共10分) 1.图9-1为某接口的地址译码电路,该I/O接口为何种类型?占有多少有效地址?写出所占有的I/O地址范围。(4分) 答:因为I/O读信号IOR参加译码,所以为输入接口。该接口占有2^9=512个地址,地址范围为EA00H~EBFFH。 2.请简述数据总线与地址总线各自具有的特点,如果某CPU的数据总线与地址总线采用同一组信号线可采用什么方法分离开。(6分) 答:数据总线的特点为双向三态,其总线位数决定CPU与外部一次传输数据的位数。地址总线的特点为单项三态,其总线位数决定CPU对外部寻址的范围。如果某CPU的数据总线与地址总线采用同一组信号线,可以利用锁存器将地址总线分离出来。 三、分析程序(共20分) 1.设AL=05AH,BL=7BH,当执行ADD AL,BL指令后各状态位的状态为: OF=__1__,CF=__0__,SF=__1__,ZF=__0___,AF=__1__,PF=__0__。(6分) 2.阅读下列程序段,内存数据是如何存放的?(如图9-2所示)(6分) DATASEGMENT DA1DB-5,2DUP(45),’AB’ DATAENDS DATA: DA1 FBH DATA: DA1+1 2DH DATA: DA1+2 2DH

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

基本演示汇编语言实验操作方法

基本演示1汇编语言实验操作方法 一.实验的基本方法(MASM宏汇编子目录下) 1.在DEBUG下运行汇编指令或简单小程序 在DEBUG提示符下,用汇编命令A:输入汇编指令或简单小程序,用单步命令T 或全程命令G来执行,并检查执行中间结果与最后结果。 2.标准汇编程序上机方法 A.建立ASM文件,用https://www.wendangku.net/doc/db5753473.html,全屏幕编辑文件或其他编辑文件建立扩展名为ASM的源程序. B.用MASM(或ASM)产生扩展名为OBJ目标文件。 C.用LINK产生扩展名为EXE可执行文件。 D.在DEBUG下,把文件调入内存,调试程序。 E.在DOS下可直接执行扩展名为EXE的文件。(详细过程) 二.汇编语言的工作环境. A.硬件环境 IBM-PC及其系列机 内存256K字节以上 外存:硬盘或至少一个软驱 CPU:80586以上 显示器:单色或彩色显示器 键盘:标准ASCII码键盘 B.软件环境 编缉程序:https://www.wendangku.net/doc/db5753473.html,或其他编缉程序 汇编程序:MASM.EXE或ASM.EXE 连接程序:LINK.EXE 调试程序:https://www.wendangku.net/doc/db5753473.html,或DEBUG.EXE

A命令 在命令A后跟地址,按回车输入程序,可以连续输入,当按下回车后,就退回到DEBUG下。 T命令

T命令为跟踪命令。 G命令 该地址指定了运行的起始地址,如不指定则从当前的cs:ip开始运行EDIT.EXE

怎样生成.exe文件

生成.obj文件

基本演示2DEBUG命令的使用 A.程序调用命令 C>DEBUG[D:][PATH][FILENAME[.EXT]][PARM1][PARM2] 其中,文件名是被调试文件的名字。如未键入文件名。可用DEBUG命令N和L 把需要文件装入存储器后再调试。D指定驱动器,PATH为路径,FILENAME为文件名,PARM为命令参数 B.显示存储单元命令 -D[ADDRESS]或;ADDRESS地址 -D[RANGE];RANGE范围 C.修改存储单元内容命令 -E ADDRESS[LIST] D.检查和修改寄存器内容命令 -R[REGISTER NAME];Register name寄存器名字 E.汇编命令 -A[ADDRESS] F.跟踪命令 -T[=ADDRESS][VALUE];Value变量值 G.运行命令 -G[=ADDRESS][ADDRESS2[ADDRESS3] H.反汇编命令 -U[ADDRESS] -U[RANGE]

微机原理与接口技术_试题与答案

微机原理与接口技术试题 微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤x ≤2n -1 C. -2n -1 ≤x ≤2n-1 D. -2n < x ≤2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发(2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是(2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H 四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( ) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求

使用VS2015调试罗云彬的32位汇编语言源代码

使用VisualStudio2015 调试罗云彬的32位汇编语言附属光盘中的汇编源代码 (第三版琢石成器版) 整理:太虚野老

本文介绍使用Visual Studio 2015 调试汇编源代码。以罗云彬的《Windows环境下32位汇编语言程序设计(最新琢石成器版)》附属光盘中的汇编源代码为例。 1.创建ASM项目 打开Visual Studio 2015,选择新建一个VC++项目。选择“空项目”,输入项目名称,点确定。 在工程中的“源文件”文件夹新建“.asm”类型的源文件: 在这里会发现不能新建“.asm”类型的文件,选择“C++文件(.cpp)”,然后在文件结尾加上扩展名.asm。

现在项目和源文件都有了,但是这毕竟是个VC++的空项目,VC++项目在默认情况下是不会编译.asm类型的源文件的。所以你点击“生成解决方案”发现根本什么都没有生成,Debug文件夹是空的,就会出现这样的现象。 事实上在创建源文件时,可以使用任意格式的源文件。例如使用文本文件:

要经过下面两步设置。 第一步,右击解决方案选择“生成依赖项”→“生成自定义”: 把“MASM”那项勾上,确定。

第二步,右击你创建的.asm源文件,选择属性,在配置属性->常规->项类型下拉菜单中选择“Microsoft Macro Assembler”。这样就指定了你源文件的类型是.asm格式的,如果不指定默认就是按照.cpp也就是c++语法去编译自然是行不通的。 设置这些之后还要去修改项目配置,这样程序才能得以运行。这包括是否连接其他的库文件(.lib)、是否调试、子系统的原型环境。这些全部都在项目属性中设置。打开项目属性的方法:你可以在刚才右键点“生成自定义”那里选择最下面的属性,也可以在项目选项卡里找到“属性”一项然后选择。 选择配置属性->连接器。 把调试->生成调试信息改为“是(/Debug)”。在Visual Studio 2015中默认是“true”; 把系统->子系统改为“控制台(/SUBSYSTEM:CONSOLE)”:

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与接口技术试题库(含答案)

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

微机原理与接口技术模拟题及答案

微机原理与接口技术模拟题一 一.填空题 1.二进制数11010011B转换为十六进制数是,转换为十进制数是。 2.十六进制数2345H转换为二进制数是,转换为十进制数是。 3.十进制数45D转换为组合BCD码是,转换为非组合BCD码是。 4.十进制数45D对应的8位补码是。 5.十进制数-58D对应的8位补码是。 二.单选题 1.一个字符的基本ASCII码的值占用位。 A.6 B.7 C.8 D.9 2.将高级语言的程序翻译成为机器语言代码程序的实用程序是。 A.编译程序B.汇编程序C.解释程序D.目标程序3.指令“MOV ES:[2000H],AX”中,目的的操作数的寻址方式是。 A.立即寻址B.寄存器寻址C.存储器直接寻址D.寄存器间接寻址4.下列寄存器不能存放操作数有效地址的为。 A.SI B.DI C.BX D.DX 5.CPU发出的访问存储器的地址是。 A.物理地址B.偏移地址C.逻辑地址D.段地址三.解答题 1.I/O接口与CPU的主要连线与外部设备的主要连线是什么称谓?各有什么功能? 2.简述8088与8086在内部结构与外部引脚的主要区别是什么? 3.INT n的功能调用与过程(子程序)调用有什么不同? 4.写出下列存储器地址的段地址、偏移地址与物理地址。 (1)2314:0035 (2)1FD0:000A 四.计算题 计算下列各题,请写出计算过程,解释为什么?(不解释或解释错误无分) 1.计算3AC8H + 91FDH,并说明各状态标志位的值是什么? 2.请按8421BCD码的修正法则,计算5479H + 4587H。 五.画图题 要求用2K ′ 4的存储芯片,构成4K容量的存储容量,要求地址从1800H开始。画出存储器与微处理器的连接图;并说明各组存储区的地址范围。(设:地址总线为16根,数据总线为8根,要求存储器地址连续) 六.编程题 1.用8086汇编语言编辑一程序段,求AX中“0”的个数,并存储在BX中。 2.用8086汇编语言编辑一完整程序,求8AAF32H+000BA84H的和。

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机原理与接口技术考试试题及答案(综合 必看)

命题教师审核人:适用年级专业: 一、单项选择(在备选答案中选出一个正确答案,并将其号码填 在题干后的括号内。每题2分,共30分) 1 .某微机最大可寻址的内存空间为16MB,其CPU地 址总线至少应有()条。 A. 32 B. 16 C. 20 D. 24 2 .用8088CPU组成的PC机数据线是()。 A. 8条单向线 B. 16条单向线 C. 8条双向线 D. 16条双向线 3 .微处理器系统采用存储器映像方式编址时存储单元与I/O端口是通过() 来区分的。 A. 不同的地址编码 B. 不同的读控制逻辑 C. 不同的写控制逻辑 D. 专用I/O指令 4 .要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为()。A. 80H B. 28H C. E8H D. 01H 5 .在8086 环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令字为()。 A. ICW1,ICW2,ICW3 B. ICW1,ICW2,ICW4 C. ICW1,ICW3,ICW4 D. ICW2,ICW3,ICW4 6 .6166为2Kx8位的SRAM芯片,它的地址线条数为()。 A. 11 B. 12 C. 13 D. 14 7 .在计算机系统中,可用于传送中断请求和中断相应信号的是()。 A. 地址总线 B. 数据总线 C. 控制总线 D. 都不对 8 .段寄存器装入2300H,该段的结束地址是()。 A. 32FFFH B. 23000H C. 33FFFH D. 33000H 9 .在进入DMA工作方式之前,DMA控制器当作CPU总线上的一个()。

STM32汇编语言 左右跑马灯

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;; STM32 LED左右跑马灯实验 ;;8个LED接在PE口(PE[0..7]) ;;LED先向右跑,跑完再向左跑,不停左右跑动 ;;2011-5-3 by 追梦;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BIT6 EQU 0X00000040 GPIOE EQU 0X40011800 ;GPIOE 地址 GPIOE_CRL EQU 0X40011800 ;低配置寄存器 GPIOE_CRH EQU 0X40011804 ;高配置寄存器 GPIOE_ODR EQU 0X4001180C ;输出,偏移地址0Ch GPIOE_BSRR EQU 0X40011810 ;低置位,高清除偏移地址10h GPIOE_BRR EQU 0X40011814 ;清除,偏移地址14h IOPEEN EQU BIT6 ;GPIOE使能位 RCC_APB2ENR EQU 0X40021018 STACK_TOP EQU 0X20002000 AREA RESET,CODE,READONLY DCD STACK_TOP ;MSP主堆栈指针 DCD START ;复位,PC初始值 ENTRY;指示开始执行 START LDR R1,=RCC_APB2ENR LDR R0,[R1] ;读 LDR R2,=IOPEEN ORR R0,R2 ;改 STR R0,[R1] ;写,使能GPIOE时钟 ;PE[0..7] 8个引脚均设置成推挽式输出 LDR R0,=0x33333333 LDR R1,=GPIOE_CRL STR R0,[R1] LDR R1,=GPIOE_ODR LDR R0,=0X7F ;初始时最高位点亮 MOV R2,#0 LOOP STR R0,[R1] PUSH {R0} MOV R0,#300 BL.W DELAY_NMS ;延时300ms POP {R0} ADD R2,#1

微机原理与接口技术考试试题及答案

《微机原理与接口技术》课程期末考试试卷(A卷,考试) (南京工程学院2010届) 一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题干后的括号内。每题2分,共30分) 1 .某微机最大可寻址的内存空间为16MB,其CPU地址总线至少应有()条。 A. 32 B. 16 C. 20 D. 24 2 .用8088CPU组成的PC机数据线是()。 A. 8条单向线 B. 16条单向线 C. 8条双向线 D. 16条双向线 3 .微处理器系统采用存储器映像方式编址时存储单元与I/O端口是通过()来 区分的。 A. 不同的地址编码 B. 不同的读控制逻辑 C. 不同的写控制逻辑 D. 专用I/O指令 4 .要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为()。 A. 80H B. 28H C. E8H D. 01H

5 .在8086环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令字 为()。 A. ICW1,ICW2,ICW3 B. ICW1,ICW2,ICW4 C. ICW1,ICW3,ICW4 D. ICW2,ICW3,ICW4 6 .6166为2Kx8位的SRAM芯片,它的地址线条数为()。 A. 11 B. 12 C. 13 D. 14 7 .在计算机系统中,可用于传送中断请求和中断相应信号的是()。 A. 地址总线 B. 数据总线 C. 控制总线 D. 都不对 8 .段寄存器装入2300H,该段的最大结束地址是()。 A. 32FFFH B. 23000H C. 33FFFH D. 33000H 9 .在进入DMA工作方式之前,DMA控制器当作CPU总线上的一个()。 A. I/O设备 B. I/O接口 C. 主处理器 D. 逻辑高 10 .在8086宏汇编过程中不产生指令码,只用来指示汇编程序如何汇编的指令是()。 A. 汇编指令 B. 宏指令 C. 机器指令 D. 伪指令

16、32位微机原理、汇编语言与接口技术教程课后复习题答案

《16/32位微机原理、汇编语言及接口技术教程》 部分习题参考解答 第1章微型计算机系统概述 〔习题1.2〕 什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统? 〔解答〕 通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。 单片机:是指通常用于控制领域的微处理器芯片,其部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。 DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,部集成有高速乘法器,能够进行快速乘法和加法运算。 嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。 〔习题1.5〕 说明微型计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。

总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题1.6〕 什么是总线?微机总线通常有哪3组信号?各组信号的作用是什么? 〔解答〕 总线:传递信息的共用通道,物理上是一组公用导线。 3组信号线:数据总线、地址总线和控制总线。 (1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。 (2)数据总线:传输读写操作的数据信息。 (3)控制总线:协调系统中各部件的操作。 〔习题1.7〕 简答如下概念: (1)计算机字长 (2)取指-译码-执行周期 (3)ROM-BIOS (4)中断 (5)ISA总线 〔解答〕 (1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。 (2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 (3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 (4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。 (5)ISA总线是指IBM PC/AT机上使用的系统总线。 〔习题1.8〕 下列十六进制数表示无符号整数,请转换为十进制形式的真值: (1)FFH (2)0H (3)5EH (4)EFH 〔解答〕 (1) 255 (2) 0 (3) 94 (4) 239

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理与接口技术考题集

第1章习题: 1.1简答题 (1)计算机字长指的是什么? 处理器每个单位时间可以处理的二进制数据位数称为计算机字长。 (2)总线信号分为哪三组? 总线信号分为三组,分别是数据总线,地址总线和控制总线。 (3)PC机主存采用的是DRAM还是SRAM? PC机主存采用的是DRAM组成。 (4)Cache是什么意思? 高速缓存存储器Cache是处理器与主存之间速度很快但容量较小的存储器。 (5)ROM-BIOS是什么? ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 (6)中断是什么? 中断是CPU正常执行程序的流程被某种原因打断,并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返会被中断的指令继续执行的过程。 (7)32位PC机主机的芯片组是什么? 主机芯片组是主板的核心部件,它提供主板上的关键逻辑电路。 (8)MASM是指什么? MASM是微软开发的宏汇编程序。 (9)处理器的“取指-译码-执行周期”是指什么? 指令的处理过程。处理器的“取指-译码-执行周期”是指处理器从主存储器读取指令(简称取

指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。(10)在计算机系统层次结构中,哪一层起着承上启下,软硬件接口的作用? 机器语言层,即指令集结构。 1.2判断题 (1)软件与硬件的等价性原理说明软硬件在功能,性能和成本等方面是等价的。(错)(2)IA-64结构是IA-32结构的64位扩展,也就是Intel64结构。(错) (3)8086的数据总线为16位,也就是说8086的数据总线的个数或者说条数,位数是16。(对) (4)微机主存只要使用RAM芯片就可以了。(错) (5)处理器并不是直接连接外设,而是通过I/O接口电路与外设连接。(对) (6)处理器是微机的控制中心,内部只包括5大功能部件的控制器。(错) (7)Windows的模拟DOS环境与控制台环境是一样的。(错) (8)16位IBM PC/AT采用ISA系统总线。(对) (9)IA-32处理器吸取了RISC技术特点。RISC是指复杂指令集计算机。(错) (10)处理器进行读操作,就是把数据从处理器内部读出传送给主存或外设。(错) 1.3填空题 (1)CPU是英文Central Processing Unit的缩写,中文译为中央处理单元,微型机采用处理器芯片构成CPU。 (2)Intel 8086支持1MB容量主存空间,80486支持4GB容量主存空间。 (3)16位二进制共有216个编码组合,如果一位对应处理器的一个地址信号,16位地址信号共能寻址64KB容量主存空间。 (4)DOS主要支持两种可执行文件,它们的扩展名分别是EXE,COM。

相关文档
相关文档 最新文档