加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《微机原理与接口技术》试卷(A)答案

(2010-05-01 17:41:32)
标签:

试卷(a)答案

it

分类: 微机原理、汇编程序与接口技术

一、填空。(30分 1分/空)               

1.符号数-8192的补码用十六进制数表示为  E000 H。

2.8位补码数CBH的真值用十进制表示为  -53 

3.十进制数1025所对应的十六进制数为    401    H;所对应的压缩BCD数为

    1025     H;所对应的ASCII码为    31303235     

4.将8为无符号数A2H扩展为16位形式,则应为   00A2    H;将8为补码数F3H扩

展为16位形式,则应为   FFF3   H。

5.在8086/8088的通用寄存器AX、BX、CX、DX中,用作存储器间址的寄存器为  BX  

用作I/O端口间址的寄存器为  DX   ;用作循环控制指令(LOOP)的寄存器为  CX   

6.8086/8088有  4   段寄存器。其中用来存放数据段段首地址的段寄存器为  DS    

用来存放代码段段首地址的段寄存器为   CS   ;用来存放堆栈段段首地址的段寄存器为

  SS 

7.若DS=095FH时,物理地址是11820H。当DS=2F5FH时,物理地址为  37820   H。

8.8086/8088微处理器堆栈的伸展方向是    高地址向低地址         。堆栈的操作是

   字      为单位进行的。

9.AX中有一个负数,欲求其绝对值,若该数为补码,则用指令    NEG AX       ;若

该数为原码,则用指令     AND AX,7FFFH    。 在循环程序设计中,对于控制循环的

DEC CX和JNZ AGAIN两条语句可合并用一条语句   LOOP AGAIN    代替。

10.写出执行下列程序段的中间结果:

     MOV AX, 0809H

      MOV DL, 10

      XCHG AH, DL

      MUL AH               ;AX=   005AH    

      AAM                  ;AX=   0900H    

      ADD AL, DL           ;AX=   0908H    

11.现要用6116(2K×8位)静态RAM芯片构成8K×32位的存储器,共需此种芯片 16 片。

12.8086/8088微处理器对I/O设备的管理是利用  IN    OUT 指令来实现的。

13.已知中断向量表中,001C4H中存放2200H,001C6H中存放3040H,则其中断类型码是

  71   H,中断服务程序的入口地址的逻辑地址和物理地址分别为  3040  H: 2200 H和   32600   H。

 

得分

 

二、单项选择。(10分 1分/题)

1.算式65H-3EH的运算结果是否有溢出,结果的真值为( C

A.有、39

B.有、27

C.无、39

D.无、27

2.CPU执行算术运算指令不会影响的标志位是( D

A.溢出标志

B.符号标志

C.零标志

D.方向标志

3.已知AL,BL中为无符号数, 若使AL≤BL时转到标号AGAIN, 哪个程序段不能实现

此功能     ( D )

A. CMP AL, BL        B. CMP AL, BL 

     JC AGAIN             JBE AGAIN

C. CMP BL, AL        D. CMP AL, BL

     JNC AGAIN            JNB AGAIN

4.下列指令中不会改变指令指示器IP的是( A )

  A.MOV

  B.JMP

  C.CALL

  D.RET

5.使用移位指令,把寄存器的最高位移入CF,并在最低位补为0时使用( D )

  A.ROL

  B.SAR

  C.SHR

  D.SAL

6.已知下列程序段 

       DATA DW 04H,05H,06H

               : 

               : 

            LEA BX,DATA

            MOV AX,3

            ADD BX,AX

            MOV AX,[BX]

                : 

 当程序执行完MOV AX,[BX]指令后,AX=( C )

  A.0400H

  B.0500H

  C.0600H

  D.8000H

7.某存贮器的容量为4K字节,则CPU至少应提供( C )根地址线才能对所有存贮单

元进行寻址。

  A.14

  B.13

  C.12

  D.11

8.8086/8088指令OUT  80H,AL表示( C )

  A.将80H送给AL

  B.将80H端口的内容送给AL

  C.将AL的内容送给80H端口

  D.将AL内容送给80H内存单元

9.若8255 A口工作于方式1输出,B口工作于方式0输入,C口工作于方式0输入,则方式控制字应为( B )。

  A.0A9H

  B.0ABH

  C.0A3H

  D.1BH

10.80X86有几种类型的中断。( B )

  A.1种

  B.2种

  C.3种

  D.4种

 

得分

 

三、一数据段定义如下:

    ORG 0000H

DATA SEGMENT

S1 DB 1,2,3,4,5

S2 DB ‵12345′

COUNT EQU $-S1

NB DB 3 DUP (2)

NW DW -120,-3

P DW -2, S2

DATA ENDS

画出该数据段中数据的存储形式。(10分) 

 http://s13/middle/5f7d4e75h858548523a3c&690

得分

 

四、简答题。(15分)

1.分别指出下列指令中目的操作数的寻址方式。(5分)

 (1) MOV AX, 1000H           (2) MOV AX, ES:1000H

(3) ADD AX, [BX+4]          (4) SUB AX, [BX+DI+5]

(5) MOV [BX], AL

(1).立即寻址

(2).直接寻址

(3).基址寻址

(4).基址变址寻址

(5).寄存器寻址

2.分别写出实现下列功能的程序段。(10分)

(1) 将AX中间8位(作高8位),BX的低4位和DX的高4位(作低4位)拼成一个新

的字。

MOV CL, 4 

SHL AX, CL

SHL BL, CL

MOV AL, BL

SHR DH, CL

OR AL, DH

(2) 将AL中一个两位的十六进制数变换成为其所对应的ASCII码,存放到AX中。

MOV AH, AL

AND AL, 0FH

CMP AL, 0AH

JB G1

ADD AL, 7

G1: ADD AL, 30H

MOV CL, 4

AND AH, 0F0H

SHR AH, CL

CMP AH, 0AH

JB G2

ADD AH, 7

G2: ADD AH, 30H

 

得分

 

四、编写程序实现从键盘输入一个补码数(1-4位十六进制数),在显示器上以十进制形式显示其真值。(10分)

例如:

输入  FFFF;

输出  =-1;

输入  80;

输出  =128

stack segment stack 'stack'

      dw 32 dup(0)

stack ends

data segment

obuf db 'input one number:=','$'

obuf1 db 'result:=','$'

ibuf db 5,0,5 dup(0)

obuf2  db 7 dup(0)

data ends

code segment

begin  proc far

       assume ss:stack,cs:code,ds:data

       push ds

       sub ax,ax

       push ax

       mov ax, data

       mov ds, ax

       mov dx, offset obuf

       mov ah, 9

       int 21h

       mov dx, offset ibuf

       mov ah, 10

       int 21h

       mov dl, 0ah

       mov ah, 2

       int 21h

       mov dx, offset obuf1

       mov ah, 9

       int 21h

       mov si, offset ibuf+2

       mov bl, ibuf+1

       mov bh, 0

       mov ax, 0

       mov cl, 4

again: shl ax, cl

       mov dh,[si]

       cmp dh,41h

       jc ag1

       sub dh,7

ag1:   sub dh,30h

       or al, dh

       inc si

       dec bx

       jnz again

       mov cx, 10

       mov di, offset obuf2+6

       mov byte ptr [di],'$'

       test ax, 8000h

       pushf

       jz ag2

       neg ax

ag2:   mov dx, 0

       div cx

       add dl, 30h

       dec di

       mov [di],dl

       or ax, ax

       jnz ag2    

       popf

       jz ag3

       dec di

       mov byte ptr [di],'-'

ag3:   mov dx, di

       mov ah,9

       int 21h

       ret

begin  endp

code   ends

       end begin

 

得分

 

五、CPU要实现对16个I/O端口280H-28FH的寻址,画出地址译码电路

(10分)

 

 

 http://s3/middle/5f7d4e75h85854d06f972&690

 

得分

 

六、用8255的A端口接8只理想开关输入二进制数,B端口和C端口各接8只发光二极管显示二进制数。设计控制电路和控制程序,实现读入开关数据(原码)送B端口(补码)和C端口(绝对值)的发光二极管显示的功能。(设端口地址为280H-283H) (20分)

接口电路图:

 http://s2/middle/5f7d4e75h858553e976e1&690

控制程序:

stack     segment stack ¢stack¢

dw 32 dup(0)

stack     ends

code      segment

start     proc far

assume ss: stack, cs: cods

push ds

sub ax, ax

push ax

mov ax, data

mov ds, ax

MOV DX, 283H

MOV AL, 90H         

OUT DX, AL

MOV DX, 280H

IN AL, DX        

AND AL, AL       

JNS DN           

AND AL, 7FH          

MOV DX, 282H

OUT DX, AL       

NEG AL           

DEC DX

OUT DX, AL       

RET

DN:        INC DX           

OUT DX, AL

INC DX

OUT DX, AL

ret

start      endp

code          ends

end start

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有