8086汇编语言习题解答 下载本文

上述程序段运行结束后,BUF中各字节单元的内容是什么? 答:AX:AC27,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:CC 11 14 00 18 9B 13 4.2、某数据段中有

COUNT1 EQU 16H COUNT2 DW 16H

下面两条指令有何异同: MOV AX, COUNT1 MOV BX, COUNT2 答:AX:0016H,

BX=1084H

是赋值语句

COUNT1 EQU 16H

MOV BX, COUNT2是定义的地址指针,在1084H中才放字16H.

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

MOV BL,M1

EQU

10H

M1 DW

5060H

⑵、M2

MOV M2,AL

DW

‘ABCD’

⑶、M3

⑷、M4

⑸、DATA1

DA1

SEGMENT

1234H

DB 1234

DW

DATA1 DATA2 DA2

ENDS SEGMENT

5678H

DW

DATA2 ENDS

CODE SEGMENT

CODE ENDS

MOV BX,DA2

ASSUME CS:CODE,DS:DATA1

4.4、设已定义数据段:

DA1 DA2

DB DB

XX, XX XX, XX DA1, DA2

DATA

SEGMENT

ADRR DW DATA ENDS

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

4.5、下面的程序段中,有数据为3000H的字存储单元有几个?它们的偏移量分别是多小?

ORG

30H

0, ’0’, 30H, 0, 30H DA1

DA1

DB DW

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

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

LDS

SI,ADDR+1

ADDR

DW

1234H, 5678H, 0ABCDH

DB

10H

DUP(1,2

DUP(2))

4.8、设某数据段为:

DATA

SEGMENT ORG NUM1=8

MUM2=NUM1+10H

DB

‘IBM PC’ 20H

DA1

DB EQU

0AH,0DH

$=DA1

‘IB’,’M’,’PC’,0A0DH

CUNT DA2

DW

DATA ENDS

上述数据段定义后,DA1和DA2的偏移量,CUNT的值以及DA2+5字节

单元的内容分别是多少?

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

DATA1 DA1

SEGMENT WORD PUBLIC

DB

20H

DUP(0)

DATA1 DATA2 DA2

ENDS

SEGMENT PAGE PUBLIC

DB

20H

DUP(0)

DATA2 ENDS

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

多少?

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

ORG

0202H 20H

DA_WORD DW

MOV MOV MOV MOV

AX, DA_WORD BX, OFFSET

DA_WORD

DA_WORD+1

CL, BYTE PTR

CH, TYBE DA_WORD

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

NUM1=20*20 NUM2 REL1

MOV MOV

BX, REL2 CX, WORD PTR

REL2

EQU DW

400H NUM1 LE

NUM2, EQ NUM2