汇编作业1:选择填空题:
单项选择题:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(  D )
A.DB 41,42,43,44,45,46  B.DW 4142H,4344H,4546H
C.DW ‘AB’,‘CD’,‘EF’    D.DW ‘BA’,‘DC’,‘FE’
2.在同一程序段中,定义下面伪指令,正确的是( C  )?
A.PORT EQU AL        B.CONT EQU 3500H AND OFFH
  PORT EQU 2000H
C.STRl DB‘ABCD’    D.STR2 DW‘ABCD’
3.DA2 DW‘AB’,‘CD’
      ┇
  MOV AX,WORD  PTR  DA2+1
上述语句执行后AX中的值是( C  )
A.‘AD’        B.‘BC’  C.‘DA’      D.‘CB’
4.下列数据定义语句中可实现留空20H个字节存储单元的是( D  )
A.DB 20 DUP(?)            B.DW 20H DUP(?)
C.DB 10H DUP(4 DUP(?))    D.DB 20H DUP(?)
5.设DL=55H,执行指令后能使DL中的数据为OAAH的指令是 ( D  )
  A.TEST  DL, OAAH      B.OR  DL, OAAH
  C.NEG  DL              D.XOR DL, OFFH
6.DW 10H DUP (2 DUP(3),300H)
上述定义的数据单元中,能构成0303H字存储单元的个数是(  D  )
  A.10H      B.20H      C.1EH      D.OFH
7.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(  B )
A.BX    B.BP    C.SI        D.DI
8.下列指令中有语法错误的是(  C )
A.PUSH  AX        B.PUSH  [20H+SI+BX]
C.POP  CS          D.PUSH  CS
9.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(  B )
  A.CX≠0且ZF=1      B.CX≠0且ZF=0
  C.CX≠0或ZF=1      D.CX≠0或ZF=0
10.设AX=0CCBBH, CF=1
    AND AX, 7FFEH
    RCR AX, 1
上述两条指令执行后,AX和CF中的内容分别是( C  )
  A.AX=265DH,CF=0      B.AX=265DH,CF=1
  C.AX=A65DH, CF=0      D.AX=A65DH, CF=1
11.把BL中的数据输出到端口8CH中,正确指令是(  C )
A.OUT 8CH,BL        B.IN 8CH,BL
C.MOV AL,BL            D.MOV AL,BL
OUT 8CH,AL          IN 8CH,AL
12.结果为零的条件转移指令,其测试条件是( B  )
A.ZF=1    B.ZF=0    C.SF=l    D.SF=0
13.下面程序段完成测试DA_BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中空格里应填的语句是
      MOV CH,0
      TEST DA_BYTE,80H
      ______________
      MOV CH,0FFH
ZERO:MOV DH,CH( C  )
A.JNZ ZERO    B.JS ZERO  C.JZ ZERO      D.JC ZERO
14.设NUM=11011011B,指令“MOV AX,NUM SHL 3”执行后AX中的值是(B    )
A.11011011000B    B.11011000B
C.00011011B      D.00011011011B
15.设SP初值为3050H,执行指令PUSH BX后,SP的值是(  B )
A.304FH    B.304EH    C.3048H        D.3049H
16.下列指令执行后影响CF值的是(D   )
A.DEC      B.XCHG  C.LEA        D.SHL
17.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(  B )
A.AL=57H,BL=24H            B.AL=33H,BL=24H
C.AL=57H,BL=33H            D.AL=33H,BL=0
18.设CL=8(6),AL=0C8H,执行SAR AL,CL后,AL中的数据是(  A )
A.0FFH        B.80H    C.00H    D.0FEH B
19.在程序运行过程中,确定下一条指令的物理地址的计算表达式是( D  )。
(A) DS*16+SI        (B) SS*16+SP
(C) ES*16+DI        (D) CS*16+IP
20.物理地址(10FF0H)=10H, (10FF1H)=20H, (10FF2H)=30H, 从地址10FF1H中取一个字的内容是(  B  )。
(A) 1020H    (B)3020H    (C)2030H    (D)2010H
21.下列指令中操作数在代码段中的是( A  )。?
(A) MOV  AL,42H          (B) ADD  AL,BL
(C) SUB  [BX],DI      (D) INC  [DI]
22.下列指令执行后,对源操作数和目的操作数均无影响的是( D  )。
(A) MOV  [BX+2],AX        (B) SUB  AX,2467H
(C) ADD  [SI],BX        (D) CMP  AX,BX
23.数据段定义如下,要求实现取DA1的偏移地址送到SI寄存器中,下面的指令错误的是:( D  )。
DA1 DB 50H DUP(?)
DA2 DW DA1
(A) LEA SI,DA1        (B) MOV SI,OFFSET DA1
(C) MOV SI,DA2        (D) MOV SI,DA1
24.设(SS)=1234H,(SP)=0102H,执行PUSH  BX后,堆栈顶部的物理地址是(  A  )。
(A) 12440H    (B) 12444H    (C) 12344H    (D) 12340H
25.下面数据段共占用(  D  )字节的存储空间。
da1    DB    'ABCDEFGHIJ'
    da2    DW    10  DUP(20H)
da3    EQU  100 
(A) 21    (B) 31    (C) 20    (D) 30完成字符串是什么
a)将AX清零,下列指令错误的是( C  )。
(A) SUB AX,AX          (B) XOR AX,AX
(C) OR AX,00H          (D) AND AX,00H
b)设(AL)=79,ADD AL,0B1H指令执行后, CF和OF的值是( D  )。
(A) CF=0 OF=1          (B) CF=1 OF=1
(C) CF=0 OF=0          (D) CF=1 OF=0
c)设AX=1000H, 执行上述指令后,正确的结果是( B  )。
d)  NEG AX
NOT AX        ( B  )
(A) AX=1001H  (B) AX=0FFFH  (C) AX=1000H    (D) AX=0111H
填空题
1.汇编语言程序中常量定义伪指令在( 汇编  )阶段被执行。?(不太了解常量定义伪指令的一些知识点)
2.0B1D:1000单元的物理地址是(0C1D0H ),该物理地址的另一种分段表示形式是(0A12:20B0 )。
3.在8088CPU中按照分段规则对1M存储空间进行分段,其可作为段首单元的地址共有(16 )个,每个相邻的段首地址相差( 64K  )个单元。
4.一个汇编语言程序最少由( 1  )个代码段构成,(选择:必须有一个/可有可无)可有可无数据段,数据段内(不可以)(选择:可以/不可以)存储指令代码。
5.指令MOV  AX,SEG BUF的功能是把(  BUF变量的所在段的段地址值  )送到AX中。
6.要使AL寄存器中数据的高4位不变,低4位取反,可使用XOR AL,(  0FH)指令实现。
7.要使AL寄存器中负数变为正数,可以使用 ( NOT/NEG)指令实现。
8.指令MOV AX,ES:[BX][SI]源操作数的物理地址计算表达式是(  ES*10H+BX+SI  )。
9.条件转移指令的跳转地址范围是(-128~+127  ),如(IP)=1000H,位移量是0F8H,则条件转移指令的转移地址是( 10F8H  )。
10.条件转移指令计算跳转地址的方法是(当前IP+位移量  ),它的寻址方式属于( 相对寻址 )。
11.写出将AL寄存器中的数据输出到378H号端口的指令(OUT 378H,AL  )。
12.已知(BX)=2AH,字变量VAR存放的内容为0AAH,执行指令XOR  BX,VAR后(BX)=( 80H  )。
13.已知(BX)=2AH,字变量VAR存放的内容为0AAH,执行指令CMP  BX,VAR后(BX)=(2AH  )。
14.MOV AX,-2指令执行后,AX寄存器中的16进制数值是(FFFEH  )。
15.已知AX=1234H,CL=4,CF=1,ROR AX,CL指令执行后,AX=(4123)H。
汇编作业2-分析题
1.现有程序如下:
DATA  SEGMENT
BUF  DB  ‘AI39*5867Jfe=KJYKGNGK339385’
C= $-BUF
  N1 DB    0
  N2 DB    0
DATA  ENDS
    CODE  SEGMENT
  ASSUME CS:CODE,DS:DATA
START:    MOV  AX,DATA

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。