open 发表于 2018-11-17 20:46:07

东农18秋《汇编语言》离线作业

东北农业大学网络教育学院
汇编语言复习题
第一章 基础知识
填空题
1、已知十进制数215.75=(               )二进制数。十进制数215.75=(               )十六进制数。
2、已知十进制数134.25=(               )二进制数。十进制数134.25=(               )十六进制数。
3、已知二进制数01100101.1011B=(               )十进制数。二进制数01100101.1011B B=(               )十六进制数。
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,求:原码=(      )B二进制数,反码=(         )B二进制数,补码=(         )B二进制数。
10、已知十进制数57,求:原码=(      )B二进制数,反码=(         )B二进制数,补码=(         )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 , 指令为(         )寻址方式,
mov ax , 指令为(         )寻址方式。
2、用BX,SI,位移量1200H,写出送到AX的寄存器的指令,要求用一下几种寻址:
相对寻址指令(         ),
基址变址寻址指令(         ),
相对基址变址寻址指令(         )。
3、附加段的ES=4978H,容量为16KB请回答:
   附加段的首物理地址是(         )。
   附加段的末物理地址是(         )。
4、指出下列指令中存储器操作数有效地址、世纪地址的计算公式。
                                        有效地址    实际地址      
ADD AL, ES:                  (       )    (      )
SHR BYTE PTR , 1          (       )    (      )
MOV CL, 10                  (       )    (      )
5、已知AL=9, BL=10,执行指令CMP AL, BL后:
AL=(      ),   ZF=(       )   OF=(      )      CF=(       )
6、设SP=1010H, AX=1234H, BX=5678H, 请问:下列程序段之行后。
PUSHAX
POP    BX
PUSHAX
   SP= (      )       AX= (       )      BX= (         )
7、写出下列程序段之行后:AX= (      ).
MOV AX, 0ABCDH
MOV CL, 4
AND AL, 0FH
AND AL, 30H
SHL AH, CL
AND AH, 0F3H
8、已知SP=0100H,执行指令
POPBX
PUSHAX 后SP= (   )      ORG 50H
BUF1   DW1234H, 6789H, 3ABCH
BUF2   DB   7DH
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、 MOV AX,2400H
2、MOV AX,BX
3、MOV AX,
4、MOV AX,
5、MOV AX,1100
6、MOV AX,
7、MOV AX,1100
8、MOV AX,
9、MOV AX,1100
10、MOV AL,11H
MOV AH,22H
2、判断下列程序执行后,试求(BX)=?,并说明每步的执行结果?
MOV CL,5
MOV BX,02C9H
ROL BX,1
RCR BX,CL3、若(AL)=0B5H, (BL)=11H, 在执行指令MULBL和IMULBL后,
试求(AX)=?, OF=?, CF=?
4、在0624单元内有一条二字节JMPSHORT OBJ指令,如其中位移量为:(1)27H, (2) 6BH,(3) 0D5H,
试问:转向地址OBJ的值是多少?5、假设(DS)=2000H, (ES)=2100H, (SS)=1500H, (SI)=00A0H, (BX)=0100H, (BP)=0010H, VAL偏移地址值为0050H。
试指出寻址方式?物理地址?
MOV AX,0ABH
MOV AX,BX
MOV AX,
MOV AX,VAL
MOV AX,
MOV AX,ES:
MOV AX,
MOV AX,
MOV AX,
MOV AX,VAL
MOV AX,
MOV AX,VAL
6、如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,
试问以下两条指令的区别?执行后AX的内容?
MOV AX, TABLE
LEA AX, TABLE
7、执行下列指令后,AX寄存器的内容?
TABLEDW10,20,30,40,50
ENTRYDW3
.
.
.
   MOVBX, OFFSET TABLE
   ADDBX, ENTRY
   MOVAX,
8、已知程序如下:
   MOVAX, 1234H
   MOVCL, 4
   ROLAX, CL
   DECAX
   MULCX
   INT20H
试问:(1)每条指令执行后,AX的内容?
(2)每条指令执行后,进位、符号、零标志的值?
(3)程序结束后,AX和DX的内容?
9、假设 (BX)=0E3H, 变量VALUE中存放的内容为79H,确定下列各条指令单独执行后的结果。
XORBX, VALUE
ANDBX, VALUE
OR    BX, VALUE
XORBX, 0FFH
ANDBX, 0
TESTBX, 01H10、试写出执行一下指令序列后BX寄存器的内容。执行前(BX)=6D16H
MOVCL, 7
SHR   BX, CL11、试分析下面的程序段完成什么功能?
MOVCL, 04
SHLDX, CL
MOVBL, AH
SHLAX, CL
SHRBL, CL
ORDL,BL
12、假定 (DX)=0B9H, (CL)=3, (CF)=1,确定下列各条指令单独执行后DX中的值。
SHRDX, 1
SARDX, CL
SHLDX, CL
SHLDL, 1
RORDX, CL
ROLDL, CL
SALDH, 1
RCLDX, CL
RCRDL, 1
13、下列程序段执行完后,BX寄存器的内容?
MOVCL, 3
MOVBX, 0B7H
ROL   BX, 1
RORBX, CL
14、试分析下列程序段:
ADDAX, BX
JNOL1
JNCL2
SUBAX, BX
JNCL3
JNOL4
JMPSHORTL5
如果AX和BX的内容给定如下:
AX          BX
(1)147BH       80DCH
(2)   B543H      54A6H
(3)   43C8H      608DH
(4)   D032H      9FF5H
(5)   9487H       B789H
问该程序执行后,程序转向哪里?
15、说明下列指令的操作。
PUSHAX
POP   ESI
PUSH
PUSHAD
POP   DS
PUSH4
16、说明IMUL   BX, DX, 100H 指令的操作。17、说明 JMPDI 和 JMP 指令的区别。
程序段编写
编写一个程序求出双字长数的绝对值。双字长数在A和A+2单元中,结果存放在B和B+2单元中。写一个程序段,把字符串This is a&book, 中的’&’字符用空格符代替。
StringDB‘This is a&book ’
写程序段,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串则执行NEW_LESS;否则顺序执行程序。
写一个程序段,要求把BL中的数除CL中的数,并把其商乘以2,最后的结果存入DX寄存器中。
一个程序段,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字节单元UP中,找出小于42H的无符号数的个数并存入字节单元DOWN中。
汇编语言程序格式
改错题
指出下列指令的错误:
MOVAH, BX
MOV,
MOVAX,
MOV100H,ES:AX
MOVBYTEPTR, 1000
MOVBX,OFFSET120H
MOVCS, AX
MOVECX, AX
所有标识符为字的变量,指出下列指令的错误,并说明错误是什么?
MOVBP, AL
MOVOP1, SP
MOVOP1, OP2
MOVAX, OP1
假设VAL1和VAL2为变量,LAB为标号,试指出下列指令的错误?
ADDVAL1, VAL2
SUBAL, VAL1
JMPLAB
JNZVAL1
JMPNEAR LAB
指出下列伪操作表达式的错误,并改之?
(1) DATA_SEG   SEG
(2) SEGMENT‘CODE’
(3) MYDATASEGMENT/DATA
   .
   .
             ENDS
(4) MAIN_PROC   PROC   FAR
    .
    .
                  ENDMAIN_PROC
   MAIN_PROC   ENDP         
选择题
下列指令中不会改变PC寄存器内容的是(   )。
A: MOV   B: JMP   C: CALL   D: RET
2、为了使MOVAX, VAR指令执行后,AX寄存器中的内容为4142H,下面哪一种会产生不正确的结果?(    )
A: VAL DW 4142HB: VARDW 16706C: VAR DB 42H,41HD: DW ‘AB’
3、在汇编语言程序设计中,若调用不在本模块中的过程,则对该过程必须用伪操作命令(   )说明。
A:PUBLIC   B: COMMON   C: EXTER   D: ASSUME
4、完成将有符号数BX的内容除以2的正确指令是(    )。
A: SHR BX,1   B: SAR BX, 1   C: ROR BX, 1D: RCR BX, 1
5、使得JB指令执行转移操作的条件是(   )。
A: DF=1    B: CF=1且 ZF=0    C: ZF=0    D: CF=0且 ZF=1
6、在同一程序段,定义有下面的伪指令,使用正确的事(   )。
A: PORT1 EQU ALPORT1 EQU 2000H
B: PORT2=3500H AND 0FFH
C: POPDD‘ABCD’
D: PORT4PROC….. RETEND
7、与NOT BL指令执行后有相同BL内容的是:(   )。
A: AND BL, 0FFHB: XOR BL, 0FFHC: OR BL, 0FFHD: MOV BL, NOT 0FFH
8、将十进制数63以压缩BCD码格式送入AL中,正确地传送指令是:(    )
A: MOV AX, 0063B: MOV AX, 0063H   C: MOV AX, 0603D: MOV AX, 0603H
9、设BL=05H,要使结果 BL=0AH,应执行的指令是:(   )
A: NOT BLB: AND BL, 0FFHC: XOR BL, 0FH   D: OR BL, 0FH
10、下列指令中错误的是(   )。
A: PUSHAHB: CMP AX, SIC:JMPDWORD PTR D: REP MOVSW
11、用来表示堆栈指针的寄存器是(   )。
A: IP    B: BP   C: SPD: SS
12、执行下述指令后,(DL)=(    )。
    ADB‘8’
    MOVDL, A
    ANDDL, 0FH
    OR   DL, 30H
A: 8H    B: 0FH   C: 38D: 38H
13、已知(SS)=3000H,(SP)=0100H,执行下列程序后(SP)=(   )。
   MOVAX, N1
   PUSHAX
   MOVAX, N2
   PUSHAX
   ……..
L1: ………
    RET2
A: 0100H    B: 00FEH   C: 00FCH    D: 0102H
14、下列指令中操作数在代码段中的是:(    )
A: MOV AL, 25HB: ADD AH, BL    C: INC DS:   D: CMP AL, BL
15、设VARDW1,2, $+2,5,6   
若汇编时VAR分配的偏移地址是0010H,汇编后0014H单元的内容是( )
A: 06H    B: 14H   C: 05H   D: 16H
三、析和说明题
画图说明下列语句所分配的存储空间及初始化的数据值。
BYTE_VARDB‘ABCD’,23,-18H,2DUP(0,?,2DUP(2,7),?)
WORD_VARDW 2DUP(2,4,6),?,-5,’BC’,256H
假设程序中的数据定义如下:
PARTNODW?
PNAME   DB16 DUP(?)
COUNT   DD?
PLENTHEQU$—PARTNO
      问PLENTH的值为多少?他表示什么意义?
有符号定义语句如下:
BUFF   DB2,3,4,’1,2,3’
EBUFFDB?
L       EQUEBUFF—BUFF
问L的值是多少?
假设程序中的数据定义如下:
LNAME   DB10 DUP(?)
ADDRESS   DB10 DUP(?)
CITY      DB   5 DUP(?)
CODE_LISTDB 1,7,8,3,2
(1)用MOV指令将LNAME的偏移地址放入AX。
(2)用一条指令将CODE_LIST的头两个字节的内容放入SI。
(3)用一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。
给出等值语句如下:
ALPHA   EQU100
BETA   EQU25
GAMMAEQU2
下列表达式的值是多少?
ALPHA*100+BETA
ALPHAMODGAMMA+BETA
(ALPHA+2)*BETA—2
(BETA/3)MOD 56、对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?
FLDB      DB   ?
TABLEA   DW10 DUP(?)
TABLEB   DB   ‘ABCD’MOVAX,TYPEFLDB
MOVAX   TYPETABLEA
MOVCX,   LENGTHTABLEA
MOV   DX,SIZETABLEA
MOV   CX,LENGTH TABLEB
三、程序段编写
1、试写出一个完整的数据段DATA_SEG,他把整数5赋予一个字节,并把整数-1,0,2,5,和4放在10字数组DATA_LIST的头5个单元中。写一个程序在C_SEG中,要求把数据段D_SEG中的AUGEND和附加段 E_SEG中的ADDEND相加,并把结果存放在D_SEG 中的SUM中。(其中AUGEND为99251,ADDEND为 –15960)
编写一个 20ms延时的子程序。循环与分支程序设计
程序设计
编写一个两个字相加的程序。求从TABLE开始的10个无符号字节数的和,结果放SUM字单元中。
从键盘上输入字符串‘HELLO‘;并在串尾加结束标志‘$’从键盘读入一串字符,并显示出来。
对于三个8位无符号数86H、34H和21H,编写S=86H*34H-21H的程序。内存自TABLE开始的连续16个单元中存放着0~15的平方值(称平方表),查表求DATA中任意数X(0≤X≤15)的平方值,并将结果放RESULT中。
编写程序,将数据区中以字节变量BUFFER为首地址的100个单元清零。
在当前数据段的DATA1开始的顺序80个单元中,存放80位同学某门课程的考试成绩(0~100)。编写程序统计≥ 90分,80~89分,70~79分,60~69分以及<60分的人数。并将结果放到同一数据段的DATA2开始的5个单元中。把从MEM单元开始的100个16位无符号数按从大到小的顺序排列。把用ASCII码形式表示的数转换为二进制码。ASCII码存放在以MASC为首地址的内存单元中,转换结果放MBIN。
把存放在BUFF中的16位二进制数转换为ASCII码表示的等值数字字符串。例如,FFFFH应转换成等值的数字字符串’65535’。
两个多字节二进制数求和程序。子程序设计
程序设计
从一个字符串中删去一个字符
设一字符串长度不超过255个字符,试确定该字符串长度并显示长度值。   3在分辨率为640X480、16色的屏幕上绘制一个周期的正弦波。
    4要求从键盘输入一个十进制数,然后以十六进制形式在屏幕上显示。要求键盘输入十进制数为子程序结构,将十进制数转成十六进制形式并显示为子程序结构。第八章 输入输出和中断程序设计
程序设计
编写一个汇编语言程序,要求对键盘输入的一个小写字母用大写字母显示出来。编写一个中断处理程序,要求在主程序运行过程中,每隔10秒响铃一次,同时在屏幕上显示信息“The bell is ring”.编写一个打印ASCII码文件的程序,基本功能为把缓冲区FILE_BUFFER的字符送到打印区PRT_BUFFER,并检查行尾、换行符和TAB符。
www.ap5u.com提醒:答案可以联系Q或微信 761296021
页: [1]
查看完整版本: 东农18秋《汇编语言》离线作业