微机原理与接口技术 第四章 课后答案

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

第四章参考答案

1.设下列指令中的所有标识符均是类型属性为字的变量,请指出下列指令中哪些是非法的指令?错误的原因?

⑴MOV BP,AL

⑵MOV WORD_OP1,WORD_OP2

⑶MOV SA VE_WODR,DS

⑷MOV SP,SS:DA TA_WORD[BX][SI]

⑸MOV [BX][SI],2

解:(1)非法。源操作数与目的操作数类型不符。

(2)合法。

(3)合法。

(4)合法。

(5)非法。需说明操作数类型。

2.设V AR1和V AR2为字变量,LAB为标号,

试指出下列指令的错误之处:

⑴ADD V AR1,V AR2

⑵SUB AL,V AR1

⑶JMP LAB[SI]

⑷JNZ V AR1

⑸JMP NEAR LAB

解:(1)两个操作数均为符号地址。

(2)两个操作数的类型不同。

(3)

(4)

(5)

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

⑴BYTE_V AR DB ‘BYTE’,12,-12H,3 DUP(0,?,2 DUP(1,2),?)

⑵WORD_V AR DW 5 DUP(0,1,2),?,-5 ‘BY’,’TE’,256H

解:(1)(2)

41H

59H

54H

45H

0CH

F4H

00H

01H

02H

01H

02H

00H

01H

02H

01H

02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H ??FBH FFH 59H 42H 45H 54H 56H 02H

4.设程序中的数据定义如下:

PARTNO DW ?

PNAME DB 16 DUP(?)

COUNT DD ?

PLENTH EQU $-PARTNO

问PLENTH的值为多少?它表示什么意义?

解:PLENTH的值为22(16H)。表示当前位置与PARTNO之间有22个字节空间。

5.设程序中的数据定义如下:

LNAME DB 30 DUP(?)

ADDRESS DB 30 DUP(?)

CITY DB 15 DUP(?)

CODE_LIST DB 1,7,8,,3,2

⑴用一条MOV指令将LNAME的偏移地址放入AX;

⑵用一条指令将CODE_LIST的头两个字节的内容放入SI:

⑶写一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。

解:(1)MOV AX,OFFSET LNAME

(2)MOV SI,WORD CODE_LIST

(3) CODE_LENGTH EQU $-CODE_LIST

6.对于下面数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?

FLDB DB ?

TABLEA DW 20 DUP(?)

TABLEB DB ‘ABCD’

⑴MOV AX,TYPE FLDB

⑵MOV AX,TYPE TABLEA

⑶MOV CX,LENGTH TABLEA

⑷MOV DX,SIZE TABLEA

⑸MOV CX,LENGTH TABLEB

解:(1)AX=1

(2)AX=2

(3)CX=14H

(4)DX=28H

(5)CX=1

7.内存的一个区域中有100个字符是用小写字母表示的,试编写一个程序,把它们转换成大写字母,并送屏幕显示。

解:参考程序如下:

MOV CX,0064H

AA:MOV DL,[SI]

ADD DL,20H

MOV [SI],DL

MOV AH,02H

INT 20H

INC SI

LOOP AA

HLT

8.AX寄存器中有4位压缩方式的BCD码数字,试编写一个程序将4个数字分开,并分别存入BH、BL、CH和CL寄存器中。

……

MOV DX,AX

MOV CL,04H

ROL AX,CL

AND DX,0F0FH

MOV BL,DH

MOV CL,DL

AND AX,0F0FH

MOV BH,AL

MOV CH,AH

……

9.编一段程序,使在用STRING开头的数据区中查找字符串WE,数据区以$符作为结束符号。如查到,给出字符所在地址;如查不到,给出NOT FOUND提示。(假设最多有1个WE字符串)

解:参考程序如下:

DA TA SEGMENT

STRING:DB ‘ABCWE5$’

RE:DB ‘NOT FOUND$’

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

BEGIN: PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DA TA

MOV DS,AX

LEA SI,STRING

AA: MOV AL,[SI]

CMP AL,’$’

JZ NEXT

CMPA AL,’W’

JNZ NEXT1

INC SI

MOV AL,[SI]

CMP AL,’E’

JNZ AA

DEC SI

MOV BX,SI

MOV CL,04H

MOV DH,04H

AA1: ROL BX,CL

MOV DL,BL

相关文档
最新文档