汇编语言专作业题.docx
- 文档编号:4415531
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:15
- 大小:21.42KB
汇编语言专作业题.docx
《汇编语言专作业题.docx》由会员分享,可在线阅读,更多相关《汇编语言专作业题.docx(15页珍藏版)》请在冰豆网上搜索。
汇编语言专作业题
东北农业大学网络教育学院
汇编语言复习题
第一章基础知识
一、填空题
1、已知十进制数215.75=()二进制数。
十进制数215.75=()十六进制数。
2、已知十进制数134.25=()二进制数。
十进制数134.25=()十六进制数。
3、已知二进制数01100101.1011B=()十进制数。
二进制数01100101.1011BB=()十六进制数。
4、已知二进制数10010110.0101B=()十进制数。
二进制数10010110.0101B=()十六进制数。
5、已知十六进制数1A5.5H=()二进制数。
十六进制数1A5.5H=()十进制数。
6、已知十六进制数2C4.6H=()二进制数。
十六进制数2C4.6H=()十进制数。
7、已知十进制数-35,求:
[-35]原码=()B二进制数,[-35]反码=()B二进制数,[-35]补码=()B二进制数。
8、已知十进制数-46,求:
[-46]原码=()B二进制数,[-46]反码=()B二进制数,[-46]补码=()B二进制数。
9、已知十进制数42,求:
[42]原码=()B二进制数,[42]反码=()B二进制数,[42]补码=()B二进制数。
10、已知十进制数57,求:
[57]原码=()B二进制数,[57]反码=()B二进制数,[57]补码=()B二进制数。
第二章80x86计算机组成
一、填空题
1、微型计算机的基本硬件结构的4个部分组成为()、()、()、()。
2、微型计算机软件系统包括()软件和()软件两大类。
3、计算机能识别并直接执行的语言是()语言。
4、中央处理器(CPU)的组成部分是()()()。
二、简答和计算题
1、在8086CPU中,物理地址和逻辑地址是指什么?
已知逻辑地址为1E00:
28A0H,如何计算出对应得物理地址地址?
2、在8086CPU中,标志寄存器包含哪些标志位?
0和1分别表示什么含义?
3、在8086CPU中,有哪些通用寄存器、专用寄存器和段寄存器?
说明它们的作用?
第三章80x86的指令系统和寻址方式
一、填空题
1、已知指令,试确定以下各种寻址法方式:
moval,5指令为()寻址方式,
movax,bx指令为()寻址方式,
movax,[2000H]指令为()寻址方式,
movax,[bx]指令为()寻址方式。
2、用BX,SI,位移量1200H,写出送到AX的寄存器的指令,要求用一下几种寻址:
相对寻址指令(),
基址变址寻址指令(),
相对基址变址寻址指令()。
3、附加段的ES=4978H,容量为16KB请回答:
附加段的首物理地址是()。
附加段的末物理地址是()。
4、指出下列指令中存储器操作数有效地址、世纪地址的计算公式。
有效地址实际地址
(1)ADDAL,ES:
[DI]()()
(2)SHRBYTEPTR[BP+SI],1()()
(3)MOVCL,10[BX]()()
5、已知AL=9,BL=10,执行指令CMPAL,BL后:
AL=(),ZF=()OF=()CF=()
6、设SP=1010H,AX=1234H,BX=5678H,请问:
下列程序段之行后。
PUSHAX
POPBX
PUSHAX
SP=()AX=()BX=()
7、写出下列程序段之行后:
AX=().
MOVAX,0ABCDH
MOVCL,4
ANDAL,0FH
ANDAL,30H
SHLAH,CL
ANDAH,0F3H
8、已知SP=0100H,执行指令
POPBX
PUSHAX后SP=()
9、ORG50H
BUF1DW1234H,6789H,3ABCH
BUF2DB7DH
DOUNT1DWBUF1
COUNT1=BUF1-BUF2
试问COUNT1=()
二、分析和说明题
1、已知:
(DS)=2000H,(SS)=4000H,(BX)=0100H,(SI)=0002H,(BP)=0100H,(20100H)=22H,(20101H)=44H,(20102H)=66H,(20103H)=88H,(21200H)=2AH,(21201H)=4CH,(21202H)=B8H,(21203H)=57H,(40100H)=34H,(40101H)=12H,(41200H)=78H,(41201H)=56H.试说明下列各条指令执行完后AX寄存器的内容。
1、MOVAX,2400H
2、MOVAX,BX
3、MOVAX,[1200]
4、MOVAX,[BX]
5、MOVAX,1100[BX]
6、MOVAX,[BX][SI]
7、MOVAX,1100[BX][SI]
8、MOVAX,[BP]
9、MOVAX,1100[BP]
10、MOVAL,11H
MOVAH,22H
2、判断下列程序执行后,试求(BX)=?
,并说明每步的执行结果?
MOVCL,5
MOVBX,02C9H
ROLBX,1
RCRBX,CL
3、若(AL)=0B5H,(BL)=11H,在执行指令MULBL和IMULBL后,
试求(AX)=?
OF=?
CF=?
4、在0624单元内有一条二字节JMPSHORTOBJ指令,如其中位移量为:
(1)27H,
(2)6BH,(3)0D5H,
试问:
转向地址OBJ的值是多少?
5、假设(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,VAL偏移地址值为0050H。
试指出寻址方式?
物理地址?
(1)MOVAX,0ABH
(2)MOVAX,BX
(3)MOVAX,[100H]
(4)MOVAX,VAL
(5)MOVAX,[BX]
(6)MOVAX,ES:
[BX]
(7)MOVAX,[BP]
(8)MOVAX,[SI]
(9)MOVAX,[BX+10]
(10)MOVAX,VAL[BX]
(11)MOVAX,[BX][SI]
(12)MOVAX,VAL[BX][SI]
6、如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,
试问以下两条指令的区别?
执行后AX的内容?
(1)MOVAX,TABLE
(2)LEAAX,TABLE
7、执行下列指令后,AX寄存器的内容?
TABLEDW10,20,30,40,50
ENTRYDW3
.
.
.
MOVBX,OFFSETTABLE
ADDBX,ENTRY
MOVAX,[BX]
8、已知程序如下:
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MULCX
INT20H
试问:
(1)每条指令执行后,AX的内容?
(2)每条指令执行后,进位、符号、零标志的值?
(3)程序结束后,AX和DX的内容?
9、假设(BX)=0E3H,变量VALUE中存放的内容为79H,确定下列各条指令单独执行后的结果。
(1)XORBX,VALUE
(2)ANDBX,VALUE
(3)ORBX,VALUE
(4)XORBX,0FFH
(5)ANDBX,0
(6)TESTBX,01H
10、试写出执行一下指令序列后BX寄存器的内容。
执行前(BX)=6D16H
MOVCL,7
SHRBX,CL
11、试分析下面的程序段完成什么功能?
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
12、假定(DX)=0B9H,(CL)=3,(CF)=1,确定下列各条指令单独执行后DX中的值。
(1)SHRDX,1
(2)SARDX,CL
(3)SHLDX,CL
(4)SHLDL,1
(5)RORDX,CL
(6)ROLDL,CL
(7)SALDH,1
(8)RCLDX,CL
(9)RCRDL,1
13、下列程序段执行完后,BX寄存器的内容?
MOVCL,3
MOVBX,0B7H
ROLBX,1
RORBX,CL
14、试分析下列程序段:
ADDAX,BX
JNOL1
JNCL2
SUBAX,BX
JNCL3
JNOL4
JMPSHORTL5
如果AX和BX的内容给定如下:
AXBX
(1)147BH80DCH
(2)B543H54A6H
(3)43C8H608DH
(4)D032H9FF5H
(5)9487HB789H
问该程序执行后,程序转向哪里?
15、说明下列指令的操作。
(1)PUSHAX
(2)POPESI
(3)PUSH[BX]
(4)PUSHAD
(5)POPDS
(6)PUSH4
16、说明IMULBX,DX,100H指令的操作。
17、说明JMPDI和JMP[DI]指令的区别。
三、程序段编写
1、编写一个程序求出双字长数的绝对值。
双字长数在A和A+2单元中,结果存放在B和B+2单元中。
2、写一个程序段,把字符串Thisisa&book,中的’&’字符用空格符代替。
StringDB‘Thisisa&book’
3、写程序段,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串则执行NEW_LESS;否则顺序执行程序。
4、写一个程序段,要求把BL中的数除CL中的数,并把其商乘以2,最后的结果存入DX寄存器中。
5、一个程序段,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字节单元UP中,找出小于42H的无符号数的个数并存入字节单元DOWN中。
第四章汇编语言程序格式
一、改错题
1、指出下列指令的错误:
(1)MOVAH,BX
(2)MOV[BX],[SI]
(3)MOVAX,[SI][DI]
(4)MOV100H[BX][SI],ES:
AX
(5)MOVBYTEPTR[BX],1000
(6)MOVBX,OFFSET120H[SI]
(7)MOVCS,AX
(8)MOVECX,AX
2、所有标识符为字的变量,指出下列指令的错误,并说明错误是什么?
(1)MOVBP,AL
(2)MOVOP1[BX+12][DI],SP
(3)MOVOP1,OP2
(4)MOVAX,OP1[DX]
3、假设VAL1和VAL2为变量,LAB为标号,试指出下列指令的错误?
(1)ADDVAL1,VAL2
(2)SUBAL,VAL1
(3)JMPLAB[SI]
(4)JNZVAL1
(5)JMPNEARLAB
4、指出下列伪操作表达式的错误,并改之?
(1)DATA_SEGSEG
(2)SEGMENT‘CODE’
(3)MYDATASEGMENT/DATA
.
.
ENDS
(4)MAIN_PROCPROCFAR
.
.
ENDMAIN_PROC
MAIN_PROCENDP
二、选择题
1、下列指令中不会改变PC寄存器内容的是()。
A:
MOVB:
JMPC:
CALLD:
RET
2、为了使MOVAX,VAR指令执行后,AX寄存器中的内容为4142H,下面哪一种会产生不正确的结果?
()
A:
VALDW4142HB:
VARDW16706C:
VARDB42H,41HD:
DW‘AB’
3、在汇编语言程序设计中,若调用不在本模块中的过程,则对该过程必须用伪操作命令()说明。
A:
PUBLICB:
COMMONC:
EXTERD:
ASSUME
4、完成将有符号数BX的内容除以2的正确指令是()。
A:
SHRBX,1B:
SARBX,1C:
RORBX,1D:
RCRBX,1
5、使得JB指令执行转移操作的条件是()。
A:
DF=1B:
CF=1且ZF=0C:
ZF=0D:
CF=0且ZF=1
6、在同一程序段,定义有下面的伪指令,使用正确的事()。
A:
PORT1EQUALPORT1EQU2000H
B:
PORT2=3500HAND0FFH
C:
POPDD‘ABCD’
D:
PORT4PROC…..RETEND
7、与NOTBL指令执行后有相同BL内容的是:
()。
A:
ANDBL,0FFHB:
XORBL,0FFHC:
ORBL,0FFHD:
MOVBL,NOT0FFH
8、将十进制数63以压缩BCD码格式送入AL中,正确地传送指令是:
()
A:
MOVAX,0063B:
MOVAX,0063HC:
MOVAX,0603D:
MOVAX,0603H
9、设BL=05H,要使结果BL=0AH,应执行的指令是:
()
A:
NOTBLB:
ANDBL,0FFHC:
XORBL,0FHD:
ORBL,0FH
10、下列指令中错误的是()。
A:
PUSHAHB:
CMPAX,[BX]SIC:
JMPDWORDPTR[BX]D:
REPMOVSW
11、用来表示堆栈指针的寄存器是()。
A:
IPB:
BPC:
SPD:
SS
12、执行下述指令后,(DL)=()。
ADB‘8’
MOVDL,A
ANDDL,0FH
ORDL,30H
A:
8HB:
0FHC:
38D:
38H
13、已知(SS)=3000H,(SP)=0100H,执行下列程序后(SP)=()。
MOVAX,N1
PUSHAX
MOVAX,N2
PUSHAX
……..
L1:
………
RET2
A:
0100HB:
00FEHC:
00FCHD:
0102H
14、下列指令中操作数在代码段中的是:
()
A:
MOVAL,25HB:
ADDAH,BLC:
INCDS:
[25H]D:
CMPAL,BL
15、设VARDW1,2,$+2,5,6
若汇编时VAR分配的偏移地址是0010H,汇编后0014H单元的内容是()
A:
06HB:
14HC:
05HD:
16H
三、析和说明题
1、画图说明下列语句所分配的存储空间及初始化的数据值。
1.BYTE_VARDB‘ABCD’,23,-18H,2DUP(0,?
2DUP(2,7),?
)
2.WORD_VARDW2DUP(2,4,6),?
-5,’BC’,256H
2、假设程序中的数据定义如下:
PARTNODW?
PNAMEDB16DUP(?
)
COUNTDD?
PLENTHEQU$—PARTNO
问PLENTH的值为多少?
他表示什么意义?
3、有符号定义语句如下:
BUFFDB2,3,4,’1,2,3’
EBUFFDB?
LEQUEBUFF—BUFF
问L的值是多少?
4、假设程序中的数据定义如下:
LNAMEDB10DUP(?
)
ADDRESSDB10DUP(?
)
CITYDB5DUP(?
)
CODE_LISTDB1,7,8,3,2
(1)用MOV指令将LNAME的偏移地址放入AX。
(2)用一条指令将CODE_LIST的头两个字节的内容放入SI。
(3)用一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。
5、给出等值语句如下:
ALPHAEQU100
BETAEQU25
GAMMAEQU2
下列表达式的值是多少?
(1)ALPHA*100+BETA
(2)ALPHAMODGAMMA+BETA
(3)(ALPHA+2)*BETA—2
(4)(BETA/3)MOD5
6、对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?
FLDBDB?
TABLEADW10DUP(?
)
TABLEBDB‘ABCD’
(1)MOVAX,TYPEFLDB
(2)MOVAXTYPETABLEA
(3)MOVCX,LENGTHTABLEA
(4)MOVDX,SIZETABLEA
(5)MOVCX,LENGTHTABLEB
三、程序段编写
1、试写出一个完整的数据段DATA_SEG,他把整数5赋予一个字节,并把整数-1,0,2,5,和4放在10字数组DATA_LIST的头5个单元中。
2、写一个程序在C_SEG中,要求把数据段D_SEG中的AUGEND和附加段E_SEG中的ADDEND相加,并把结果存放在D_SEG中的SUM中。
(其中AUGEND为99251,ADDEND为–15960)
3、编写一个20ms延时的子程序。
第五章循环与分支程序设计
一、程序设计
1、编写一个两个字相加的程序。
2、求从TABLE开始的10个无符号字节数的和,结果放SUM字单元中。
3、从键盘上输入字符串‘HELLO‘;并在串尾加结束标志‘$’
4、从键盘读入一串字符,并显示出来。
5、对于三个8位无符号数86H、34H和21H,编写S=86H*34H-21H的程序。
6、内存自TABLE开始的连续16个单元中存放着0~15的平方值(称平方表),查表求DATA中任意数X(0≤X≤15)的平方值,并将结果放RESULT中。
7、编写程序,将数据区中以字节变量BUFFER为首地址的100个单元清零。
8、在当前数据段的DATA1开始的顺序80个单元中,存放80位同学某门课程的考试成绩(0~100)。
编写程序统计≥90分,80~89分,70~79分,60~69分以及<60分的人数。
并将结果放到同一数据段的DATA2开始的5个单元中。
9、把从MEM单元开始的100个16位无符号数按从大到小的顺序排列。
10、把用ASCII码形式表示的数转换为二进制码。
ASCII码存放在以MASC为首地址的内存单元中,转换结果放MBIN。
11、把存放在BUFF中的16位二进制数转换为ASCII码表示的等值数字字符串。
例如,FFFFH应转换成等值的数字字符串’65535’。
12、两个多字节二进制数求和程序。
第六章子程序设计
一、程序设计
1、从一个字符串中删去一个字符
2、设一字符串长度不超过255个字符,试确定该字符串长度并显示长度值。
3在分辨率为640X480、16色的屏幕上绘制一个周期的正弦波。
4要求从键盘输入一个十进制数,然后以十六进制形式在屏幕上显示。
要求键盘输入十进制数为子程序结构,将十进制数转成十六进制形式并显示为子程序结构。
第八章输入输出和中断程序设计
一、程序设计
1、编写一个汇编语言程序,要求对键盘输入的一个小写字母用大写字母显示出来。
2、编写一个中断处理程序,要求在主程序运行过程中,每隔10秒响铃一次,同时在屏幕上显示信息“Thebellisring”.
3、编写一个打印ASCII码文件的程序,基本功能为把缓冲区FILE_BUFFER的字符送到打印区PRT_BUFFER,并检查行尾、换行符和TAB符。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 作业题