收藏 分销(赏)

微机原理及应用试卷.doc

上传人:仙人****88 文档编号:6379627 上传时间:2024-12-07 格式:DOC 页数:21 大小:172.50KB
下载 相关 举报
微机原理及应用试卷.doc_第1页
第1页 / 共21页
微机原理及应用试卷.doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述
装 订 线 专业班级: 姓 名: 学 号: 密 封 线 重 庆 科 技 学 院 200 /200 学年第 学期考试试卷 课程名称: 微机原理及应用 课程代码: 教学班级: 抽(命)题人: 本卷为 卷,共 21 页,考试方式: 闭卷 ,考试时间: 120 分钟 题 号 一 二 三 四 五 六 七 八 九 十 总 分 抽查 核人 得 分 阅卷人 一.程序分析题 (共39题,195分) 1.1 [库中题号:050039] 5分 分析对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?        DTSEG SEGMENT        ORG 10H        DATA1 DB   72H                      DB   04H DTSEG   ENDS  DTSEG   SEGMENT ORG      10H DATA1   DW 7204H DTSEG   ENDS 第 21 页 1.2 [库中题号:050038] 5分 指出下列指令的错误: (1) MOV AX,[BX][BP]         (2) MOV [BX],ES:AX               (3) MOV BYTE PTR[BX],1000 1.3 [库中题号:050037] 5分 指出下列指令的错误:  (1) MOV AX,OFFSET [SI]   (2) MOV CS,AX                        (3) MOV DS,BP 1.4 [库中题号:050036] 5分 执行完下列程序后,回答指定的问题。 MOV  AX,0 MOV  BX,2 MOV  CX,50 LP:ADD  AX,BX ADD  BX,2 LOOP  LP 问:(1) 该程序的功能是                                       。         (2) 程序执行完成后,(AX)=          。 1.5 [库中题号:050035] 5分 分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3种属性? 1.6 [库中题号:050034] 5分 下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。 DATA  SEGMENT     DD1  DB  23H DATA  ENDS CODE  SEGMENT     ASSUME  CS:CODE,DS:DATA     START: MOV  AX,DATA     MOV  DS,AX     LEA  SI,OFFSET DD1     MOV  AL,[SI]     MOV  CL,4     RCR  AL,CL     MOV  [SI],AL     MOV  AH,4CH     INT  21H  CODE  END END  START 1.7 [库中题号:050033] 5分 写出将首地址为BLOCK的字数组的第6个字送到CX寄存器的指令序列,要求分别使用以下几种寻址方式: (1) 以BX的寄存器间接寻址 (2) 以BX的寄存器相对寻址 (3) 以BX、SI的基址变址寻址 1.8 [库中题号:050032] 5分 根据以下要求写出相应的汇编语言指令。  (1) 把BX和DX寄存器的内容相加,结果存入DX寄存器中;  (2) 用BX和SI的基址变址寻址方式,把存储器中的一个字节与AL内容相加,并保存在AL寄存器中;  (3) 用寄存器BX和位移量21B5H的变址寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器单元中;  (4) 用位移量2158H的直接寻址方式把存储器中的一个字与数3160H相加,并把结果送回该存储器中;  (5) 把数25H与(AL)相加,结果送回寄存器AL中。 1.9 [库中题号:050031] 5分 写出能够完成下列操作的8086CPU指令。 (1) 把4629H传送给AX寄存器; (2) 从AX寄存器中减去3218H; (3) 把BUF的偏移地址送入BX中。 1.10 [库中题号:050030] 5分 设VAR1、VAR2为字变量,LAB为标号,分析下列指令的错误之处并加以改正。 (1)  ADD   VAR1,VAR2               (2)  MOV   AL,VAR2 (3)  SUB   AL,VAR1                     (4)  JMP   LAB[SI]  (5)  JNZ   VAR1                               (6)  JMP   NEAR LAB 1.11 [库中题号:050029] 5分 分析下列指令的正误,对于错误的指令要说明原因并加以改正。 (1) MOV     BYTE  PTR[BX],1000       (2) MOV  BX,OFFSET MAYDAT[SI] (3) MOV     CS,AX                               (4) MOV  DS,BP  1.12 [库中题号:050028] 5分 分析下列指令的正误,对于错误的指令要说明原因并加以改正。       (1) MOV     AH,BX                      (2) MOV  [BX],[SI]       (3) MOV     AX,[SI][DI]               (4) MOV  MYDAT[BX][SI],ES:AX 1.13 [库中题号:050027] 5分 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。       (1) MOV  AX,[BX]     (2) MOV  AX,1100H[BX]    (3) MOV  AX,[BX][SI] 1.14 [库中题号:050026] 5分 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。      (1) MOV  AX,1200H       (2) MOV  AX,BX       (3) MOV  AX,[1200H] 1.15 [库中题号:050025] 5分 设(DS)=2000H,(ES)=2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少? (1) MOV  AX,[BX+10]     (2) MOV  AX,VAL[BX]    (3) MOV  AX,[BX][SI]    (4) MOV  AX,VAL[BX][SI] 1.16 [库中题号:050024] 5分 设(DS)=2000H,(ES)=2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少? (1) MOV  AX,[BX]         (2) MOV  AX,ES:[BX]           (3) MOV  AX,[BP]         (4) MOV  AX,[SI] 1.17 [库中题号:050023] 5分 设(DS)=2000H,(ES)=2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少? (1) MOV  AX,21H    (2) MOV  AX,BX          (3) MOV  AX,[1000H]        (4) MOV  AX,VAL 1.18 [库中题号:050022] 5分 请写出下列指令单独执行后,有关寄存器及存储单元的内容。  假设指令执行前(DS)=(ES)=3000H, (AX)=2000H, (BX)=1200H, (SI)=2,  (31200H)=2400H, (31202H)=90F7H。 (1)ADD       ES:[BX],900H        (2)SUB       [BX+SI],AX       1.19 [库中题号:050021] 5分 已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。在以上条件下,分别写出下列指令或指令段执行后的结果? MOV  CL,[BX+20H][SI]; MOV  [BP][DI],CX; LEA  BX,[BX+20H][SI] MOV  AX,[BX+2]; 1.20 [库中题号:050020] 5分 数据段定义如下: DATA   SEGMENT  AT 2000H    ORG    30H    VAR1   DW  10 DUP(?)    VAR2   DB  10    DATA   ENDS 分析下列指令执行后寄存器的结果: MOV  AX,SEG  VAR1          ;AX=(       ) MOV  BX,OFFSET     VAR1    ;BX=(       ) MOV  CX,OFFSET  VAR2       ;CX=(       ) MOV  DX, VAR2              ;DX=(       ) 1.21 [库中题号:050019] 5分 已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。在以上条件下,分别写出下列指令或指令段执行后的结果? (1)       LDS  SI,[BX][DI]     MOV  [SI],BX (2)       XCHG  CX,[BX+32] XCHG  [BX+20H][SI],AX 1.22 [库中题号:050018] 5分 设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX。 1.23 [库中题号:050017] 5分 给定(SP)=0100,(SS)=0300,(FLAGS)=0240,存储单元的内容为(00020)=0040,(00022)=0100,在段地址为0900及偏移地址为00A0的单元中有一条中断指令INT 8,试问执行INT 8指令后,SP,SS,IP,FLAGS的内容是什么?栈顶的三个字是什么? 1.24 [库中题号:050016] 5分 写出分配给下列中断类型号在中断向量表中的物理地址。    (1)  INT  12H                            (2)  INT  8 1.25 [库中题号:050015] 5分 分析下列程序的功能,写出堆栈最满时各单元的地址及内容。 SSEG SEGMENT ‘STACK’   AT    1000H ; 堆栈的段地址为1000H DW   128 DUP(?) TOS LABEL  WORD SSEG ENDS DSEG  SEGMENT DW   32 DUP(?) DSEG  ENDS CSEG SEGMENT MAIN PROC FAR ASSUME  CS:CSEG, DS:DSEG,SS:SSEG START:  MOV  AX,SSEG MOV   SS,AX MOV AX,DSEG MOV DS,AX MOV AX,4321H CALL HTOA RETN: MOV  AH,4CH INT 21H MAIN ENDP HTOA  PROC NEAR CMP AX,15 JLE  B1 PUSH AX PUSH BP MOV BP,SP MOV BX,[BP+2] AND  BX,0FH MOV [BP+2],BX POP BP MOV CL,4 SHR AX,CL CALL HTOA B1:  POP AX B2:  ADD  AL,30H JL PRT ADD AL,07 PRT:  MOV DL,AL MOV  AH,2 INT 21H RET HTOA  ENDP CSEG ENDS  END START 1.26 [库中题号:050014] 5分 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。        (1) REP   STOSB                     (2) JMP  WORD PYR[BX]                  (3) XCHG     AX,ES:[BX+SI] 1.27 [库中题号:050013] 5分 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。        (1) DIV   BH                    (2) SAR  AX,CL                 (3) XOR  AX,0FFE7H     1.28 [库中题号:050012] 5分 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。        (1) SBB   AX,BX                                (2) CMP  AX,WORD PTR[SI+0FA0H]        (3) MUL  BYTE PTR[BX]                   (4) AAM 1.29 [库中题号:050011] 5分 假如在程序的括号中分别填入指令:               (1) LOOP  L20                   (2) LOOPNE  L20                     (3) LOOPE  L20        试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么?               TITLE    EXLOOP.COM               CODESG       SEGMENT                             ASSUME CS:CODESG, DS:CODESG. SS:CODESG                             ORG              100H               BEGIN:   MOV             AX,01                             MOV             BX,02                             MOV             DX,03                             MOV             CX,04               L20:        INC        AX                             ADD              BX,AX                             SHR        DX,1                             (             )                             RET               CODESG       ENDS                             END              BEGIN 1.30 [库中题号:050010] 5分 假定AX和BX中的内容为带符号数, CX和DX中的内容为无符号数, 请用比较指令和条件转移指令实现以下判断: (1)BX的值与AX的值相减, 会产生溢出吗? 若溢出则转OVERFLOW (2)若BX的值小于AX的值,则转去执行EQ_SMA (3)若DX的值低于CX的值,则转去执行EQ_SMA 1.31 [库中题号:050009] 5分 假定AX和BX中的内容为带符号数, CX和DX中的内容为无符号数, 请用比较指令和条件转移指令实现以下判断: (1)若DX的值超过CX的值,则转去执行EXCEED (2)若BX的值大于AX的值,则转去执行EXCEED (3)CX中的值为0吗? 若是则转去执行ZERO 1.32 [库中题号:050008] 5分 用其他指令完成和下列指令一样的功能: (1) REP STOSB            (2) REP SCASB 1.33 [库中题号:050007] 5分 用其他指令完成和下列指令一样的功能: (1) REP MOVSB           (2) REP LODSB 1.34 [库中题号:050006] 5分 试分析下面的程序段完成什么操作?               MOV       CL,04               SHL        DX,CL               MOV       BL,AH               SHL        AX,CL               SHR        BL,CL               OR         DL,BL 1.35 [库中题号:050005] 5分 DATA SEGMENT TABLE_ADDR       DW 1234H               DATA ENDS                 ......                          MOV BX, TABLE_ADDR               LEA BX, TABLE_ADDR   请写出上述两条指令执行后, BX寄存器中的内容。 1.36 [库中题号:050004] 5分 指出下列指令的错误: (1) MOV AH,BX                  (2) MOV [SI],[BX]                     (3) MOV AX,[SI][DI] 1.37 [库中题号:050003] 5分 执行下列指令后, AX寄存器中的内容是什么?               TABLE    DW 10,20,30,40,50               ENTRY   DW 3                ......               MOV             BX,OFFSET TABLE              ADD              BX,ENTRY              MOV             AX,[BX] 1.38 [库中题号:050002] 5分 分析下列标号为什么是非法的? (1) GET.DATA         (2) 1_NUM   (3) TEST-DATA (4) RET  (5) NEW ITEM 1.39 [库中题号:050001] 5分 分析并指出下列程序中的错误:        STAKSG SEGMENT            DB   100 DUP(?)        STA_SG  ENDS        DTSEG   SEGMENT        DATA1    DB   ?        DTSEG   END        CDSEG   SEGMENT        MAIN     PROC     FAR        START:   MOV             DS,DATSEG                      MOV             AL,34H                      ADD              AL,4FH                      MOV             DATA,AL        START    ENDP        CDSEG   ENDS                      END 重庆科技学院20___ /20__ 学年第 学期 试卷参考答案及评分标准( 卷) 课程名称: 微机原理 选课课号: 适用专业/年级: 抽(命)题人: 考试方式: 卷面总分: 分 一.程序分析题 (共39题,195分) 1.1 [库中题号:050039] 5分 解: 不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节. 1.2 [库中题号:050038] 5分 解:     (1) 基址变址方式不能有 BX和BP的组合     (2) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式     (3) 1000超出一个字节的表数范围 1.3 [库中题号:050037] 5分 解:     (1) OFFSET只用于简单变量,应去掉     (2) CS不能作为目的寄存器     (3) 段地址不能直接送入数据段寄存器 1.4 [库中题号:050036] 5分 解: (1)完成0到100间所有偶数求和的功能。 (2)2550 1.5 [库中题号:050035] 5分 解: 汇编语言源程序应该由若干个逻辑段组成,可以有若干个数据段、代码段、堆栈段和附加数据段,至少要有一个代码段。各段的作用如下: (1)代码段用来存放程序和常数。 (2)数据段用于数据的保存。 (3)堆栈段用于保护数据,尤其在子程序调用、中断过程中进行现场信息保护。 (4)附加数据段用于数据的保存。 语句标号和变量应具备的3种属性:段属性、偏移属性和类型属性。 1.6 [库中题号:050034] 5分 解: 程序第8行错误:LEA  SI,OFFSET DD1,应去掉OFFSET; 程序第10行错误:RCR  AL,CL,应使用ROR或ROL,改为ROR  AL,CL 1.7 [库中题号:050033] 5分 解: (1)    LEA BX,BLOCK+10 MOV  CX,[BX] (2)    LEA BX,BLOCK MOV  CX,10[BX] (3)    LEA BX,BLOCK MOV  SI,10 MOV  CX,[BX][SI] 1.8 [库中题号:050032] 5分 解: (1) ADD DX,BX (2) ADD AL,[BX][SI] (3) ADD 21B5H[BX],CX (4) ADD WORD PTR [2158H],3160H (5) ADD AL,25H 1.9 [库中题号:050031] 5分 解: (1) MOV  AX,4629H (2) SUB  AX,3218H (3) LEA  BX,BUF 1.10 [库中题号:050030] 5分 解: (1)  ADD   VAR1,VAR2 错误,两个操作数不能都为存储单元,可改为  MOV  BX,VAR2 ADD  VAR1,BX (2)  MOV   AL,VAR2 错误,数据类型不匹配,可改为MOV AX,VAR2 (3)  SUB   AL,VAR1 错误,数据类型不匹配,可改为SUB AX,VAR1 (4)  JMP   LAB[SI]    错误,寄存器相对寻址形式中不能用标号做位移量,可改为JMP   VAR1[SI] (5)  JNZ   VAR1 错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。可改为JNZ  LAB (6)  JMP   NEAR LAB 错误,缺少运算符PTR,可改为JMP   NEAR PTR LAB 1.11 [库中题号:050029] 5分 解: (1) MOV     BYTE  PTR[BX],1000 错误,1000超出字节空间存储范围 (2) MOV  BX,OFFSET MAYDAT[SI]            ;正确 (3) MOV     CS,AX 错误,MOV指令CS不能做目的操作数,可改为MOV DS,AX (4) MOV  DS,BP                             ;正确 1.12 [库中题号:050028] 5分 解: (1) MOV     AH,BX  错误,寄存器类型不匹配,可改为MOV AX,BX (2) MOV  [BX],[SI] 错误,两个操作数不能都为存储单元,可改为MOV  BX,[SI]或MOV  [BX],SI (3) MOV     AX,[SI][DI] 错误,寻址方式中只能出现一个变址寄存器,可改为MOV AX,[BX][DI]。 (4) MOV  MYDAT[BX][SI],ES:AX 错误,AX签不能有段跨越前缀,去掉ES:,改为MOV  MYDAT[BX][SI],AX 1.13 [库中题号:050027] 5分 解: (1)    MOV  AX,[BX] EA = (BX)= 0100H,PA =(DS)×10H+EA= 2000H×10H+0100H= 20100H,执行后,(AX)= 5132H (2)    MOV  AX,1100H[BX] EA =(BX)+1100H = 0100H+1100H = 1200H,PA = (DS)×10H+EA = 2000H×10H+1200H = 21200H,执行后,(AX)= B61AH (3)    MOV  AX,[BX][SI] EA =(BX)+(SI)= 0100H+0002H= 0102H,PA= (DS)×10H+EA = 2000H×10H+0102H = 20102H,执行后,(AX)= 29D1H 1.14 [库中题号:050026] 5分 解: (1)    MOV  AX,1200H     ;执行后,(AX)= 1200H (2)    MOV  AX,BX         ;执行后,(AX)= (BX)= 0100H (3)    MOV  AX,[1200H]   直接寻址,EA = [VAL] = 1200H,PA = (DS)×10H+EA = 2000H×10H+1200H = 21200H,执行后,(AX)= B61AH 1.15 [库中题号:050025] 5分 解: (1)    MOV  AX,[BX+10] 相对寄存器寻址,EA =(BX)+10D = 0100H+000AH = 010AH,PA= (DS)×10H+EA = 2000H×10H+010AH = 2010AH (2)    MOV  AX,VAL[BX] 相对寄存器寻址,EA =(BX)+[VAL]= 0100H+0050H= 0150H,PA= (DS)×10H+EA = 2000H×10H+0150H = 20150H (3)    MOV  AX,[BX][SI] 基址变址寻址,EA = (BX)+(SI)= 0100H+00A0H = 01A0H,PA = (DS)×10H+EA = 2000H×10H+01A0H = 201A0H (4)    MOV  AX,VAL[BX][SI] 相对基址变址寻址,EA = (BX)+(SI)+[VAL]= 0100H+00A0H+0050H = 01F0H,PA =(DS)×10H+EA = 2000H×10H+01F0H = 201F0H 1.16 [库中题号:050024] 5分 解: (1)    MOV  AX,[BX] 寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)×10H+EA= 2000H×10H+0100H = 20100H (2)    MOV  AX,ES:[BX] 寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)×10H+EA= 2100H×10H+0100H = 21100H (3)    MOV  AX,[BP] 寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)×10H+EA= 1500H×10H+0010H = 15010H (4)    MOV  AX,[SI] 寄存器间接寻址,EA =(SI)=00A0H,PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H 1.17 [库中题号:050023] 5分 解: (1)    MOV  AX,21H 立即寻址,源操作数直接放在指令中 (2)    MOV  AX,BX 寄存器寻址,源操作数放在寄存器BX中 (3)    MOV  AX,[1000H] 直接寻址,EA = 1000H,PA =(DS)×10H+EA = 2000H×10H+1000H = 21000H (4)    MOV  AX,VAL 直接寻址,EA = [VAL] = 0050H,PA = (DS)×10H+EA = 2000H×10H+0050H = 20050H 1.18 [库中题号:050022] 5分 解: (1)(31200H)=2D00H    (2)(31202H)=70F 7H  1.19 [库中题号:050021] 5分 解: 1.(1)CL=F6H  (2)(1E4F6H)=5678H  (3) BX=0056H AX=1E40H 1.20 [库中题号:050020] 5分 解: AX=2000H    BX=0030H 
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服