(1E4F6H)=091DH。
在以上给出的环境下,试问下列指令或指令段执行后的结果如何?
(1) MOV CL,[BX+20H][SI]; ext: DS*10H=091D0H+56H=09226H
CL= 00F6H
(2) MOV [BP][DI],CX;
[BP][DI]= ,CX=
(3) LEA BX,[BX+20H][SI]
MOV AX,[BX+2]
AX= ,BX=
(4) LDS SI,[BX][DI]
MOV [SI],BX
SI= 00F6 ,BX= ,[SI]=
(5) XCHG CX,[BX+32H] DS*10+BX+32H=
XCHG [BX+20H][SI],AX
CX= ,AX= ,
2.设DS=1000H:SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,
(126A5H)=16H,(21350H)=88H,(21351H)=51H;
下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的
执行结果。
(1) MOV AX,1352H
AX=
(2) MOV AX,[1352H]
AX=
(3) MOV 0150H[BX],CH
(11350H)=
(4) MOV AX,0150H[BP]
AX=
(5) POP AX
AX= 88H ,SP= 1352H
(6) ADD [SI],CX
(11354H)= ,(11355H)= ,SF= ,
ZF= ,PF= ,CF= ,OF=
(7)SUB BH.0150H[BX][SI]
BH= ,SP= ,ZF=
PF= ,CF= ,OF=
(8) INC BYTE PTR 0152H[BX]
(11352H)= ,(11353H)= 26H ,CF= 1
(9) INC WORD PTR 0152H[BX]
(11352H)= ,(11353H)= 27H ,CF= 0
(10) SAR BYTE PTR 0150H[BX]
(11350H)= 5AH .CF= 1 ,OF= 1
(11) SAL BYTE PTR 0150H[BX],
(11350H)= ,CF= ,OF=
4.阅读下列各小题的指令序列.在后面丰格中填入该指令序列的执行结果
(1) MOV BL,85H
MOV AL,17H
ADD AL,BL
DAA
AL= 02H ,BL= 85H ,CF= 1
(2)MOV AX,BX
NOT AX
ADD AX,BX
INC AX
AX= 0 ,CF 1
(3) MOV AX,0FF60H
STC
MOV DX、96
XOR DH,0FFH
SBB AX,DX
AX= ,CF= 1
(4) MOV BX,0FFFEH
MOV CL,2
SAR RX,CL
BX= ,CF=
5.阅读分析下列指令序列 程序题
ADD AX,BX
JNC L1
JNO L2
SUB AX,BX
JNC L3
JNO L4
JMP L5
若AX和BX的初始值分别如下列五种情况所示,则执行该指令序列后,程序分别转向何处执行(注:即与出转移大的目的地址L1~L5中的一个)。
(1)AX=14C6H,BX=80DCH
(2)AX=0B568H,BX=54B7H
(3)AX=42C8H,BX=608DH
(4)AX=0D023H,BX=9FD0H
(5)AX=9FD0H,BX=0D023H L4 AX+BX=1FF3H CF=1,OF=1 CF=1 Of=0
6.AND AL,AL
JZ BRCHl
RCR AL,1
JZ BRCH2
RCL AL,1
INC AL
JZ BRCH3
:
上述程序运行后,试回答: 程序题
(1)当(AL)=00H 时,程序转向BRCHl
(2)当(AL)= 01H 时,程序转向BRCH2
(3)当(AL)=FFH 时,程序转向BRCH3
9. 程序段1 程序段2
MOV AX.147BH MOV AX,99D8H
MOV BX.80DCH MOV BX.9847H
ADD AX.BX SUB AX,BX
JNO L1 JNC L3
JNC L2 JNO L4
上述两个程序段执行后,分别转移到哪里?简述题
10.MOV BX,0FFH
AND BX,0FFFH
0R BX,0F0FH
XOR BX.00FFH
上述程序段运行后,BX= 0F00H ,CF= 0
11. CMP AX,BX
JGE NEXT
XCHG AX,BX
NEXT: CMP AX,CX
JGE DONE
XCHG AX,CX
DONE; :
试回答:
(1)上述程序段执行后.原有AX,BX,CX中最大数存放在哪个寄存器中?
(2)这三个数是带符号数还是无符号数? 简述题
12.设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H,请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 ;
MOV @R0,40H ;
MOV [40H],A ;
MOV R0,#35H ;
R0= A= [32H]= [40H]=
1.画出下列语句中的数据在存储器中的存储情况。简述题
ARRAYB DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3)
ABRAYW DW l234H,5,’AB’,’CD’,9.2 DUP(1,3)
15.编写一程序段,将AL中的第7和第0位,第6和第1位,第5和第2
位,第4和第3位互换.
16.试编写——程序段,在CHAR为首址的26个字节单元中依次存放字母’
A’—’Z’。
17.设在数据段中有x,y两变量(字节单元),试编写程序段计算(只写有
关程序功能的指令)。
21 个解决方案
#1
做人不能太懒了........
#2
支持楼上的
#3
同意,作业?
#4
是朋友托我做的,我已经忘记光啦,求达人帮忙啦
#5
自己顶下
#6
iiii
#7
哦
#8
做人不能太懒了........
#9
1.MOV CL,20H[BX][SI];结果(CL)=(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)=0F6H
2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H
3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=0056H送给BX,即结果(BX)=0056H
MOV AX,2[BX];结果是(AX)=(DS:[BX+2])=(091DH:0058H)=(09228H)=1E40H
4.LDS SI,[BX][DI];结果是将内存双字单元(DS:[BX+DI])=(091DH:0056H)=(09226H)中的内容分别送给SI和DS,即结果为(SI)=00F6H,(DS)=1E40H
MOV [SI],BX;结果是将BX值0024H送给内存单元(DS:[SI])=(1E40H:00F6H)=(1E4F6H)中
即最终结果为(1E4F6H)=0024H
5.XCHG CX,32H[BX];结果是将CX的值5678H和内存单元(DS:[BX+32H])=(091DH:0056)=(09226H)中的内容00F6H互换,互换后结果为(CX)=00F6H,(09226H)=5678H
XCHG 20H[BX][SI],AX;结果是将AX的值1234H与内存单元(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)中的内容5678H互换,互换后结果为(AX)=5678H,(09226H)=1234H
2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H
3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=0056H送给BX,即结果(BX)=0056H
MOV AX,2[BX];结果是(AX)=(DS:[BX+2])=(091DH:0058H)=(09228H)=1E40H
4.LDS SI,[BX][DI];结果是将内存双字单元(DS:[BX+DI])=(091DH:0056H)=(09226H)中的内容分别送给SI和DS,即结果为(SI)=00F6H,(DS)=1E40H
MOV [SI],BX;结果是将BX值0024H送给内存单元(DS:[SI])=(1E40H:00F6H)=(1E4F6H)中
即最终结果为(1E4F6H)=0024H
5.XCHG CX,32H[BX];结果是将CX的值5678H和内存单元(DS:[BX+32H])=(091DH:0056)=(09226H)中的内容00F6H互换,互换后结果为(CX)=00F6H,(09226H)=5678H
XCHG 20H[BX][SI],AX;结果是将AX的值1234H与内存单元(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)中的内容5678H互换,互换后结果为(AX)=5678H,(09226H)=1234H
#10
1.画出下列语句中的数据在存储器中的存储情况。简述题
ARRAYB DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3)
ABRAYW DW l234H,5,’AB’,’CD’,9.2 DUP(1,3)
答:
0000 3F 63 41 42 43 44 ARRAYB DB 63,63H,'ABCD',3 DUP(?),2 DUP(1,3)
[ 0003
00]
[ 0002
01 03]
000D 1234 0005 6162 6364 ABRAYW DW 1234H,5,'ab','cd',9,2 dup(1,3)
0009
0002
[ 0001 0003]
ARRAYB DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3)
ABRAYW DW l234H,5,’AB’,’CD’,9.2 DUP(1,3)
答:
0000 3F 63 41 42 43 44 ARRAYB DB 63,63H,'ABCD',3 DUP(?),2 DUP(1,3)
[ 0003
00]
[ 0002
01 03]
000D 1234 0005 6162 6364 ABRAYW DW 1234H,5,'ab','cd',9,2 dup(1,3)
0009
0002
[ 0001 0003]
#11
4.阅读下列各小题的指令序列.在后面丰格中填入该指令序列的执行结果
(1) MOV BL,85H
MOV AL,17H
ADD AL,BL
DAA
AL=0002H,BL=0085H,cf=1
(2)MOV AX,BX
NOT AX
ADD AX,BX
INC AX
AX=0,CF=0
(3) MOV AX,0FF60H
STC
MOV DX、96
XOR DH,0FFH
SBB AX,DX
AX=ffca,CF=1
(4) MOV BX,0FFFEH
MOV CL,2
SAR RX,CL
BX=ffff,CF=1
(1) MOV BL,85H
MOV AL,17H
ADD AL,BL
DAA
AL=0002H,BL=0085H,cf=1
(2)MOV AX,BX
NOT AX
ADD AX,BX
INC AX
AX=0,CF=0
(3) MOV AX,0FF60H
STC
MOV DX、96
XOR DH,0FFH
SBB AX,DX
AX=ffca,CF=1
(4) MOV BX,0FFFEH
MOV CL,2
SAR RX,CL
BX=ffff,CF=1
#12
16.试编写——程序段,在CHAR为首址的26个字节单元中依次存放字母’
A’—’Z’。
答:
.model small
.stack
.data
char db 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z !',0dh,0ah,'$'
.code
.startup
mov dx,offset char
mov ah,9
int 21h
.exit
end
A’—’Z’。
答:
.model small
.stack
.data
char db 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z !',0dh,0ah,'$'
.code
.startup
mov dx,offset char
mov ah,9
int 21h
.exit
end
#13
想想也不是很难
#14
想想也不是很难
#15
啥也不说了.顶楼上的.超强..
#16
顶做解答的高手!
#17
乱
#18
还有没有做完的!!顶下!!
#19
人家做了那半天,楼主应该多表示才对。
#20
时代不同了
#21
九楼~~顶你~~
#1
做人不能太懒了........
#2
支持楼上的
#3
同意,作业?
#4
是朋友托我做的,我已经忘记光啦,求达人帮忙啦
#5
自己顶下
#6
iiii
#7
哦
#8
做人不能太懒了........
#9
1.MOV CL,20H[BX][SI];结果(CL)=(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)=0F6H
2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H
3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=0056H送给BX,即结果(BX)=0056H
MOV AX,2[BX];结果是(AX)=(DS:[BX+2])=(091DH:0058H)=(09228H)=1E40H
4.LDS SI,[BX][DI];结果是将内存双字单元(DS:[BX+DI])=(091DH:0056H)=(09226H)中的内容分别送给SI和DS,即结果为(SI)=00F6H,(DS)=1E40H
MOV [SI],BX;结果是将BX值0024H送给内存单元(DS:[SI])=(1E40H:00F6H)=(1E4F6H)中
即最终结果为(1E4F6H)=0024H
5.XCHG CX,32H[BX];结果是将CX的值5678H和内存单元(DS:[BX+32H])=(091DH:0056)=(09226H)中的内容00F6H互换,互换后结果为(CX)=00F6H,(09226H)=5678H
XCHG 20H[BX][SI],AX;结果是将AX的值1234H与内存单元(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)中的内容5678H互换,互换后结果为(AX)=5678H,(09226H)=1234H
2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H
3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=0056H送给BX,即结果(BX)=0056H
MOV AX,2[BX];结果是(AX)=(DS:[BX+2])=(091DH:0058H)=(09228H)=1E40H
4.LDS SI,[BX][DI];结果是将内存双字单元(DS:[BX+DI])=(091DH:0056H)=(09226H)中的内容分别送给SI和DS,即结果为(SI)=00F6H,(DS)=1E40H
MOV [SI],BX;结果是将BX值0024H送给内存单元(DS:[SI])=(1E40H:00F6H)=(1E4F6H)中
即最终结果为(1E4F6H)=0024H
5.XCHG CX,32H[BX];结果是将CX的值5678H和内存单元(DS:[BX+32H])=(091DH:0056)=(09226H)中的内容00F6H互换,互换后结果为(CX)=00F6H,(09226H)=5678H
XCHG 20H[BX][SI],AX;结果是将AX的值1234H与内存单元(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)中的内容5678H互换,互换后结果为(AX)=5678H,(09226H)=1234H
#10
1.画出下列语句中的数据在存储器中的存储情况。简述题
ARRAYB DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3)
ABRAYW DW l234H,5,’AB’,’CD’,9.2 DUP(1,3)
答:
0000 3F 63 41 42 43 44 ARRAYB DB 63,63H,'ABCD',3 DUP(?),2 DUP(1,3)
[ 0003
00]
[ 0002
01 03]
000D 1234 0005 6162 6364 ABRAYW DW 1234H,5,'ab','cd',9,2 dup(1,3)
0009
0002
[ 0001 0003]
ARRAYB DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3)
ABRAYW DW l234H,5,’AB’,’CD’,9.2 DUP(1,3)
答:
0000 3F 63 41 42 43 44 ARRAYB DB 63,63H,'ABCD',3 DUP(?),2 DUP(1,3)
[ 0003
00]
[ 0002
01 03]
000D 1234 0005 6162 6364 ABRAYW DW 1234H,5,'ab','cd',9,2 dup(1,3)
0009
0002
[ 0001 0003]
#11
4.阅读下列各小题的指令序列.在后面丰格中填入该指令序列的执行结果
(1) MOV BL,85H
MOV AL,17H
ADD AL,BL
DAA
AL=0002H,BL=0085H,cf=1
(2)MOV AX,BX
NOT AX
ADD AX,BX
INC AX
AX=0,CF=0
(3) MOV AX,0FF60H
STC
MOV DX、96
XOR DH,0FFH
SBB AX,DX
AX=ffca,CF=1
(4) MOV BX,0FFFEH
MOV CL,2
SAR RX,CL
BX=ffff,CF=1
(1) MOV BL,85H
MOV AL,17H
ADD AL,BL
DAA
AL=0002H,BL=0085H,cf=1
(2)MOV AX,BX
NOT AX
ADD AX,BX
INC AX
AX=0,CF=0
(3) MOV AX,0FF60H
STC
MOV DX、96
XOR DH,0FFH
SBB AX,DX
AX=ffca,CF=1
(4) MOV BX,0FFFEH
MOV CL,2
SAR RX,CL
BX=ffff,CF=1
#12
16.试编写——程序段,在CHAR为首址的26个字节单元中依次存放字母’
A’—’Z’。
答:
.model small
.stack
.data
char db 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z !',0dh,0ah,'$'
.code
.startup
mov dx,offset char
mov ah,9
int 21h
.exit
end
A’—’Z’。
答:
.model small
.stack
.data
char db 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z !',0dh,0ah,'$'
.code
.startup
mov dx,offset char
mov ah,9
int 21h
.exit
end
#13
想想也不是很难
#14
想想也不是很难
#15
啥也不说了.顶楼上的.超强..
#16
顶做解答的高手!
#17
乱
#18
还有没有做完的!!顶下!!
#19
人家做了那半天,楼主应该多表示才对。
#20
时代不同了
#21
九楼~~顶你~~