《汇编语言》作业及答案Word文档格式.docx
- 文档编号:16650137
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:13
- 大小:20.43KB
《汇编语言》作业及答案Word文档格式.docx
《《汇编语言》作业及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《《汇编语言》作业及答案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
6若物理地址为2D8C0H,偏移量为B6A0H,则段地址为_2222H________。
7设(AL)=70H,分析在SUBAL,9AH后,标志寄存器中CF、OF、ZF、PF、SF的状态。
CF=1,OF=1,,ZF=0,PF=0,SF=1
习题三
1、下列指令中,正确的一条是。
A)MOVBYTEPTR[BX],1000
B)MOVAX,[SI][DI]
C)LEABX,4[BX]
D)MOVAX,ARRAY1+ARRAY2
2、指令SUBAX,5[BX+DI]的源操作数的寻址方式是。
A)寄存器寻址B)基址+变址寻址
C)变址寻址D)直接寻址
3、假设V1和V2是用DW定义的变量,下列指令中正确的是。
A)MOVV1,V2B)MOVV1,20H
C)MOV2000H,V2D)MOVAL,V1
4、设在内存单元(0010H)=12H,(0011H)=34H,对于从0010H处取一个字的叙述正确
的是________。
A)读出的字的值为1234H,需要访问两次存储器
B)读出的字的值为3412H,需要访问两次存储器
C)读出的字的值为3412H,需要访问一次存储器
D)读出的字的值为1234H,需要访问一次存储器
5、有指令“MOVSI,OFFSETDATA”,和它等效的指令是___LEASI,DATA_________。
6、对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:
TABLE1DB?
TABLE2DW20DUP(?
)
TABLE3DB‘ABCD’
MOVAX,TYPETABLE1;
AX=①
MOVBX,TYPETABLE2;
BX=②
MOVCX,LENGTHTABLE2;
CX=③
MOVDX,SIZETABLE2;
DX=④
MOVSI,LENGTHTABLE3;
SI=⑤
AX=1,BX=2,CX=20,DX=40,SI=1.
习题四
1.MOVAL,20H
MOVBL,AL
ADDAL,BL
SBBAL,10H
CBW
DIVBL
上述程序段执行后,(AH)=___10H________,(AL)=___01H_______
2.语句”BUFDB25”的含义是()
A.用BUF表示25
B.定义BUF为字节变量,初始值为25
C.从标号BUF对应的地址起分配25个单元
D.定义BUF为变量,其地址为25
3.除法指令DIV的格式中,只有一个源操作数。
若其类型属性为字节,则目的操作数在_______AX__________中。
4.执行一列三条指令后,AX寄存器中的内容是()。
MOVAX,‘8’
ADDAL,‘9’
AAA
A.0071H B.0107H C.0017H D.0077H
5.逻辑移位指令SHL用于()
A.带符号数乘2B.带符号数除2
C.无符号数乘2D.无符号数除2
6.CWD指令的功能是()
A.把源操作数的符号位扩展到目的操作数中
B.把AL中的符号位扩展到AH中
C.把AH中的符号位扩展到AL中
D.把AX中的符号位扩展到DX中
7.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()
A.DIVBX
B.CWD
IDIVBX
C.XORDX,DX
D.CBW
DIVBXIDIVBX
8.使AL中的操作数0,1位变反,其它位不变的指令是_____XOR_03H_______________。
9.写出将寄存器BX,AX的内容互换的正确指令是____XCHG_AX,BX___________________。
10.设(AX)=2012H,执行CMPAX,2012H后(AX)=__2012H_________。
习题五
(1)设(SS)=338AH,(SP)=0450H,执行PUSHBX和PUSHF两条指令后,堆栈顶部的物理地址是()。
A.33CECHB.33CF2H
C.33CF4HD.33CE8H
(2)若(AX)=-15,要得到(AX)=15应执行的指令是()。
A.NEGAXB.NOTAXC.INCAXD.DECAX
(3)将累加器AX内容清零的错误指令是()。
A.ANDAX,0B.XORAX,AX
C.SUBAX,AXD.CMPAX,AX
(4)填写执行下列程序段后的结果。
MOVDX,8F70H
MOVAX,54EAH
ORAX,DX
ANDAX,DX
NOTAX
XORAX,DX
TESTAX,DX
(AX)=__________、(DX)=__________、SF=__________
OF=________、CF=_________、PF=_________、ZF=__________
(AX)=0FFFFH,(DX)=8F70H,SF=1,OF=0,CF=0,PF=0,ZF=0
(5)DAT1DW12H,23H,34H,46H,57H
DAT2DW03H
LEABX,DAT1
ADDBX,DAT2
MOVDX,[BX]
MOVAX,4[BX]
SUBAX,DX
执行上列程序段后,AX的内容为。
(AX)=2300H
(6)执行下列程序段后,AX和CF中的值是多少?
STC
MOVCX,0403H
MOVAX,0A433H
SARAX,CL
XCHGCH,CL
SHLAX,CL
(AX)=4860,CF=1
习题六
1.已知AX=0FFFFH,DX=0001H
MOVCX,2
LOP:
SHLAX,1
RCLDX,1
LOOPLOP
上述程序段执行后,(DX)=0007H,(AX)=0FFFCH
2.已知AX=78H,BX=0804H
SHRBX,1
ANDBX,0F0FH
MOVCX,4
XCHGBH,BL
SALAX,1
LOOPLOP
上述程序段执行后,(AX)=001EH,(BX)=0402H
3.CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,SS:
CODE
ORG100H
BEGIN:
MOVAX,01H
MOVBX,02H
MOVDX,03H
MOVCX,04H
L20:
INCAX
ADDBX,AX
SHRDX,1
LOOPNEL20
RET
CODEENDS
ENDBEGIN
当执行以上程序后,AX、BX、CX、DX中的值分别是多少?
:
AX=①
BX=②
CX=③
DX=④
(AX)=03H,(BX)=07H,(CX)=02H,(DX)=0
4.已定义了两个字变量A和B,补充下列程序段使之完成下列功能:
A.若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。
B.若两个数均为奇数,则将两数均加1后存回原变量。
C.若两个数均为偶数,则两个变量均不改变。
MOVAX,A
TESTAX,_0001H_____
JZA_EVEN
MOVBX,B
TESTBX,0001H
JZB_EVEN
_INC_AX_____________
MOVA,AX
_INC_BX__________
MOVB,BX
B_EVEN:
_JMP_EXIT___________
A_EVEN:
MOVBX,B
JZEXIT
XCHG_AX,BX___________
EXIT:
习题七
1.如果用调试程序DEBUG的R命令在终端上显示当前各寄存器的内容如下,请说明当前堆栈段段基址是多少?
栈顶的物理地址是多少?
段基址21F0H,物理地址31EEEH
C>
DEBUG
-R
AX=0000BX=0000CX=0079DX=0000SP=FFEEBP=0000SI=0000
DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPL
NZNAPONC
2.分析下列程序段执行后,AX寄存器的内容是什么?
......
TABLEDW10H,20H,30H,40H,50H,60H,70H,80H
ENTRYDW6
MOVBX,OFFSETTABLE
ADDBX,ENTRY
MOVAX,[BX]
(AX)=0040H
3.试分析下列程序段执行后,AX和DX寄存器的内容分别是什么?
VAR1DB86H
VAR2DW2005H,0021H,849AH,4000H
MOVAL,VAR1
LEABX,VAR2
MOVDX,2[BX]
(AX)=FF65H,(DX)=0021H
4.试分析下列程序段,回答所提问题。
ORG3000H
DB11H,12H,13H,14H,15H
MOVBX,3000H
STC
ADCBX,1
SALBL,1
INCBYTEPTR[BX]
(1)程序段执行后,3004H单元中的内容是什么?
16H
(2)程序段执行后,BX中的内容是什么?
CF的值是1还是0?
(BX)=3004H,CF=0
习题八
1.分析下面的程序段,执行后AX的内容为多少?
ARRAYDW10DUP
(2)
XORAX,AX
MOVCX,0AH
MOVSI,12H
NEXT:
ADDAX,ARRAY[SI]
SUBSI,02H
LOOPNEXT
(AX)=20//或14H
2.执行下列程序段后,给出指定寄存器的内容。
MOVAX,0
MOVBX,1
MOVCX,5
A:
ADDAX,BX
INCBX
LOOPA
HLT
执行后的结果为AX=__15____;
BX=__6____。
该程序段的功能是____计算0+1+2+3+4+5____________________。
3.设(AX)=1122H,(BX)=3344H,(SP)=5566H,执行如下程序段后,IP和SP的值分别是什么?
SUNPROC
PUSHAX
ADDBX,AX
PUSHBX
POPBX
SUNENDP
IP=1122H,SP=5566H
4、
执行下列程序段后,AX和CF中的值是多少?
(AX)=4860H,CF=1
5、下列程序段运行后,HCOD和HCOD+1两字节单元内容是什么?
HEXDB‘0123456789ABCDEF’
HCODDB?
,?
┇
MOVBX,OFFSETHEX
MOVAL,1AH
MOVAH,AL
ANDAL,0FH
XLAT
MOVHCOD[1],AL
MOVCL,12
SHRAX,CL
MOVHCOD,AL
‘1’,’A’
习题九
1、CALLDWORDPTR[BX]指令是段间调用还是段内调用。
它一共向堆栈中压入几个字?
两个字
2、在子程序设计时,为什么要保护和恢复现场?
由于汇编语言所操作处理的对象主要是CPU寄存器,而主程序在调用子程序时,已经占用了一定的寄存器,子程序执行完毕返回主程序后,又要保证主程序按原有状态继续正常执行,这就需要对这些寄存器的内容加以保护
3、试分析下列程序段:
ADDAX,BX
JNOL1
JNCL2
SUBAX,BX
JNCL3
JNOL4
JMPSHORTL5
如果AX和BX的内容如下:
AXBX
(1)14C6H80DCH
(2)B568H54B7H
(3)42C8H608DH
(4)D023H9FD0H
(5)9FD0HD023H
试问该程序分别在上面几种情况下执行后,程序转向哪里
L1,L1,L2,L5,L5
习题十
1、下列指令中,在指令执行后有可能影响CS值的指令数目是()
JMPMOVRETADDINT
JCLODSCALLMULPOP
A.3 B.4 C.5 D.6
2、下面关于宏指令的叙述不正确的是()
A.宏指令可以简化源程序的书写;
B.宏指令可以简化目标程序;
C.宏指令和子程序的存储形式和执行方式均不相同;
D.从形式上看,宏指令可以扩充机器的指令系统。
3、对于下列程序段:
AGAIN:
MOVES:
[DI],AL
INCDI
LOOPAGAIN
可用指令()完成相同的功能。
A.REPMOVSB
B.REPSTOSB
C.REPLODSB
D.REPLODSB
4、在下列指令中,隐含使用AL寄存器的指令有()条。
AAAMOVSBMULBH
CBWSCASBXLAT
A.2B.3C.4D.5
5、假设ES段中有一个字符中串‘12FG3LM5C’,其名为ARRAY。
当以下程序段执行后,CX的值是。
CLD
LEADI,ES:
ARRAY
MOVAL,‘G’
MOVCX,9
REPNESCASB
A.0B.5C.4D.9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 作业 答案