8086汇编语言习题解答.docx

上传人:b****3 文档编号:11213310 上传时间:2023-05-29 格式:DOCX 页数:20 大小:23.59KB
下载 相关 举报
8086汇编语言习题解答.docx_第1页
第1页 / 共20页
8086汇编语言习题解答.docx_第2页
第2页 / 共20页
8086汇编语言习题解答.docx_第3页
第3页 / 共20页
8086汇编语言习题解答.docx_第4页
第4页 / 共20页
8086汇编语言习题解答.docx_第5页
第5页 / 共20页
8086汇编语言习题解答.docx_第6页
第6页 / 共20页
8086汇编语言习题解答.docx_第7页
第7页 / 共20页
8086汇编语言习题解答.docx_第8页
第8页 / 共20页
8086汇编语言习题解答.docx_第9页
第9页 / 共20页
8086汇编语言习题解答.docx_第10页
第10页 / 共20页
8086汇编语言习题解答.docx_第11页
第11页 / 共20页
8086汇编语言习题解答.docx_第12页
第12页 / 共20页
8086汇编语言习题解答.docx_第13页
第13页 / 共20页
8086汇编语言习题解答.docx_第14页
第14页 / 共20页
8086汇编语言习题解答.docx_第15页
第15页 / 共20页
8086汇编语言习题解答.docx_第16页
第16页 / 共20页
8086汇编语言习题解答.docx_第17页
第17页 / 共20页
8086汇编语言习题解答.docx_第18页
第18页 / 共20页
8086汇编语言习题解答.docx_第19页
第19页 / 共20页
8086汇编语言习题解答.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

8086汇编语言习题解答.docx

《8086汇编语言习题解答.docx》由会员分享,可在线阅读,更多相关《8086汇编语言习题解答.docx(20页珍藏版)》请在冰点文库上搜索。

8086汇编语言习题解答.docx

8086汇编语言习题解答

8086/8088汇编语言习题解答

第一章

1.1、试根据自己使用计算机的经历,列举几个必须使用或最好是使用汇编语言编制程序的事例。

1.2、试完成下列数制间的转换

⑴、十进制数转换为

8位二

进制数

十进制:

100

对应

二进制:

01100100B

十进制:

56

对应

二进制:

00111000B

十进制:

111

对应

二进制:

01101111B

十进制:

120

对应

二进制:

01111000B

十进制:

70

对应

二进制:

01000110B

⑵、8位二进制数(无符号数)转换为十进制数

 

二进制:

01010101B

对应

十进制:

85

二进制:

10101010B

对应

十进制:

170

二进制:

11110000B

对应

十进制:

240

二进制:

00001111B

对应

十进制:

15

⑶、十进制数转换为十六进制数

十进制

40

对应

二进制:

00101000B

十进制:

80

对应

二进制:

01010000B

十进制:

105

对应

二进制:

01101001B

十进制:

114

对应

二进制:

01101101B

十进制:

207

对应

二进制:

11001111B

1.3、试把下面用补码表示的二进制数转换为对应的十进制真值

二进制补码:

01111000

对应的十进制值数真值:

+120

二进制补码:

11011001

对应的十进制值数真值:

-39

二进制补码:

10000001

对应的十进制值数真值:

-127

二进制补码:

10001000

对应的十进制值数真值:

-120

二进制补码:

00100111

对应的十进制值数真值:

+39

二进制补码:

11110000

对应的十进制值数真值:

-16

1.4、由键盘输入字符通常都是以该字符的ASCII码形式表示的。

若现在从键盘上输入十六进制数0〜F,那么应如何处理才能把十六进制转换为4位二进制数0000〜1111.

答:

将键盘输入的数0〜F的ASCII码,每输入一个字符,减去30H后,再存入内存,这样就完成了把从键盘上输入的十六进制ASCII码转换为4位二进制数0000〜1111.

1.5、试分别判断下列各组数据中哪个数据最大?

哪个最小?

1、A=0.101BB=0,101DC=0,101H

2、A=1011BB=1011DC=1011H

答:

第①组:

A=1X21+1X23=0.625

B=0.101

13

C=1X16+16=0.0625+0.00024414=0.06274414

所以A最大,C最小

第②组,E最大,A=E最小

1.6、现有一个二进制数10110110.若将该数看着是无符号数、原码表示的带符号数、补码表示的带符号数,它对应的十进制数的真值是多少

答:

10110110.的无符号数的十进制是:

+182;

10110110.的原码带符号数的十进制是:

-54

10110110.补码表示的带符号数的十进制是:

+74

1.7、下列各组数据均为十进制数,先将各数据转换为补码表示的带符号数,然后用补码的加减运算分别完成下列各小题,并用十六进制数形式回答运算结果。

1、58+36②、(-58)+36③、58+(-36)④、(-58)+(-36)

⑤、58-36⑥、(-58)-36⑦、58-(-36)⑧、(-58)-(-36)

答:

①、58+36的运算结果是:

00111010+00010100=01001110=01011110

2、(-58)+36的运算结果是:

11000110+00010100=11101010=-000101001

3、58+(-36)的运算结果是:

00111010+11011100=00010110

4、(-58)+(-36)的运算结果是:

11000110+10100010=10100010

5、58-36的运算结果是:

00111010+11011100=00010110

6、(-58)-36的运算结果是:

11000110+10100010=10100010

7、58-(-36)的运算结果是:

00111010+00010100=01001110=01011110

8、(-58)-(-36)的运算结果是:

11000110+00010100=11101010=-000101001

第二章

2.1、试说明8086/8088CPU中有哪些寄存器?

各有什么用途?

答:

寄存器AXAL:

在乘法指令中,存放乘数和乘积;

在除法指令中,存放被除数和商;

在未组合BCD码运算的校正指令中

在某些串操作指令(LODSSTOSSCAS中

在输入输出令中作数据寄存器

寄存器AH在LAHF指令中作目的寄存器

寄存器AL:

在组合型BCD码的加减法校正指令中

在XLAT指令中作目的寄存器

寄存器BX在XLAT指令中基址寄存器

寄存器CX在循环指令中作循环次数计数器

寄存器CL在移位指令中作移位次数计数器

寄存器DX:

在字数据的乘法和除法指令中辅助累加器

寄存器SP在堆栈操作中作堆栈指计

寄存器SI:

在串操作指令中作源变址寄存器

寄存器DI:

在串操作指令中作目的变址寄存器

2.2、试说明8086/8088CPU中标志寄存器各标志位的意义?

答:

8086/8088CPU中标志寄存器各标志位的意义是:

CF:

进位标志

PF:

奇遇标志

AF:

辅助进位标志

ZF:

零值标志

SF:

符号位标志

TF:

单步标志

IF:

中断允许标志

DF:

方向标志

OF:

溢出标志

2.3、哪些操作只能隐含使用某个段寄存器,而不能用其他寄存器替代?

哪些操作除隐含使用某个段寄存器外,还可以用其他段寄存器替代?

答:

在“取指令”、“堆栈操作”、“存目的串”三操作时,只能分别使用隐含段寄存器“CS'、“SS'“ES',不能用其他寄存器替代;在“取源串”、“以BP作基址”、“存取一般变量”三操作时,除了可分别使用隐含段寄存器“DS'、“SS'“DS外,还可分别使用“CS

SSES',

CSDSES'

CSSSES'等进行替代。

2.4、8086/8088系列微机在存储器中寻找存储单元时,逻辑地址由哪两部分组成?

答:

在8086/8088系列微机在存储器中寻找存储单元时,逻辑地址由段基值和偏移量两部分组成,它们都是16位无符号二进制数。

2.5、设IBMPC微机内存某一单元的物理地址是12345H试完成下列不同的逻辑地址表示:

1、1234H:

0005_H;EA=g基值+DISP=12340H+0005H=12345H

2、1200H:

0345H;EA=g基值+DISP=12000H+0345H=12345H

2.6、假设某用户程序装入内存后,(SS=0950H,(SP)=64H,试问该用户程序的堆栈底部(字单元)物理地址是是多少?

2.7、设堆栈段寄存器(SS=3E4BH程序中设置堆栈长度为200个字节。

试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)

和SP初始值指向的物理地址。

2.8、设某用户程序(SF)=30H,(AX=1234H,(DS=5678H=如现有两条指令:

PUSHAX

PUSHDS

试冋两条指令执行后,图2.18中各单兀的数据是多少?

(SP)=?

答:

(SP)=30H-4H=2CH

2.9、在IBM-PC微机上,分别进行下列8位二进制数的运算后,标志寄

存器中OFZF、SF、CF的值各是多少?

1、10101011+01010101②、11011010+11101101

3、01010101-00111110④、10110011-01100010

2.10、设(SP)=50H

PUSHAX

PUSHBX

PUSHCX

执行上述三条指令后,(SP)=44H。

2.11、设(SP)=6EH

PO申

POPAX

执行上述两条指令后,(SP)=72HQ

第三章

3.1、试分别说明下列各指令中源操作数和目的操作数使用的寻址方式:

①、AND

AX,0FFH

;立即数寻址

②、AND

BL,[0FFH]

;直接寻址

③、MOV

DS,AX

;寄存器寻址

④、CMP

[SI],CX

;奇存器间接寻址

⑤、MOV

DS:

[0FFH],CL

;带前缀的直接寻址

⑥、SUB

[BP][SI],AH

;基址变址寻址

⑦、ADC

AX,0ABH[BX]

;基址寻址

⑧、OR

AX,-35[BX][DI]

;基址变址寻址

⑨、PUSH

DS

;寄存器寻址

3.2、试分别指出下列各指令语句的语法是否有错,若有错,指明是什么错

误。

①、MOV

[BX][BP],AX

;错,BX与BP必须二选一

②、TEST

[BP],BL

;正确

③、ADD

[SI],DA_BYTE

;错,源目操作数不能同时为存储器

④、AND

DH,DL

;错,同一奇存器咼、低子节不能与

⑤、CMP

CL,1234H

;正确

⑥、SHR

[BX][DI],3

;正确

⑦、NOT

CX,AX

;错,NOT指令只有一个操作数

⑧、LEA

DS,35[SI]

;正确

⑨、INC

CX,1

;正确

⑩、PUSH

45[DI]

;正确

3.3、下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF

分别是什么状态?

MOV

DL,,86

ADD

DL,0AAH

答:

以上两条指令执行后:

CF=

AF=

ZF=

SF=

OF=

3.4、在8086/8088CPU中可用于作地址指针的寄存器有哪些?

答:

3.5、已知(DS=091DH(SS)=1E4AH(AX=1234H,(BX=0024H

(CX>=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,单

元(09226H)=00F6H,(09228H)=1E40H(1E4F6H=091DH下各指标令或程

序段分别执行后的结果如何?

①、MOV

CL,20H[DI][SI]

②、MOV

[BP][DI],CX

③、LEA

BX,20H[BX][SI]

MOV

AX,2[BX]

④、LDS

SI,[BX][DI]

MOV

[SI],BX

⑤、XCHG

CX,32H[BX]

XCHG

AX,[SI]

3.6、已知(SS)=0915H,(DS)=0930H,(SI)=0A0H,

(DI)

=1C0H(BX)80H,(BP)=470H.现有一指令

“MOVAX,OPRD,若源操作数的物理地址为095C0H试用4种不同寻址方式该写此指令(要求上述每个已知条件至少要使用一次)。

3.7、已知(

DS=1234H,(SI)=124H,(12464H)=30ABH(12484H)

=464H

 

LEA

SI,[SI]

 

MOVAX,[SI]

MOV[SI+22H],1200H

LDSSI,[SI+20H]

ADDAX,[SI]

上述程序执行后:

(DS=,(SI)=(AX=

3.8、已知(AX)=0A5C6H,(CX)=0F03H,CF=1

RCL

AX,CL

AND

AH,CH

RCR

AX,CL

上述二条指令执行后:

(AX)=,CF=

 

3.9、已知(AX

=0FC77H,(CX)=504H,CF=1

SAR

AX,CL

XCHG

CH,CL

SHL

AX,CL

上述二条指令执行后:

(AX)=,CF=

 

3.10、已知(AX)=1234H

MOV

BX,AX

NEG

BX

ADD

AX,BX

 

上述二条指令执行后:

(AX)

(BX)二

 

 

CF=

3.11、已知(AX)=4321H

INC

AX

NEG

AX

DEC

AX

NEG

AX

上述几条指令执行后:

(AX)

3.12、已知

(AX)

=0A33AH,

(DX=0F0F0H

AND

AH,

DL

XOR

AL,

DH

NEG

AH

NOT

AL

上述几条指令执行后:

(AX)

3.13、已知

(AX)

=0FF60H

CF=1

MOV

DX,

96

XOR

DH

0FFH

SBB

AX,

DX

上述几条指令执行后:

(AX)

3.14、试按下列要求分别编制程序段:

①、把标志寄存器中符号位SF置''

2、寄存器AL中高低4位相互换

3、由寄存器AX,BX组成一个32位带符号数(AX中存高16位,试求这

个数的负数)

4、现有三个字节存储单元A、B、C。

在不使用ADD和ADC旨令的情况下,实现(A)+(B)送Co

5、用一条指令把CX中的整数转变成奇数(若原来是奇数,则CX看数据

不变;若原来是偶数,则(CX)+1形成奇数。

6、根据AX中有0的位对BX中对应位变反,其余各位保持不变

3.15、试给出下列各指令的机器目标代码:

①、

MOV

BL,12H[SI]

②、

MOV

12H[SI],BL

③、

SAL

DX,1

④、

ADD

0ABH[BP][DI],1234H

第四章

4.1、已知下列程序段

DATASEGMENT

DB1

DB

12H,34H,0,56H

DW1

DW

78H,90H,0AB46H,1234H

ADR1

DW

DB1

ADR2

DW

DW1

BUF

DB

5DUP(0)

DATA

ENDS

COSEGSEGMENT

ASSUMECS:

COSEG,DS:

DATA

STACK1SEGMENTPARASTACK

DW20HDUP(0)

STACK1ENDS

ORG

30H

START:

XOR

CX,CX

MOV

CL,3

ADD

ADR1,CX

SUB

ADR2,CX

MOV

BX,ADR2

MOV

DI,ADR2

MOV

AL,DB1[BX]

MOV

BUF[DI],AL

MOV

AX,DW1[BX][SI]

MOV

WORDPTRBUF,AX

COSEGENDS

ENDSTART

上述程序段运行结束后,BUF中各字节单元的内容是什么?

答:

AXAC27

BX

0704,

CX

0003,

DX

0000

SI:

0000,

DI:

0704,

BP

0000,

SP

0040

DS:

139B,

ES:

139B,

SS:

13B3,

CS

13AB

IP:

0053

DS:

0030:

CC111400189B13

4.2、某数据段中有

C0UNT1EQU16H

C0UNT2DW16H

下面两条指令有何异同:

MOVAX,COUNT1

MOVBX,COUNT2

答:

AX:

0016H,BX=1084H

C0UNT1EQU16H是赋值语句

MO\BX,C0UNT2是定义的地址指针,在1084H中才放字16H.

4.3、下面各题中有语法错误,试分别用两种办法修改题中语句,使它们在汇编时都能分别获得通过:

⑴、M1DW5060H

M0叫M1

⑵、M2EQU0H

M0VM2AL

⑶、M3DW‘ABCD

⑷、M4DB1234

(5)、DATA1SEGMENT

DA1DW1234H

DATA1

ENDS

DATA2SEGMENT

DA2DW5678H

DATA2ENDS

CODESEGMENT

ASSUMECS:

CODEDSDATA1

MO\BXDA2

CODEENDS

4.4、设已定义数据段:

DATASEGMENT

DA1

DB

XX,XX

DA2

DB

XX,XX

ADRR

DW

DA1,DA2

DATA

ENDS

为使ADRR+字存储单元中存内容为0022H,上述方框中应填写什么语句?

4.5、下面的程序段中,有数据为3000H的字存储单元有几个?

它们的偏移量分

别是多小?

ORG30H

DA1DB0,'0;30H,0,30H

DWDA1

4.6、下面的语句中有数据0102H的字存储单元有多少?

DB

10H

DUP(1,2DUP

(2))

4.7、下述指令执行后,寄存器DS和SI的内容分别是多少?

ADDR

DW1234H,5678H,0ABCDH

 

LDSSI,ADDR+1

4.8、设某数据段为:

DATA

SEGMENT

ORG

20H

NUM1=8

MUM2=NUM1+10H

DA1

DB

IBMPC'

DB

0AH,0DH

CUNT

EQU

$=DA1

DA2

DW

IB','

DATA

ENDS

'PC,OAODH

上述数据段定义后,DA1和

DA2的偏移量,CUNT勺值以及DA2+5字节单元的

内容分别是多少?

4.9、某源程序有如下数据段:

DATA1

SEGMENT

WORD

PUBLIC

DA1

DB20H

DUP(0)

DATA1

ENDS

DATA2

SEGMENT

PAGE

PUBLIC

DA2

DB

20HDUP(0)

DATA2

ENDS

设DA1物理地址是134CEH那么DATA2段基值,DA2的偏移量分别是多少?

4.10、下述程序段执行后,寄存器AX,BX和CX的内容分别是多少?

ORG0202H

DA_WORDDW20H

MOVAX,DA_WORD

MOVBX,OFFSETDA_WORD

MOVCL,BYTEPTRDA_WORD+1

MOVCH,TYBEDA_WORD

4.11、下述程序段执行后,寄存器BX和CX的内容分别是多少?

NUM仁20*20

NUM2

EQU

400H

REL1

DW

NUM1LE

NUM2,EQNUM2

 

MOV

BX,REL2

MOV

CX,WORDPTRREL2

4.12、下述程序段执行后,寄存器AX和BX的内容分别是多少?

NUMEQU945H

ALPH=35*27

MOVAX,ALPHLENUM

MOVBX,ALPHGTNUM

4.13、下述语句汇编后,$+20H和$+40H中的$值分别是多少

ORG34H

NUM

DA1DB10H,$+20H,30H,$+490H

DA2DA1+NUM+40H

4.14、试用数据定义语句DW改写下述语句,使它们在存储器中有完全相同的存储情况。

DA1DBABCDEFGHI

DA2DB12H,34H,56H,78H,9AH,0BCH

4.15、现有两个程序摸块:

TITLE

PROC

TITLE

PROC2

DATA1

SEGMENT

DATA2

SEGMEND

DA1

DB10H

DUP(0)

DA2

DW

10HDUP(0)

DATA1

ENDS

DATA2

ENDS

 

CODE1SEGMENT

CODE2

SEGMENT

ASSUMECS:

CODE1

ASSUMECS:

CODE2

ASSUMEDS:

DATA1

ASSUMEDS:

DATA2

START:

SUB2

PROCFAR

MO\AL,DA1+2

RET

MOVDX,DA2+2

CALLSUB2

SUB2ENDP

C0DE1ENDSCODE2ENDS

ENDATARTENDSUB2

在上述两个程序模块汇编、连接后,准备从START处开始执行。

但在汇

编连接期间出现语法错误,为使上述两程序模块能正确汇编、连接并执行,试修改和补充有关语句。

4.16、指出下列程序中哪几条语句有语法错误,并指出是什么错误(如符号有没

有定义)

序号

指令语句

1

DATA

SEGMENT

2

VAR1

DB0,3,5H,0B7H

3

VAR2

DB12H,A4H,5BH

4

VAR3

DBABCDEFGHI”

5

VAR4

DW1234H,”XY”0ACDH,87H

6

VAR5

DBDUP(?

7

DATA

ENDS

8

STACK1

1SEGMENDPARSTACK

9

DW10HDUP(0)

10

STACK1

1ENDS

11

COSEG

SEGMENT

12

ASSUMECS:

COSEG,DS:

DATA,SS:

STACK1

13

START

MOVBX,DATA

14

MOVDS,BX

16

MOV

BX,OFFSETVAR3

17

MOV

AX,VAR1+2

18

MOV

[SI],0ABH

19

SHL

AX,3

20

ADD

VAR1,VAR2+2

21

MOV

[BX],[SI]

22

MOV

AH,4CH

23

INT

21H

24

CODE

ENDS

25

END

START

4.17、试用段定义伪指令编制一个小练习程序。

待程序调试通过后,试对下列情

况作一试验,观察它们在汇编、连接、调试时有何变化?

⑴、在组合类型中没有指定”STAC'勺段;

⑵、有2〜3个数据段组合类型中分别设置PUBLIC和COMMON

⑶、在定位类型中有的段设置为WOR或BYTE

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2