汇编语言和汇编程序
一、 回答下列问题
1、 何谓汇编语言程序?何谓汇编程序?简述汇编程序的功能。
2、 什么叫做变量?变量有哪几种属性?程序中如何放问变量?
3、 什么叫做标号?标号有哪几种属性?
4、 8088汇编语言中有哪几类运算符?
5、 什么叫做表达式?它的运算规则是什么?
6、 8088/8086汇编语言程序中段的类型有哪几种?段定义中定位类型、组合类型和类别名各有什么作用?
7、 VALA  EQU  200
          VALB  EQU  30
          VALC  EQU  1BH
下列表达式的值各为多少?
1)(VALA*VALC+VALB/VALC
2)(VALA  MOD  VALC-VALB/VALC
3)(VALB  AND  0FHOR VALB  XOR  0FH
4)(VALA  GE  VALB AND  0FH
8、 根据下列数据定义,各条指令单独运行后,AX的内容是什么?
TABLEA  DW  10  DUP(?)
TABLEB  DB  10  DUP(?)
TABLEC  DB  1234
TABLED  DW 1234
(1) MOV  AXTYPE  TABLEA
(2) MOV  AXTYPE  TABLEB
(3) MOV  AXTYPE  TABLEC
(4) MOV  AXTYPE  TABLED
(5) MOV  AXLENGTH  TABLEA
(6) MOV  AXLENGTH  TABLEB
(7) MOV  AXLENGTH  TABLEC
(8) MOV  AXLENGTH  TABLED
(9) MOV  AXSIZE  TABLEA
(10) MOV  AXSIZE  TABLEB
(11) MOV  AXSIZE  TABLEC
(12) MOV  AXSIZE  TABLED
9、 执行下列指令后,AX寄存器的内容是什么?
TABLE  DW  0100200300400
DISTA  DW  6
1MOV  BX,OFFSET  TABLE
    ADD  BXDISTA
    MOV  AX[BX]
  2LEA  BXTABLE
        MOV  AX2[BX]
(1) MOV  SI4
MOV  BXOFFSET  TABLE
MOV  AX[BX][SI]
(2) MOV  BXDISTA
MOV  AXTABLE[BX]
10、 画图说明下列语句分配存储空间及初始化的数据值。
(1) BYTE-VAR  DB BYTE’,1212H2 DUP 03 DUP2))
(2) WORD-VAR  DW  4  DUP012),-5,‘BY’,‘TE
11、 定义一个数据段的字符变量和数据变量。
(1) TRING为字符串变量:‘Personal computer
(2) VALD为十进制数字节变量1299
(3) VALH为十六进制数字变量32H0FAH
(4) VALZ10个零的字节变量
(5) VALW20个字单元
12、 根据数据段的定义,答出L值是多少?它表示什么意义?
1BUFA      DB  0
    BUFB      DB  1
    L          EQU  BUFB-BUFA
2STA      DW  20  DUP(?)
    L        EQU  LENGTH  STA
13、 定义一个数据段,要求如下:
(1) 段界起始于字边界
(2) 该段与同名逻辑段相邻连接成一个物理段
(3) 类别号为‘DATA
(4) 定义数据1230,‘ABCD
(5) 保留20个字的存储区
二、填空题
1、假设(DS=2000H,(BX=1256H,(SI=528FH;位移量TABLE=20A1H,(232F7H0=3280H,(264E5H=2450H,则
执行指令JMP  BX后,(IP=         
执行指令JMP  TABLE[BX]后,(IP=         
执行指令JMP  [BX][SI]后,(IP=         
2、在1000H单元中有一条二字节指令JMP  SHORT  LAB,如果其中偏移量分别为30H6CH0B8H,则转向地址LAB的值分别为                     
3、数据段中有以下定义:
ARRAY1  EQU  16H
ARRAY2  DW  16H
请指出下面两条指令的寻址方式:
MOV  AXARRAY1      寻址方式       
MOV  AXARRAY2      寻址方式       
4、下面两个语句的区别在于               
  X1  EQU  1000H
  X2 =1000H
5、指令“AND  AXSTR1  AND  STR2”中,STR1STR2是两个已赋值的变量,两个AND的区别是               
6、指令LOOPZ/LOOPE是结果            发生转移的指令。而指令LOOPNZ/LOOPNE则是汇编table指令什么意思
结果                发生转移的指令。
7、调用指令CALL可分为                              等四种调用。
8、在汇编语言中,一个过程有NEARFAR两种属性。NEAR属性表明主程序和子程序        FAR属性表示主程序和子程序       
9、串处理指令规定源寄存器使用        ,源串在        段中;目的寄存器使用        ,目的串必须在        段中。
10        是过程定义结束伪指令,与        配套使用。        是段定义结束伪指令,与        配套使用。
11、一个有16个字的数据区,它的起始地址为70A0DDF6H,那么该数据区的最后一个字单元的物理地址为        H
12、对于下面的数据定义:
A1        DW  20  DUP(?)
A2        DB  20  DUP(?)
A3        DB 987654321
        ……
MOV    AXLENGTH  A1
MOV    BXLENGTH  A2
MOV    CXLENGTH  A3
各条指令执行后,相应寄存器的内容为:(AX=      ,(BX=      ,(CX=       
13、在数据段定义有一字变量如下:
DATA  SEGMENT
      ARRAY  DW 2$+2,5,7,$+6,0DH
DATA  ENDS
填入数据段ARRAY区存储单元的内容。
14、执行下列指令后:
TABLE  DW  1020304050
ENTRY  DW 3
          ……
        MOV  BX,OFFSET  TABLE
        ADD BX,ENTRY
        MOV  AX[BX]
寄存器(AX=       
四、是非判断题
1、 程序在数据段中的定义如下:
DATA        SEGMENT
NAMES        DB ABCD
NAMET        DW  20
DATA        ENDS
请判断下列指令是否正确?正确的填‘A’,错误的填‘B’并说明原因
(1) MOV  BXOFFSET  NAMES       
      MOV  AL[BX+2]     
(2) MOV  AXNAMES     
(3) MOV  AXWORD  PTR  NAMES+1       
(4) MOV  ALNAMET     
(5) MOV  ALBYTE  PTR  NAMET       
(6) MOV  AXDATA       
      MOV  DSAX     
(7) MOV  AXSEG  NAMES     
(8) MOV  BXDATA       
MOV  AL[BX+3]       
2、 下面各题中有无语法错误?若无语法错误,请在括号中填‘A’,若有语法错误,请在括号中填‘B’,并按其意图修改题中的相应语句。
1M1        DB  1234     
2M2        DW ABCD       
3M3        DW  50H
               
               
              MOV  ALM3       
4M4      EQU    10H
               
               
              MOV  M4AL       
5M5        DB
               
               
              MOV  BXM5   
              MOV  [BX]1000H       

汇编语言程序设计
一、完成下列练习
1、 设(DS=0300H,(CS=0200H,(IP=0100H,(BX=1000HDISPLACE=2000H,(4000H=5000H,(6000H=8000H
确定无条件转换指令的段内转移地址
(1) JMP  BX
(2) JMP  [BX]
(3) JMP  DISPLACE[BX]
2、 AXBX寄存器中是有符号数,CXDX寄存器中是无符号数,写出下列条件转移指令。
(1) CX值高于或等于DX值,则转移HIEQU
(2) AX值大于BX值,则转移GREAT
(3) CX值为0,则转移ZERO
(4) AX值小于或等于BX值,则转移SMAEQU
(5) CX值低于或等于DX值,则转移LOWEQU
(6) AX为负值,则转移NEGAT
(7) AX为偶数,则转移IMAGE
3、 写出下列串操作指令所替代的指令序列。
(1) REP  MOVSB
(2) REP  LODSB
(3) REP  STOSB
(4) REP  SCASB
4、 指出下列指令序列中的错误。
(1) CMP  AL-3
JA  INVALID
INVALID:……
   
(2) STARTMOV  CX3
SUB  AL10
LOOP  START
3CRAY    PROC
              PUSH  AX
              ADD  AXBX
              RET 
    CRAY    ENDP
(4)IN  ALPROT
  JPE  NEXT
 
 
  NEXT:……
5、 分析执行下列程序段完成什么功能?

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