微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案

微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案
微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案

第五章汇编语言程序设计

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

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

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

答:(1)(2)

BYTE_V AR WORD_V AR

2、假设程序中的数据定义如下:

P ARTNO DW ?

P NAME DB 16 DUP(?)

C OUNT D

D ?

P LENTH EQU $- PARTNO

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

答:PLENTH的值为22,它表示当前已分配单元空间。

3、有符号定义语句如下:

B UF DB 1,2,3,’123’

E BU

F DB 0

L EQU EBUF-BUF

问:L的值是多少?

答:L的值为6;

4、假设成序中的数据定义如下:

LNAME DB 30 DUP(?)

A DDRESS D

B 30 DUP(?)

C ITY DB 15 DUP(?)

C ODE_LIST DB 1,7,8,3,2

(1)用一条MOV指令将LNAME的偏移地址存入BX。

(2)用一条指令将CODE_LIST的头两个字节的内容放入SI。

(3)写一条伪指令定义符使CODE_LENGTH的值等于CODE_LIST域的实

际长度。

答:(1) MOV BX,OFFSET LNAME

(2) MOV SI,WORD PTR CODE_LIST

(3) CODE_LENGTH EQU $- CODE_LIST

5、对于下面的数据定义,试说明三条MOV语句指令的执行结果。

T ABLEA DW 10 DUP(?)

T ABLEB DB 10 DUP(?)

T ABLEC DB ‘1234’

答:

M OV AX,LENGTH TABLEA ;(AX)=000AH

M OV BL,LENGTH TABLEB ;(BL)=0AH

M OV CL,LENGTH TABLEC ;(CL)=01H

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

P LDB DB ?

T ABLEA DW 20 DUP(?)

T ABLEB DB ‘ABCD’;答:

(1) MOV AX,TYPE PLDB ;(AX)=0001H

(2) MOV AX,TYPE TABLEA ;(AX)=0002H

(3) MOV CX,LENGTH TABLEA ;(CX)=0014H

(4) MOV DX,SIZE TABLEA ;(DX)=0028H

(5) MOV CX,LENGTH TABLEB ;(CX)=0001H

7、试说明下述指令中哪些需要加上PTR伪指令定义符。

BV AL DB 10H,20H

WV AL DW 1000H ;答:

(1) MOV AL,BV AL ;

(2) MOV DL,[BX] ;

(3) SUB [BX],2 ;SUB [BX],WORD PTR 2

; SUB BYTE PTR [BX],2

(4) MOV CL,WVAL ;MOV CL,BYTE PTR WV AL

8、编写一宏定义BXCHG,将一字节的高4位与低4位交换。

答:

B XCHG MACRO BT

MOV AL,BT

MOV CL,4

ROL AL,CL

ENDM

9、已知宏定义如下:

X CHG0 MACRO A,B

MOV AH,A

XCHG AL,B

MOV A,AL

ENDM

O PP MACRO P1,P2,P3,P4

XCHG0 P1,P4

XCHG0 P2,P3

ENDM

展开宏调用OPP BH,BL,CH,CL

答:展开宏调用OPP BH,BL,CH,CL 为:

MOV AH,BH

XCHG AL,CL

MOV BH,AL

MOV AH,BL

XCHG AL,CH

MOV BL,AL

10、将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和DL中。

答:

M OV DL,AH

A ND DL,0F0H

MOV CL,4

S HR DL,CL

PUSH AX

AND AH,0FH

MOV BH,AH

AND AL,0F0H

MOV BL,AL

MOV CL,4

SHR BL,CL

MOV CL,BH

POP AX

AND AL,0FH

11、试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示“MATCH”,若不相同则显示“NOMATCH”。

13、编写程序,将以包含有20个数据的数组M分成两个数组,正数数组P 和负数数组N,并分别把这两个数组中数据的个数显示出来。

20、编写程序,将字节变量BV AR中的压缩型BCD数转换为二进制数,并存入原变量中。

23、编写程序,将字节变量BV AR中的无符号二进制数(0~FFH)转换为BCD数,在屏幕上显示结果。

24、设有字无符号数X、Y,试编制求Z=丨X-Y丨的程序。

11.

DATA SEGMENT

Infor1 DB 'Please input string1:',0AH,0DH,'$'

STR1 DB 12,0,10 DUP (0)

Infor2 DB 0AH,0DH,'Please input string2:',0AH,0DH,'$' STR2 DB 12,0,10 DUP (0)

Infor3 DB 0AH,0DH,'MATCH',0AH,0DH,'$'

Infor4 DB 0AH,0DH,'NO MATCH',0AH,0DH,'$' DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA SI,STR1

LEA DI,STR2

MOV DX,OFFSET Infor1

MOV AH,9

INT 21H

MOV DX,OFFSET STR1

MOV AH,0AH

INT 21H

MOV DX,OFFSET Infor2

MOV AH,9

INT 21H

MOV DX,OFFSET STR2

MOV AH,0AH

INT 21H

INC SI

INC DI

MOV AL,[SI]

MOV AH,[DI]

CMP AH,AL

JNZ NOSAME

CHARCOMPARE:

INC SI

INC DI

MOV BH,BYTE PTR[SI]

CMP BH,BYTE PTR[DI]

JNZ NOSAME

DEC AL

JNZ CHARCOMPARE

SAME:

MOV DX,OFFSET Infor3

MOV AH,9

INT 21H

JMP ReturnDOS

NOSAME:

MOV DX,OFFSET Infor4

MOV AH,9

INT 21H

ReturnDOS:

MOV AH,4CH

INT 21H

CODE ENDS

END START

EX511b.ASM

DATA SEGMENT

Infor1 DB 'Please input string1:',0AH,0DH,'$'

Infor2 DB 0AH,0DH,'Please input string2:',0AH,0DH,'$' STR1 DB 12,0,10 DUP (0)

STR2 DB 12,0,10 DUP (0)

Infor3 DB 0AH,0DH,'MATCH',0AH,0DH,'$'

Infor4 DB 0AH,0DH,'NO MATCH',0AH,0DH,'$' DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,STR1

LEA DI,STR2

MOV DX,OFFSET Infor1

MOV AH,9

INT 21H

MOV DX,OFFSET STR1

MOV AH,0AH

INT 21H

MOV DX,OFFSET Infor2

MOV AH,9

INT 21H

MOV DX,OFFSET STR2

MOV AH,0AH

INT 21H

INC SI

INC DI

MOV AL,[SI]

MOV AH,[DI]

CMP AH,AL

JNZ NOSAME

MOV AH,0

MOV CX,AX

INC SI

INC DI

CLD

COMPARE:

REPE CMPSB

JNE NOSAME SAME:

MOV DX,OFFSET Infor3

MOV AH,9

INT 21H

JMP ReturnDOS NOSAME:

MOV DX,OFFSET Infor4

MOV AH,9

INT 21H

ReturnDOS:

MOV AH,4CH

INT 21H

CODE ENDS

END START

EX513b

DATA SEGMENT

M DB 1,2,3,4,5,6,-7,-8,-9,-10,11,12,13,14,15,-16,-17,-18,-19,-20 P DB 20 DUP(0)

N DB 20 DUP(0)

CountP DB 0

CountN DB 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

mov bx,0

MOV SI,0

MOV DI,0

MOV CX,20

again:

cmp M[bx],0

jl less

je again

inc si

jmp next

less:

inc di

next:

inc bx

dec cx

jnz again show:

mov ax,si

mov ch,10

div ch

mov dl,al

mov bh,ah

ADD DL,30H

MOV AH,2

INT 21H

mov dl,bh

ADD DL,30H

MOV AH,2

INT 21H

mov dl,2ch

mov ah,2

int 21h

mov ax,di

mov ch,10

div ch

mov dl,al

mov bh,ah

ADD DL,30H

MOV AH,2

INT 21H

mov dl,bh

ADD DL,30H

MOV AH,2

INT 21H

mov ah,4ch

int 21h

CODE ENDS

END START

EX515.ASM

DATA SEGMENT

INFOR0 DB 0AH,0DH,"please input a four hex number",0AH,0DH,'$' INFOR DB 0AH,0DH,"invalid hex digital",0AH,0DH,'$'

INFOR2 DB 0AH,0DH,"convert binary is:",0AH,0DH,'$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA DX,INFOR0

MOV AH,9

INT 21H

XOR BX,BX

MOV CH,04

MOV CL,04

INPUT:

SHL BX,CL

MOV AH,01

INT 21H

CMP AL,30H

JB ERROR

CMP AL,39H

JA NEXT

AND AL,0FH

JMP BINARY

NEXT:

CMP AL,41H

JAE CONTINE

JMP ERROR CONTINE:

CMP AL,46H

JA CONTINE2

JMP PROCESS CONTINE2:

CMP AL,61H

JAE CONTINE3

JMP ERROR CONTINE3:

CMP AL,66H

JA ERROR PROCESS:

AND AL,0FH

ADD AL,09H BINARY:

OR BL,AL

DEC CH

JNE INPUT

LEA DX,INFOR2

MOV AH,9

INT 21H DISPN:

MOV CX,16 DISP:

MOV DL,0

ROL BX,01

RCL DL,01

OR DL,30H

MOV AH,02

INT 21H

LOOP DISP

JMP Exit

ERROR:

LEA DX,INFOR

MOV AH,9

INT 21H

Exit:

MOV AH,4CH

INT 21H

CODE ENDS

END START

EX520.ASM

DATA SEGMENT

BV AR DB 35H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

MOV CL,4

MOV BL,BV AR

ROR BL,CL

AND BL,0FH

MOV AL,BL

MOV CH,10

MUL CH

MOV BL,BV AR

AND BL,0FH

ADD AL,BL

MOV BV AR,AL

MOV AH,4CH

INT 21H

CODE ENDS

END START

EX523.ASM

DATA SEGMENT

BV AR DB 0FFH

RESULT DB 3 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

LEA BP,RESULT

MOV SI,2

MOV AL,BV AR CONVERSE:

MOV AH,0

MOV CH,10

DIV CH

MOV [BP][SI],AH

DEC SI

JS COMPLETE

JMP CONVERSE COMPLETE:

INC SI

CMP SI,3

JGE EXIT

MOV DL,[BP][SI]

CMP SI,0

JNZ Contine

CMP DL,0

JNZ Contine

JMP COMPLETE Contine:

ADD DL,30H

NUMBER:

MOV AH,2

INT 21H

JMP COMPLETE

EXIT:

MOV AH,4CH

INT 21H

CODE ENDS

END START

EX524.ASM

DATA SEGMENT

X DW 45

Y DW 38

Z DW 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

MOV AX,X

CMP AX,Y

JL NEGATIVE

SUB AX,Y

JMP Exit

NEGATIVE:

MOV AX,Y

SUB AX,X

Exit:

MOV Z,AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

西安电子科技大学 数字电路基础 答案

习题4 4-3 解:该电路的输入为3x 2x 1x 0x ,输出为3Y 2Y 1Y 0Y 。真值表如下: 由此可得:1M =当时,33 2 321210 10 Y x Y x x Y x x Y x x =??=⊕?? =⊕??=⊕? 完成二进制至格雷码的转换。 0M =当时,33 2 32 132121 321010 Y x Y x x Y x x x Y x Y x x x x Y x =??=⊕?? =⊕⊕=⊕??=⊕⊕⊕=⊕? 完成格雷码至二进制的转换。

4-9 设计一个全加(减)器,其输入为A,B,C 和X(当X =0时,实现加法运算;当X =1时,实现减法运算),输出为S(表示和或差),P (表示进位或借位)。列出真值表,试用3个异或门和3个与非门实现该电路,画出逻辑电路图。 解:根据全加器和全减器的原理,我们可以作出如下的真值表: 由真值表可以画出卡诺图,由卡诺图得出逻辑表达式,并画出逻辑电路图: A B C X P 4-10 设计一个交通灯故障检测电路,要求红,黄,绿三个灯仅有一个灯亮时,输出F =0;

若无灯亮或有两个以上的灯亮,则均为故障,输出F =1。试用最少的非门和与非门实现该电路。要求列出真值表,化简逻辑函数,并指出所有74系列器件的型号。 解:根据题意,我们可以列出真值表如下: 对上述的真值表可以作出卡诺图,由卡诺图我们可以得出以下的逻辑函数: F AB AC BC A B C AB AC BC A B C =+++=??? 逻辑电路图如下所示: A F 4-13 试用一片3-8译码器和少量逻辑门设计下列多地址输入的译码电路。 (1) 有8根地址输入线7A ~1A ,要求当地址码为A8H,A9H ,…,AFH 时,译码器输出为 0Y ~7Y 分别被译中,且地电平有效。 (2) 有10根地址输入线9A ~0A ,要求当地址码为2E0H,2E1H, …,2E7H 时,译码器输 出0Y ~7Y 分别被译中,且地电平有效。

试验二ARM汇编语言程序设计

实验二 ARM汇编语言程序设计 一、实验目的 1.了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程 2.掌握ARM汇编指令 二、实验设备 1. EL-ARM-830教学实验箱,PentiumII以上的PC机,仿真器电缆。 2. PC操作系统WIN98或WIN2000或WINXP, ADS1.2集成开发环境,仿真器驱动程序。 三、汇编语言简介 1.ARM汇编的一些简要的书写规范 ARM汇编中,所有标号必须在一行的顶格书写,其后面不要添加“:”,而所有指令均不能顶格书写。ARM汇编对标识符的大小写敏感,书写标号及指令时字母大 小写要一致。在ARM汇编中,ARM指令、伪指令、寄存器名等可以全部大写或者全 部小写,但不要大小写混合使用。注释使用“;”号,注释的内容由“;”号起到此 行结束,注释可以在一行的顶格书写。 详细的汇编语句及规范请参照ARM汇编的相关书籍、文档。 2. ARM汇编语言程序的基本结构 在ARM汇编语言程序中,是以程序段为单位来组织代码。段是相对独立的指令或数据序列,具有特定的名称。段可以分为代码段的和数据段,代码段的内容为执 行代码,数据段存放代码运行时所需的数据。一个汇编程序至少应该有一个代码段,当程序较长时,可以分割为多个代码段和数据段,多个段在程序编译链接时最终形 成一个可执行文件。可执行映像文件通常由以下几部分构成: ◆ 一个或多个代码段,代码段为只读属性。 ◆ 零个或多个包含初始化数据的数据段,数据段的属性为可读写。 ◆ 零个或多个不包含初始化数据的数据段,数据段的属性为可读写。 链接器根据系统默认或用户设定的规则,将各个段安排在存储器中的相应位置。源程序中段之间的相邻关系与执行的映象文件中的段之间的相邻关系不一定 相同。 3. 简单的小例子 下面是一个代码段的小例子 AREA Init,CODE,READONLY ENTRY LDR R0, =0x3FF5000 LDR R1, 0x0f STR R1, [R0]

西安电子科技大学人工智能试题

1.(该题目硕士统招生做)请用框架法和语义网络法表示下列事件。(10分) 2015年2月20日上午11点40分,广东省深圳市光明新区柳溪工业园附近发生山体滑坡,经初步核查,此次滑坡事故共造成22栋厂房被掩埋,涉及公司15家,截至目前已安全撤离900人,仍有22人失联。 答:框架表示法(5分):(给分要点:确定框架名和框架槽,根据报道给出的相关数据填充,主要内容正确即可给分,不必与参考答案完全一致) <山体滑坡> 时间:2015年2月20日上午11点40分 地点:广东省深圳市光明新区柳溪工业园附近 掩埋厂房:22栋 涉及公司数目:15家 安全撤离人数:900人 失联人数:22人 语义网络表示法(5分):(给分要点:确定语义网络的节点及其连接关系,根据报道内容进行填充,主要内容正确即可给分,不必与参考答案完全一致) 1. (该题目全日制专业学位硕士做)请用一种合适的知识表示方法来表示下面知识。(10分) How Old Are YOU是微软推出的一款测年龄应用,该应用架设在微软服务平台Azure上,该平台具有机器学习的开发接口,第三方开发者可以利用相关的接口和技术,分析人脸照片。

(给分要点:采用合适的知识表示方法,正确即可给分,不必与参考答案完全一致) 答: 类属(继承):<应用程序> 用途:测年龄 开发者:微软 服务平台: 开发接口:机器学习 用途:分析人脸照片 2.(该题目硕士统招生做)请用归结反演的方法求解下述问题。(15分) 已知:张和李是同班同学,如果x和y是同班同学,则x的教室也是y的教室,现在张在302教室上课。 问:现在李在哪个教室上课? 解:第一步:定义谓词;(谓词不一定与参考答案完全相同,只要正确表示即可给分)(3分)C(x, y) x和y是同班同学; At(x, u) x在u教室上课。 第二步:根据定义的谓词写出上述知识的谓词表示,并化成子句集;(6分) 把已知前提用谓词公式表示如下: C(zhang, li) (?x) (?y) (?u) (C(x, y)∧At(x, u)→At(y,u)) At(zhang, 302) 把目标的谓词公式表示如下: (?v)At(li, v) 把上述公式化为子句集: (1) C(zhang, li) (2) ﹁C(x, y)∨﹁At(x, u)∨At(y, u) (3) At(zhang, 302) 把目标的否定化成子句式: (4) ﹁At(li,v) ∨Answer(v) 第三步:使用归结原理对子句集进行归结;(6分)(注意:具体的归结顺序不一定和参考答案完全一致,只要归结过程正确,最后得到的答案正确即可给分)

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

西安电子科技大学单片机考试试卷

西安电子科技大学本科课程考试试卷2008—2009学年第一学期《单片机原理与接口技术》 课程A卷 专业年级:07电信命题教师:郭文川审题教师: 考生班级:学号:考生姓名: 一、填空题:(每空1分,共20分) 1、MCS—5l单片机的最大程序寻址空间是64 KB,该空间的地址范围从0000H 至0FFFFH,系统上电及复位后,程序入口地址为0000H。 2、若由程序设定PSW中的RS1、RS0=01,则工作寄存器R0~R7的直接地址为08H~0FH。 3、MCS-51单片机的I/O端口采用统一编址方式。、 4、一个8位D/A转换器其分辨率为_ 1/256 ,若该8位D/A转换器的基准电压为5V, 则数字量100对应得模拟量为 1.953V(5*100/256V)。 5、单片机系统中经常采用的地址译码技术包括线选法和译码法。 6、INTEL 8051 CPU 是8 位的单片机,其内部有4 KB的ROM。 7、指出下列各指令中源操作数的寻址方式。 (1)MOVC A,@A+DPTR (变址寻址) (2)XCH A,@R0;(寄存器间接寻址) (3)MOV C,P1.0 (位直接寻址) (4)JC LOOP (相对寻址) 8、判断下列各条指令的书写格式是否有错,并指出原因。 (1)MUL R0,R1 (错,乘法指令用A×B ) (2)MOV A, @R7 (错,@R7非法)

(3)MOV A, #3000H (错,累加器A为8位存储器) (4)MOV R1, C (错,C为进位位不能送给寄存器R1) 二、选择题:(每题1分,共10分) 1.当MCS-51单片机接有外部存储器时,P2口可作为 D 。 A.数据输入口 B. 数据的输出口 C.准双向输入/输出口D.高8位地址线 2.单片机的并行接口中,作为数据线使用的并行口是 A 。 A.P0 B. P1 C. P2 D. P3 3.MCS—5l单片机的堆栈区是设置在 C 中。 A.片内ROM区B.片外ROM区 C.片内RAM区 D. 片外RAM区 4.片内RAM的20H~2FH为位寻址区,所包含的位地址是。 A.00H~20H B. 00H~7FH C.20H~2FH D.00H~FFH 5.在寄存器间接寻址方式中,间址寄存器中存放的数据是。 A.参与操作的数据B.操作数的地址值 C.程序的转换地址D.指令的操作码 6.当需要从MCS-51单片机程序存储器取数据时,采用的指令为。 A. MOV A, @R1 B.MOVC A, @A + DPTR C. MOVX A, @ R0 D.MOVX A, @ DPTR 7. 能够用紫外光擦除ROM中程序的只读存储器称为。 A.掩膜ROM B.PROM C.EPROM D.EEPROM 8. 在片外扩展一片2716程序存储器芯片要地址线。 A.8根 B.13根 C.11根 D.20根 9. 定时器/计数器工作方式1是。 A. 8位计数器结构 B. 2个8位计数器结构 C. 13位计数结构 D. 16位计数结构 10.T0中断的中断入口地址为。 A. 0003H B. 000BH C. 0013H D. 001BH 三、分析程序,写出结果(每空3分,共18分) 1、已知(A)=83H,(R0)=17H,(17H)=34H,执行下列程序段后(A)= 0CBH 。

汇编语言程序设计

汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: AGAIN:MOV AL,[SI]

MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用()指令完成同样的功能。 A、 REP MOVSB B、 REP LODSB C、 REP STOSB D、 REPE SCASB 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址

偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 AND、OR、XOR、NOT为四条逻辑运算指令,下面解释正确的是()。 A、 指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、 指令AND AX,OFH执行后,分离出AL低四位 D、 NOT AX,执行后,将AX清0 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。

汇编语言程序设计

汇编语言基础《汇编语言程序设计》第01章在线测试 A B C D 、微机中每个存储单元具有一个地址,其中存放一个____量。 A B C D 、设段地址为5788H,该字节的物理地址_____。 A B C D 、汇编语言源程序中,每个语句由项组成,不影响语句功能的是_____。 A B C D 、下列标号不合法的是_____。 A B C D

B、生成的代码序列短小 C、运行速度快 D、编程容易 E、便于移植 2、8086段寄存器有_______。 A、IP B、DS C、CS D、ES E、SS 3、使用MASM 6.x版本的“ML /Fl eg101.asm”命令,如果源程序eg101.asm没有语法错误,则将生成_________文件。 A、目标代码文件 B、可执行文件 C、列表文件 D、调试文件 E、库文件 4、汇编语言中,______可以作为有效的名字,如标号、变量名等。 A、0fffh B、var00 C、loop1 D、test E、add 5、汇编语言中,程序员不能将______作为用户标识符。 A、DS

正确错误、有效地址是指存储器操作数的物理地址。 正确错误、采用汇编语言书写的一个源程序文件,需要使用汇编程序,例如MASM 正确错误 按逻辑段组织程序,需要执行的指令应该在代码段中。 正确错误、使用简化段定义源程序格式,必须具有语句,且位于所有简化段定义语句之前。 正确错误 《汇编语言程序设计》第02章在线测试 A B C D

2、伪指令DW定义的是______量的变量。 A、字节 B、字 C、双字 D、4字 3、将变量var定义如下,“var db 26h, 4ah”,欲以字属性存取该变量值,应采用______var。 A、offset B、byte ptr C、word ptr D、seg 4、语句“xyz db ˊABˊ, ˊCDˊ, ˊEˊ,ˊFˊ”汇编后占用的存储空间是______个字节。 A、4 B、5 C、6 D、8 5、在伪指令语句“number dw 1234h”中的number 项称为______。 A、标号 B、操作符 C、名字 D、操作数 第二题、多项选择题(每题2分,5道题共10分) 1、如下________寻址方式的操作数来自主存储器。 A、立即数寻址 B、寄存器寻址 C、直接寻址 D、寄存器相对寻址 E、寄存器间接寻址 2、“mov [bx+10h],al”指令的两个操作数采用的寻址方式有_______。 A、寄存器间接 B、寄存器 C、寄存器相对 D、基址变址 E、立即数

西安电子科技大学《电路基础》第三章部分习题解

习题三 3.3如题图3.3所示,求电压u,如果独立电压源的均值增至原值的2倍,独立电流源的值降为原值的一半,电压u变为多少? Ω3 1 i A Ω 2 V1 图3.3 解:仅考虑电压源(电流源开路) Ω3 1 i Ω 2 V1 对节点a列写节点方程 (1/3+1/6) a u=1/3+10/6 所以 a u=4V 3 1 i+1=4 则1i=1A 1 u+4?2+(-1)+3?(-1)=0 则1u=-4V 仅考虑电流源(电压源短路) Ω3 1 i Ω 2

1i =3?2/3=2A i =4-21i =1A 2u +4?1-3?2-2?3=0 故 2u =8V 所以 u =1u +2u =4V 当电压源增至2倍时,电流源降为原来的一半时,V u u 8211-==' V u u 421 22==' ='∴u V u u 421-=' +' 3.4如题图3.4所示电路,N 为不含独立源的线性电路,已知当s u =12V ,s i =4A 时,u =0V ;当s u =-12V ,s i =-2A 时,u =-1V ;求当s u =9V ,s i =-1A 时的电压u 。 s u 图3.4 解:u =1k s u +2k s i 根据题意列方程有: 121k +42k =0 -121k -22k =-1 解之有: 1k =1/6 2k =-1/2 即 u =1/6s u -1/2s i 故当s u =9V ,s i =-1A 时,u =2V 3.5当开关s 位置在1时,I =40mA,s 在位置2时,I =-60mA ,求s 在位置3时,I =?

V 图3.5 解:当开关s 位置在2时,电路图可以看成下图的叠加 V 4 所以,I '=I =40mA I ''=k 1s u I =I '+I ''=40mA+k 1s u =-60mA 所以k 1s u =-100mA 同理,若s 在位置3 I =I '+I ''=40mA+k 2s u 2 3 4621-=-=∴ s s u u k 2s u =150mA 故 I =190mA 3.8 N 为不含独立源的线性电阻电路,输出电压u =1/2s u ;若数处端 接5Ω电阻,u =1/3s u 问:输出端接3Ω电阻时,u 与s u 的关系。 +- u 图3.8 解:根据戴维南定理,电路等效为电压源和电阻串连

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

西安电子科技大学试卷资料

西安电子科技大学试卷 考试时间120 分钟试卷编号参考答案 班级学号姓名任课老师姓名 请按下述要求正确答题: 1. 在试卷指定位置上正确写入你的班级、学号、姓名和任课老师姓名。 2.全部试卷共 11 页。试卷必须交回,否则以零分计。 3.试题解答必须写在试卷上,若试卷上写不下可以写在试卷的背面,写在草稿纸上的解答一律无效。 4.本试卷的试题共有五道大题,需要全部解答。 5.解答前务必阅读清楚题意,及解答要求,否则导致不能正确评分概由自己负责。 一、单项选择题(每小题1分,共10分) 1.访管指令所引起的中断属于( C )中断。 A.外中断B.I/O中断C.软中断D.程序中断2.资源静态分配法破坏了死锁产生的(B)条件来预防死锁的发生。 A.互斥控制B.保持和等待 C.不可剥夺控制D.循环等待 3.虚拟存储的基础是程序局部性理论,它的基本含义是( B )。 A.代码的顺序执行B.程序执行时对内存访问的不均匀性 C.变量的连续访问D.指令的局部性 4.关于SPOOLING系统(D)的描述是错误的。 A.不需要独占设备 B.加快了作业执行的速度 C.使独占设备变成了共享设备

D.利用了处理器与通道并行工作的能力 5.设系统中有m个同类资源数,n为系统中的并发进程数,当n个进程共享m个互斥资源时,每个进程的最大需求数是w,试问下列情况下系统会死锁的是(D)。 A.m=4,n=3,w=2 B.m=2,n=2,w=1 C.m=5,n=2,w=3 D.m=4,n=3,w=3 6.文件系统中实现按名存取的功能是通过查找(B)来实现的。 A.磁盘空间B.文件目录C.磁盘控制器D.位示图7.下面的叙述中,(D)不是设备管理中引入缓冲机制的主要原因。 A.缓和CPU和I/O设备间的速度不匹配问题 B.减少对CPU的中断频率和放宽对CPU响应时间的限制 C.提高CPU和I/O设备间的并行性 D.节省系统内存 8.下列操作系统强调交互性的系统是(B)。 A.批处理系统B.分时系统C.实时系统D.网络操作系统 9.响应比高者优先作业调度算法是通过计算时间和(D)来实现的。 A.输入时间B.完成时间C.周转时间D.等待时间10.在可变分区管理方案中,若采用“最佳适应”分配算法,通常将空闲区按(A )排列。 A.容量递增B.容量递减C.地址递增D.地址递减二、填空题(每空格1分,共15分) 1.把作业装入内存时完成地址变换的方式称静态地址再定位,而在作业执行期间(访问到指令或数据)才进行地址变换的方式称为动态地址再定位。 2.死锁产生的四个必要条件是互斥执行、保持和等待、不可剥夺和循环等待。

汇编语言程序设计

汇编语言程序设计 实验报告 实验名称上机过程及顺序结构与分支结构程序设计实验班级 学号 姓名 日期2017年10月26号 成绩 评阅人 软件学院

一、实验目的与意义 理解并熟练掌握汇编语言程序设计过程中的编辑、汇编、链接和调试等各个步骤,提高对汇编课程内容的理解和汇编语言的掌握,通过上机练习加深对课程内容的理解和掌握。通过汇编语言编制的程序上机调试、运行检验程序设计是否正确。熟悉和掌握编辑、汇编、连接和调试四个实用程序的使用方法,掌握调试程序中的几个常用命令的使用方法。熟悉其基本的指令操作,debug调试操作命令以及分支结构、顺序结构和循环结构的程序设计。 二、实验环境 操作系统:Microsoft Windows8 集成环境:Masm for Windows 上机地点:信息楼B405教室 三、实验的预习内容 预习的主要内容: 1. 使用DEBUG命令的方法; 2. 熟悉掌握从理论上定义数据的类型(即DB,DW,DD,); 3. 分支结构和顺序结构的步骤以及相关的指令; 4. 常用的标志位状态及相应的作用; 实验思路: 在对题目进行分析后,分析出解题方法,并做出与实验思路相对应的程序框图。依照程序框图的内容输入相对应的代码,最终在调试代码后,发现并解决一系列的汇编语言错误。进一步优化算法。实验之前必须了解十进制、十六进制和ASCII码之间的转换。预习查表法相关命令,掌握顺序程序的结构,从键盘输入数据的命令及显示到屏幕上的命令。 实验一: 题目1:将程序编辑、汇编、连接并通过集成环境中的debug调试,观察运行结果;用E命令修改指定地址的数据,再用G命令执行程序查看变化,用A 命令将加法指令修改成减法指令,再将其编译运行,查看寄存器值变化的异同。 题目2:分别用DB、DW和DD数据段9H,0FAH,41H,27H,编译链接之后生成exe文件,再用debug的r命令找到数据段地址,用d命令指定数据段地址,观察汇编后在机器内部对应的存储情况。 实验二: 先设置数据段地址和堆栈段地址;设置堆栈段指针;读取一个字符然后存储在AL中;用BX来存储AL中字符对应的数值;将BX中的值作为偏移地址;并在数据段中查找对应字符串;最终输出结果结束程序。 实验三: 先初始化数据段地址与堆栈段地址;设置堆栈段指针;然后将数据段中的data1放入AL中;读取数据段中的data2并判断data2是否大于0;然后读取数

第四章MCS-51汇编语言程序设计

第四章MCS-51汇编语言程序设计 重点及难点: 单片机汇编语言程序设计的基本概念、伪指令、单片机汇编语言程序的三种基本结构形式、常用汇编语言程序设计。 教学基本要求: 1、掌握汇编语言程序设计的基本概念; 2、掌握伪指令的格式、功能和使用方法; 3、掌握顺序结构、分支结构和循环结构程序设计的步骤和方法; 4、掌握常用汇编语言程序设计步骤和方法。 教学内容 §4.1汇编语言程序设计概述 一、汇编语言的特点 (1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 (2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 (3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 (4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 二、汇编语言的语句格式 [<标号>]:<操作码> [<操作数>];[<注释>] 三、汇编语言程序设计的步骤与特点 (1)建立数学模型 (2)确定算法 (3)制定程序流程图 (4)确定数据结构 (5)写出源程序 (6)上机调试程序 §4.2伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 MCS- 51常见汇编语言程序中常用的伪指令:

第四章MCS-51汇编语言程序设计91 1.ORG (ORiGin)汇编起始地址命令 [<标号:>] ORG <地址> 2.END (END of assembly)汇编终止命令 [<标号:>] END [<表达式>] 3.EQU (EQUate)赋值命令 <字符名称> EQU <赋值项> 4.DB (Define Byte)定义字节命令 [<标号:>] DB <8位数表> 5.DW (Define Word)定义数据字命令 [<标号:>] DW <16位数表> 6.DS (Define Stonage )定义存储区命令 [<标号:>] DW <16位数表> 7.BIT位定义命令 <字符名称> BIT <位地址> 8.DA TA数据地址赋值命令 <字符名称> DATA <表达式> §4.3单片机汇编语言程序的基本结构形式 一、顺序程序 [例4-1]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、5414和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 MOV R0 ,# 52H ;被加数的低字节地址 MOV R1 ,# 55H ;加数的低字节地址 MOV A ,@ R0 ADD A ,@ R1 ;低字节相加 MOV @ R0 , A ;存低字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;中间字节带进位相加 MOV @ R0 , A ;存中间字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;高字节带进位相加 MOV @ R0 , A ;存高字节相加结果 CLR A

新版汇编语言程序设计钱晓捷第1章习题答案

第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

汇编语言程序设计

实验四程序设计 一、实验目的 学习数据传送指令和算术运算指令的用法;掌握数据定义伪指令的格式,会用DEBUG 中的D命令观察DB、DW、DD存储数据的格式;熟悉汇编语言的基本框架,掌握编写汇编语言程序的基本方法。 二、实验题 1、已知当前数据段中DADT1和DADT2开始分别存放若干字节数据,数据个数相同,编制程序检查两数据块中数据是否相同,若相同,则在屏幕上显示1,否则显示0。 【参考程序如下】 DSEG SEGMENT DATA1 DB 'ABCDEFG3' DATA2 DB 'ABCDEF3G' CNT DW 8 DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AX MOV DL,31H LEA SI,DATA1 LEA DI,DATA2 MOV CX,CNT DEC SI DEC DI AGAIN:INC SI INC DI MOV AL,[SI] CMP AL,[DI] LOOPZ AGAIN JZ DISP DEC DL DISP: MOV AH,2

INT 21H MOV AH,4CH INT 21H CSEG ENDS END START 阅读程序,理解循环程序结构及执行过程,并改成串指令实现。 2 编写程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。 三、实验报告 写出程序清单,记录运行结果。 改写串指令实现: DSEG SEGMENT DATA1 DB'ABCDEFG3' DATA2 DB'ABCDEF3G' CNT DW8 DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AX MOV ES,AX MOV DL,31H LEA SI,DATA1 LEA DI,DATA2 MOV CX,CNT CLD

汇编语言程序设计(第四版)第2章【课后答案】汇总

汇编语言程序设计第四版 【课后习题答案】--囮裑為檤 第2章8086的指令系统 〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。 (1)mov ax,1200h (2)mov ax,bx (3)mov ax,[1200h] (4)mov ax,[bx] (5)mov ax,[bx+1100h] (6)mov ax,[bx+si] (7)mov ax,[bx][si+1100h] 〔解答〕 (1)AX=1200H (2)AX=0100H (3)AX=4C2AH ;偏移地址=bx=0100h (4)AX=3412H ;偏移地址=bx=0100h (5)AX=4C2AH ;偏移地址=bx+1100h=1200h (6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h (7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误 (1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov [sp],ax (7)mov ax,bx+di

(8)mov 20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[ SI ] (7)源操作数应为[BX+DI] (8)立即数不能作目的操作数 〔习题2.3〕已知数字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 P35 〔习题2.4〕什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令? 〔解答〕 堆栈是一种按“先进后出”原则存取数据的存储区域,位于堆栈段中,使用SS段寄存器记录其段地址;它的工作原则是先进后出;堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 〔习题2.5〕已知SS = 2200H、SP = 00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化? mov ax,8057h push ax mov ax,0f79h push ax

西安电子科技大学电院微机原理试题2.

西安电子科技大学微机原理试题 姓名学号总分 一.填空题(每空1分,共30分 115的8位二进制补码为00001111B ,-15的8位二进制补码为11110001B 。2某8位二进制补码为80H,其十进制表示为-128 。 3字符B的ASCII码为42H ,字符0的ASCII码为30H 。 48086CPU总线按功能可分为数据总线,地址总线和控制总线。 58086CPU数据总线包含16 条数据线,最多可寻址的存储器容量为1MB 。 6CPU内部用于计算的部分为C ,用于保存下一条要执行的指令地址的为B 。 A 程序状态字 B 程序计数器 C ALU D 工作寄存器 7经常用作循环次数的寄存器是C ,用于I/O端口寻址的寄存器是D 。 A AX B BX C CX D DX 8指令MOV CX, 1000的结果是CH= 03H 。 9将0D787H和4321H相加后,标志位CF= 1 ,SF= 0 ,ZF= 0 , OF= 0 ,AF= 0 ,PF= 0 。 10寄存器SI中能够表示的最大有符号数为32767 ,最小有符号数为-32768 。

11设(DS=4000H,(BX=0100H,(DI=0002H,(4002=0A0AH,(40100=1234H,(40102 =5678H,求以下指令分别执行后AX寄存器的值。 MOV AX , [2] (AX= 0A0AH 。 MOV AX , [BX] (AX= 1234H 。 MOV AX , [BX][DI] (AX= 5678H 。 MOV AX , 1[BX] (AX= 7812H 。 12用一条指令将AX寄存器低四位清零,其余位不变:。 13用一条指令将AX寄存器高四位取反,其余位不变:。 14用一条指令将AX高8位与低8位交换:。 15用一条指令将AL中的大写字母变成相应的小写:。 二.判断题(每题1分,共10分 以下语句是语法正确的打√,语法错误打×,其中TABLE和TAB为两个字节类型的变量。 1MOV DS , 1000H × 2MOV DS , TABLE √ 3MOV [1200H] , [1300H] × 4ADD AX , BX , CX × 5XCHG AL , CL √ 6CALL AL ×

相关文档
最新文档