《微机原理及接口技术》(第2版)—习题解答

2026/1/20 17:54:18

〔习题1.19〕

英文大小写字母“D”和“d”的ASCII码各是什么?“回车(CR)”和“换行(LF)”的ASCII码各是什么?数码“0”、“空格(SP)”和“空操作(NUL)”的ASCII码各是什么? 〔解答〕

〔习题1.20〕

已知汉字“中”的国标区位码为54 48,请问它的国标码和机内码各是什么? 〔解答〕

第2章 微处理器指令系统

〔习题2.1〕

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

说明8088的8个8位和8个16位通用寄存器各是什么? 〔解答〕 〔习题2.3〕

什么是标志?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。 〔解答〕 〔习题2.4〕

举例说明CF和OF标志的差异。 〔解答〕 〔习题2.5〕

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

? FFFFH:0 ? 40H:17H ? 2000H:4500H ? B821H:4567H 〔解答〕

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

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

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

5

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

以开始一个逻辑段

? FFFFH:0=FFFF0H ? 40H:17H=00417H ? 2000H:4500H=24500H ? B821H:4567H=BC777H

〔习题2.6〕

8088有哪4种逻辑段,各种逻辑段分别是什么用途? 〔解答〕

?代码段(Code Segment)用来存放程序的指令序列。处理器利用CS : IP取得下一条要执行的指令

?堆栈段(Stack Segment)确定堆栈所在的主存区域。处理器利用SS : SP操作堆栈中的数据

?数据段(Data Segment)存放当前运行程序所用的数据。处理器利用DS : EA存取数据段中的数据

?附加段(Extra Segment)是附加的数据段,也用于数据的保存。处理器利用ES : EA存取数据段中的数据

〔习题2.7〕

什么是有效地址EA?8088的操作数如果在主存中,有哪些寻址方式可以存取它? 〔解答〕 〔习题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, 直接寻址

6

?1MB

? 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 〔解答〕

〔习题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

7

cmp al,0bch ;AL=0AFH 1 sub al,al ;AL=00H 0 dec al ;AL=0FFH 0 inc al ;AL=00H 0 〔习题2.12〕

0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1

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

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

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

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

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

? 把数0A0H与AL寄存器的内容相加,并把结果送回AL中 〔解答〕

? 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器 add dx,bx

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

add al,[bx+si]

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

add [bx+0b2h],cx

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

add word ptr [0520h],3412h

? 把数0A0H与AL寄存器的内容相加,并把结果送回AL中 add al,0a0h 〔习题2.13〕

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

mov ax,X imul Y mov cx,ax mox bx,dx mov ax,Z cwd

add cx,ax

8


《微机原理及接口技术》(第2版)—习题解答.doc 将本文的Word文档下载到电脑
搜索更多关于: 《微机原理及接口技术》(第2版)—习题解答 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219