微机基本知识及接口第四章知识题目解析

  • 格式:doc
  • 大小:189.50 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“微机系统原理与接口技术”第四章习题解答1.判断以下说法是否正确,如有错,请说明原因并改正。

(1)伪指令在汇编过程中不会产生二进制代码。

(2)宏和过程的相同之处是都可用于简化源程序书写、精简目标代码。

(3)在计算机中,高级语言通常需要转换为汇编语言后才能执行。

(4)汇编语言程序上机一般包括编辑、汇编、链接和调试几个步骤。

答:(1)正确。

(2)错误。宏不能精简目标代码。

(3)错误。高级语言程序经编译或解释后直接转换为目标代码。

(4)正确。

2.已知数据和符号定义

A1 DB ?

A2 DB 8

K1 EQU 100

判断下列指令的正误,并说明错误指令的原因。

(1)MOV K1,AX

(2)MOV A2,AH

(3)MOV BX,K1

MOV [BX],DX

(4)CMP A1,A2

(5)K1 EQU 200

答:(1)错误。K1是符号常数,在此处相当于立即数100,故不能做目的操作数。

(2)正确。

(3)正确。

(4)错误。A1、A2都是字节变量,相当于两个存储器单元,故不能同时出现在一条指令中直接进行比较。

(5)错误。用EQU定义的符号不能重新赋值,除非已用PURGE解除了原值。

3.若数据段中有定义

N UM1 EQU 23H

N UM2 DW 0

则指令MOV NUM2,NUM1 的源、目操作数的寻址方式以及指令执行后NUM2+1单元的内容分别是什么?

答:指令MOV NUM2,NUM1的源操作数使用立即数寻址,目的操作数使用直接寻址。指令执行后NUM2+1单元的内容是0。

4.设DS=6000H,BX=8432H,SS=5000H,SP=3258H,内存69632H~69635H单元的内容依次是00H、11H、22H、33H。4字节指令CALL DWORD PTR [BX+1200H] 本身位于2000H:3250H处的双字单元中。当8086执行该指令后转移至子程序入口时,CS、IP、SS、SP各寄存器以及栈顶2个字单元的内容分别是多少?

答:执行结果为CS=3322H,IP=1100H,SS=5000H,SP=3254H,栈顶的两个字即断点地址,为2000H:3254H。

5.已知某数据段从物理地址03000H处开始,定义如下:

D SEG SEGMENT

ORG 2000H

A1 DD 2 DUP(7,1,?)

A2 DB 10 DUP(0,4,3 DUP(2),5)

A3 DW 100 DUP(?)

D SEG ENDS

请分别用分析运算符SEG、OFFSET、LENGTH、SIZE、TYPE求出A1、A2、A3的段基址、偏移量、类型及它们的LENGTH、SIZE。

答:(SEG A1)=0300H,(OFFSET A1)=2000H,(TYPE A1)

(LENGTH A1)=2,(SIZE A1)=2×4=8;

(SEG A2)=0300H,(OFFSET A2)=2018H,(TYPE A2)

(LENGTH A2)=10,(SIZE A2)=10×1=60;

(SEG A3)=0300H,(OFFSET A3)=2054H,(TYPE A3)

(LENGTH A3)=100,(SIZE A3)=100×2=200

6.已知符号定义语句如下:

A LPHA EQU 100

B ETA EQU 25

G AMMA EQU 2

分别求下列各表达式的值。

(1)ALPHA*4 GT BETA = 100*4 GT 25 = 0FFFFH

(2)ALPHA MOD GAMMA+BETA = 100 MOD 2+25 = 25 (3)(BETA / 3)LE 5 =(25 / 3)LE 5 = 0

(4)ALPHA AND BETA = 100 AND 25 = 64H & 19H = 0 (5)GAMMA XOR(BETA EQ 25)= 2 (25 EQ 25)= 0FFFDH

7.已知数据段定义如下:

DSEG SEGMENT

ORG 6

ARA1 DD 110009H

ARA2 DW 2 DUP(?),‘64’

CONT1 EQU $-ARA2

COUT2 EQU ARA2 -ARA1

ARA3 DB CONT1 DUP(0FFH)

ARA4 DB 2 DUP (?, CONT2 DUP (5), ’$’)

ORG $+2

VAR2 DW 569AH

DB ‘AB’

DSEG ENDS

用示意图说明该数据段的存贮单元分配情况。

答:有关存储单元的内容如右图所示。

8.下列程序是否有错?如有错,请改正。该程序完成什么功能?。

D ATA SEGMENT

INBUF DW 100 DUP(?)

OUTBUF DW 100 DUP(?)

D ATA ENDS

C ODE SEGMENT

ASSUME CS:CODE,DS:DATA

M AIN PROC FAR

MOV AX,DATA

MOV DS,AX

I NIT:MOV SI,OFFSET INBUF

LEA DI,OUTBUF

MOV CX,100

REP MOVSB

M AIN ENDP

C ODE ENDS

END MAIN

答:改正之后的源程序清单如下(下划波浪线的语句是原来没有的或有错之处):

DATA SEGMENT

INBUF DW 100 DUP(?)

OUTBUF DW 100 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA ;原ASSUME语句未说明ES

相关主题