文档库 最新最全的文档下载
当前位置:文档库 › 微机原理与汇编语言 习题

微机原理与汇编语言 习题

微机原理与汇编语言 习题
微机原理与汇编语言 习题

微机原理与汇编语言习题

1.ZF标志位是标志结果是否为零的,若结果为零,ZF为________,否则ZF为_______。当ZF

为1时,SF为________。

2.调用程序与子程序之间的参数传递方法有四种,即堆栈法、_______、______、______。

3.宏指令定义必须由伪指令________开始,伪指令______结束,两者之间的语句称为________。

4.三个重复前缀指令为__________、__________、________。

5.8086/8088 CPU可访问2个独立的地址空间,一个为存贮器地址空间,其大小为____个字节;

另一个为______,其大小为_______字节。

6.当_______________时,CPU便进入等待状态(Tw)。

7.最小模式系统除CPU、存储器、I/O接口和总线外,至少还应配置________、__________、

_________三种芯片部件或电路。

8.8086内部由_________和_______两部分组成,其作用分别是_______和______。

9.在汇编语言中,一个标号和过程有和两种属性。前者表明在段内转移和调用,后

者表示在段间转移和调用。

10.8086/8088的存储器是分段的,因此存储单元的物理地址是由和组合而成。

11.汇编语言源程序的扩展名是,目标程序的扩展名是,通常产生的可执行程序

的扩展名是。

12.指令操作数可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们

分别被称为立即、寄存器和直接寻址方式。

13.微型计算机一般都采用总线结构,系统总线的信号线有三组,即数据总线、地址总线和

控制总线。

14.若要判断无符号数运算是否溢出,应根据CF 标志位;而判断有符号数运算是否溢出,应

根据OF 标志位。

15.8086/8088端口地址的范围是0000H ~ FFFFH。

16.汇编语言源程序中的语句有三种类型,他们是指令语句,伪指令语句和语句。

17.指令SAR可用来有符号数数除以2,而指令SHR则可用来无符号数数除以2。

18.用二进制代码组成的计算机能直接识别的语言称为机器语言。用机器指令的助记符以

及伪指令,宏指令表示的一种面向机器的语言称汇编语言,用该语言编写的程序需经过汇编程序翻译,成为计算机能直接识别并执行的程序称目标程序。

19.数据段中有以下定义:

ARRAY1 EQU 16H

ARRAY2 DW 16H

请指出下面两条指令源操作数的寻址方式:

MOV AX, ARRAY1 ;寻址方式:立即寻址方式。

MOV AX, ARRAY2 ;寻址方式:直接寻址方式。

20.在数据段中使用字符串时,该字符串必须用括起来。当定义含有多个字符的字符串时,

只能使用伪指令。

21.标号和变量均有三种属性,它们是,和属性。

22.一循环程序完成查找一组数据中是否有非零数据,控制循环应选取的循环控制指令是,

这时循环程序的循环终止条件是或。

23.设AX=2000H,BX=3000H,则在执行了指令CMP AX,BX后,标志CF= ,ZF= 。

24.对于乘法、除法指令,其目的操作数存放在或中。

25.SRAM靠________存储信息,DRAM靠_______存储信息,为保证DRAM中内容不丢失,需要

进行________操作。

26.CPU响应可屏蔽中断的条件是__________、_________、_________。

27.用4K×4位的RAM芯片组成8K×8的存储器时,所需的RAM芯数和产生片选信号的地址分别

为___________、___________。

28.最小模式系统中除CPU以外的总线主模块是______,它与CPU间通过_______、_______两个

信号来交换总线控制权。

29.8086 CPU通过__________寄存器和_________寄存器能准确找到指令代码。

30.若一个数据块在内存中的起始地址为3090H:ABB3H,则这个数据块的起始地址的物理地址为

__________。

31.设堆栈指针(SP)=3000H,此时若将DX、AX、BX、CX依次推入堆栈后,(SP)= _______。

32.PSW中控制标志有;状态标志有。

33.当存储器的读出时间大于CPU所要求的时间,为保证CPU与存储器的周期配合,就需要用

____________信号,使CPU插入一个__________状态。

34.CPU 在指令的最后一个时钟周期检测INTR引脚,若测得INTR为_______且IF为_________,

则CPU在结束当前指令后响应中断请求。

35.分别用一条语句实现下述指明的功能:

(1)栈顶内容弹出送字变量SW______________

(2)双字变量SDD存放的地址指针送ES和SI______________

(3)变量ST类型属性送AH______________

(4)不允许中断即关中断______________

(5)将字符串…hello!?存入变量SU______________

(6)子程序返回调用程序______________

(7)地址表达式SV[4]的偏移地址送字变量SX______________

(8)AX的内容加1,要求不影响CF______________

(9)BX的内容加1,要求影响所有标志位______________

(10)若操作结果为零转向短号NEXT______________

36.8086/8088微处理器的INTR引脚由标志位____________控制。

37.一个基本的总线周期由__________个时钟周期组成。

38.8086的地址总线中可用作I/O端口寻址的有16根,能形成_____个端口地址。

39. 8086外部中断有_______和_______,当CPU内的中断标志IF=“0”状态时,外部中断线同时为

“1”状态时,CPU响应哪个中断请求信号________。

40.INT 20H 指令中断向量存放在______H:_______H中。

41.在8086通用寄存器中,可以用作存储器寻址的寄存器有______和_______。

42.标号可以有两种类型属性。它们是______和________。

43.请用一条指令实现如下操作:

(1)将ax中划…x?的位清0

15 5 4 0

┏┳┳┳┳┳┳┳┳┳┳━┳━┳┳┳┳┓

┃┃┃┃┃┃┃┃┃┃┃x┃x┃┃┃┃┃指令:_____________

┗┻┻┻┻┻┻┻┻┻┻━┻━┻┻┻┻┛

(2)寄存器的低四位取反:_________________。

44.CPU响应可屏蔽中断的条件是_________、_______、__________。

45.当ALE有效时,8086/8088CPU地址/数据总线AD0-AD15上传送的是___________信息。

46.8088是一种___________位的微处理器。

47.总线周期是指_____________________________________。

48.动态存储器DRAM的刷新是指_____________________。

49.存贮器的地址区域___________________为中断向量区。

50.宏指令定义必须由伪指令________开始,伪指令________结束,两者之间的语句称为________。

51.在80x86微处理器中,指令分配给寄存器SP的默认段寄存器是_______________。

52.8086有______根地址线,可寻址________字节的地址空间。

二、名词解释

1.访问周期

2.机器周期

3.总线周期

4. 指令周期

5.堆栈

6.寄存器SP

7.逻辑地址

8.可屏蔽中断

9.软中断

10.内部中断

11.NMI

12.中断13.INTR、/INTA

14.向量

15.独立编址

16.统一编址

17.物理地址

18.有效地址

19.操作数寻址方式

20.基址变址寻址

21.微处理器字长

22.时序

23.Ready、Tw

24.BIOS

25.HOLD、HLDA

26.8088最小组态

27.Ready、Tw

28.BCD码

29.寄存器IP

30.寄存器PSW

31.控制标志

32.状态标志

33.段寄存器

34.机器语言

35.汇编语言

36.宏

三、选择题

1.8086/8088的存储器组织是将存储器划分为段,可作为段的起始地址是()。

A、26AF8H

B、0AB568H

C、01004H

D、0F0030H

2.下列指令执行后,能影响标志位的指令是()。

A、PUSHF

B、POPF

C、JNLE OPR

D、LOOPE LOP

3.8088/8086存储器分段,每个段不超过()。

A、32K个字节

B、64K个字节

C、1兆个字节

D、64K个字

4.若AX=-15要得到AX=15应执行的指令是()。

A、NOT AX

B、NEG AX

C、INC AX

D、DEC AX

5.表示过程定义结束的伪指令是()。

A、 END B.ENDS C、ENDP D、ENDM

6.标志寄存器中属于控制标志位的是()。

A、DF,OF,SF

B、AF,OF,SF

C、OF,CF,PF

D、DF,IF,TF

7.下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是()。

A、AX,BX,CX,DX

B、CS,ES,DS,SS

C、SP,BP,SI,DI

D、BX,BP,SI,DI

8.执行后使BX=0的同时也使CF=0,OF=0的指令是()。

A、XOR BX,BX

B、OR BX,BX

C、AND BX,BX

D、CMP BX,BX

9.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()。

A、ADD BH,01H

B、TEST BH,01H

C、XOR BH,01H

D、OR BH,01H

10.下面各传送指令中,正确的是()

A、MOV [DI],[SI]

B、MOV [DX+DI],AL

C、MOV AL,BX

D、MOV WORD PTR [BX],0100H

11.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()。

A、ZF=0

B、ZF=1

C、SF=0

D、SF=1

12.使用DOS系统功能调用时,使用的软中断指令是()。

A、INT 21H

B、INT 16H C.INT 10H D、INT 21

13.下述语句执行后AX中的值是()。

DA2 DB …AB?,…CD?

MOV AX,WORD PTR DA2+1

A、…AD?

B、…BC?

C、…DA?

D、…CB?

14.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是()。

A、BX

B、BP

C、SI

D、DI

15.已知某操作数的物理地址是3217AH,则它的段地址和偏移地址可能是()。

A、3208∶00EA

B、3125∶0F2A

C、3100∶017A

D、3200∶117A

16.下列指令执行后影响CF值的是()。

A、DEC

B、XCHG

C、LEA

D、SHL

17.有语句:COUNT EQU 256,下列四种叙述中,正确的是()。

A、COUNT是变量名

B、COUNT占用一个字节存储单元

C、COUNT是符号常数

D、COUNT占用二个字节存储单元

18.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是()。

A、JAE HIGH

B、JBE HIGH

C、JEG HIGH

D、JLE HIGH

19.汇编语言源程序,可以是()。

A、可以直接由机器执行

B、必须由编译程序生成目标程序才能执行

C、必须由汇编程序汇编成目标程序才能执行

D、必须由解释程序生成目标程序才能执行

20.指令MOV BYTE PTR[BX+SI],0中,目的操作数的寻址方式是()。

A、立即寻址

B、寄存器寻址

C、基址变址寻址

D、寄存器间接寻址

21.设al=20h,si=0500h,ds=3000h,(30500h)=0c0h,cf=1。执行sbb al,[si]后,正确的结果是()。

A、al=5fh、sf=1、cf=1

B、al=60h、sf=1、cf=0

C、al=5fh、sf=0、cf=1

D、al=60h、sf=0、cf=0

22.cpu发出的访问存储器的地址是()。

A、段地址

B、逻辑地址

C、偏移地址

D、物理地址

23.从8086CPU的内部结构上看,其是由()两部分组成。

A、控制器和20位物理地址加法器

B、运算器和总线接口

C、控制器和运算器

D、执行单元和总线接口单元

24.8086的内存空间和I/O空间是()。

A、单独编址的,分别是1MB和64KB

B、统一编址的,都是64KB

C、单独编址的,都是1MB

D、统一编址的,都是1MB

25.在汇编语言程序中,对end 语句的叙述正确的是()。

A、end 语句是一可执行语句

B、end 语句在汇编后要产生机器码

C、end 语句表示源程序到此结束

D、end 语句表示程序执行到此结束

26.堆栈中当前出栈的存储单元地址是()。

A、ss*10h+bp

B、ss*10h+sp

C、ss*10+bp

D、ss*10+sp

27.设ax=1000h

neg ax

not ax

执行上述指令后,正确的结果是()。

A、ax=1001h

B、ax=0fffh

C、ax=1000h

D、ax=0111h

28.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来()。

A、占内存空间小,但速度慢

B、占内存空间大,但速度快

C、占内存空间相同,速度快

D、占内存空间相同,速度慢

29.下列叙述正确的是()。

A、对两个无符号数进行比较采用cmp指令,对两个有符号数比较用cmps指令。

B、对两个无符号数进行比较采用cmps指令,对两个有符号数比较用cmp指令。

C、对无符号数条件转移采用jae/jnb指令,对有符号数条件转移用jge/jnl指令。

D、对无符号数条件转移采用jge/jnl指令,对有符号数条件转移用jae/jnb指令。

30.IBM PC微机中,-15一般是用()表示的。

A、原码

B、反码

C、补码

D、BCD码

31.下列指令中,能完成将AL寄存器清零的有()条。

CMP AL,AL;SUB AL,AL;XOR AL,AL;MOV AL,0

A、1

B、2

C、3

D、4

32.cbw 指令的功能是()。

A、把源操作数的符号位扩展到目的操作数中

B、把ah 中的符号位扩展到al 中

C、把al 中的符号位扩展到ah 中

D、把ax 中的符号位扩展到dx 中

33.判断一个带符号数NUMBER>0fbh 时程序转移,需选用的条件转移指令是()。

A、jle

B、jnl

C、jnle

D、jl

34.若8086 CPU主频为8MHz,则其基本总线周期为()。

A、125ns

B、200ns

C、250ns

D、500ns

35.22.某微机字长16位,其存储器容量为64KB,如果按字编址,其寻址范围是()。

A、0~(16K-1)字

B、0~(32K-1)字

C、0~(16K-1)B

D、0~(64K-1)字。

36.8086/8088系统执行传送指令MOV()。

A、不影响标志位

B、影响DF方向标志

C、影响SF符号标志

D、影响CF进位标志

37.下列指令中操作数在代码段中的是()。

A、 ADD AL,BL

B、MOV AL,42H

C、SUB [BX],DI

D、INC [DI]

38.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()。

A、DIV BX

B、CWD

C、XOR DX,DX

D、CBW

IDIV BX DIV BX IDIV BX

39.要使BL中的低四位变反,高四位不变,应执行指令()。

A、NOT BL

B、OR BL,0FH

C、AND BL,0FH

D、XOR BL,0FH

40.下列指令执行时操作数在数据段的是()。

A、MOV AX,32768

B、INC BYTE PTR [DI]

C、NEG BX

D、ADD AL,AH

41.下述指令执行后,AL的值是()。

MOV AL,-1

NEG AL

XOR AL,65

A、01H

B、40H

C、61H

D、64H

42.有数据定义BUF DB 8DUP(3 DUP(2),2 DUP(3)),在BUF中能构成数据0203H有()。

A、5个

B、6个

C、7个

D、8个

43.条件转移指令JBE产生转移的条件是()。

A、CF=0 OR ZF=0

B、CF=0 OR ZF=1

C、CF=1 OR ZF=0

D、CF=1 OR ZF=1

44.CPU要访问的某一存储单元的实际地址称()。

A、段地址

B、偏移地址

C、逻辑地址

D、物理地址

45.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()。

A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位

B、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0

C、指令AND AX,0FH执行后,分离出AL低四位

D、NOT AX执行后,将AX清0

46.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()。

A、在名字中不允许出现$

B、名字的有效长度≤31个字符

C、名字的第一个字符可以是字母、数字及?、@、_

D、名字的第一个字符可以是大写英文字母及小写英文字母

47.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后

应跟的分支指令是()。

A、JNC LOP1

B、JA LOP1

C、JC LOP1

D、JGE LOP1

48.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是()。

A、32K字节

B、32K字

C、64K字节

D、64K字

49.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定

义语句是()。

A、DW 4142H,4344H,4546H

B、DB 41,42,43,44,45,46

C、DW …BA?,…DC?,…FE?

D、DW …AB?,…CD?,…EF?

50.执行PUSH BP指令时,目的操作数的物理地址表达式是()。

A、16*SS+SP

B、16*DS+BP

C、16*CS+IP

D、16*SS+BP

51.串操作指令中,每次操作后使SI/DI为减量应设置()。

A、DF=0

B、TF=1

C、DF=1

D、TF=0

52.某程序装入内存后,DS=1300H,CS=1400H,则程序中数据段中的数据最多是()字节。

A、64K

B、4K

C、8K

D、16K

53.循环指令LOOP规定循环次数必定在( )寄存器中。

A、DX

B、DL

C、CX

D、CL

54.8086的存储器是分段的,定义一个段的伪指令是( )。

A、PROC和ENDP

B、NAME和END

C、SEGMENT和ENDS

D、SEGMENT和ASSUME

55.对存储器访问时,地址线有效和数据线有效的时间关系应该是()。

A、数据线较先有效

B、二者同时有效

C、地址线较先有效

D、同时高电平

56.下面是某8086微机内存中的部分数据,则中断类型号为11H的中断服务程序的入口地址是()。

0000:0040 B3 18 8A CC 4D F8 00 F0 41 F8 00 F0 C5 18 8A CC

0000:0050 39 E7 00 F0 A0 19 8A CC 2E E8 00 F0 D2 EF 00 F0

A、F000:F84D

B、A019:8ACC

C、CC8A:19A0

D、4DF8:00F0

57.8086cpu在基址加变址的寻址方式中,变址寄存器可以为()。

A、BX或CX

B、CX或SI

C、SI或DI

D、DX或SI

58.条件转移指令jb产生程序转移的条件是()。

A、cf=1

B、cf=0

C、cf=1 和zf=1

D、cf=1 和zf=0

59.设ah=0,al=06h,bl=09h,执行指令

add al,bl

aaa

之后,其结果应是()。

A、ah=01,al=05

B、ah=1 al=15h

C、ah=0 al=0fh

D、ah=0 al=15h

60.IBM-PC及其兼容机具有()I/O空间。

A、统一编址的64KB

B、统一编址的1MB

C、独立编址的1MB

D、独立编址的64KB

61.CPU响应INTR和NMI中断时,相同的必要条件是( ) 。

A、当前总线空闲

B、允许中断

C、当前访问内存结束

D、当前指令执行结束

62.通常,中断服务程序中的一条STI指令目的是()。

A、允许低一级中断产生

B、开放所有可屏蔽中断

C、允许同级中断产生

D、允许高一级中断产生

63.指令jmp far ptr done属于()。

A、段内转移直接寻址

B、段内转移间接寻址

C、段间转移直接寻址

D、段间转移间接寻址

64.设 sp初值为3100h,执行指令"push ax"后,sp的值是()。

A、30ffh

B、30feh

C、3102h

D、 3098h

65.8086/8088 CPU内部有一个始终指示下条指令偏移地址的部件是()。

A、SP

B、CS

C、IP D.BP

66.把汇编源程序变成代码程序的过程是()。

A、编译

B、汇编

C、编辑

D、链接

67.用一条指令仅实现将(bx+si)->ax 的方法是()。

A、mov ax,[bx+si]

B、xchg ax,[bx][si]

C、lea ax,bx[si]

D、lea ax,[bx][si]

68.设ax=1000h

neg ax

not ax

执行上述指令后,正确的结果是()。

A、ax=1001h

B、ax=0fffh

C、ax=1000h

D、ax=0111h

69.从buf 单元开始存放有10 个字节数据,欲找出与al 中内容不同的数据,并将该数据的偏移地址

送adr 单元,正确选择的指令序列是()。

A、cld

rep cmpsb

jz k1

mov adr,di k1:……B、cld

repnz cmpsb

jnz k1

mov adr,di

k1:……

C、cld

repz scasb

jz k1

dec di

mov adr,di

k1:……

D、cld

repz scasb

jne k1

dec di

mov adr,di

k1:……

70.在8086CPU的标志寄存器中,控制标志位占()。

A、3位

B、9位

C、4位

D、16位

71.8086的内存空间和I/O空间是()。

A、单独编址的,分别是1MB和64KB

B、单独编址的,都是1MB

C、统一编址的,都是64KB

D、统一编址的,都是1MB

72.在下列指令的表示中,不正确的是()。

A、mov al,[bx+si]

B、jmp short doni

C、dec [bx]

D、mul cl

73.执行下列指令序列后,正确的结果是()。

mov al,81h

add al,al

adc al,al

A、al=05h

B、al=204h

C、al=04h

D、al=205h

74.下面的数据传送指令中,错误的操作是()。

A、 mov ss:[bx+di],1000h

B、mov dx,1000h

C、mov word ptr[bx],1000h

D、mov ds,2000h

75.连接到64000h~6FFFFh地址范围上的存储器是用8k×8 RAM芯片构成的,该芯片要()片。

A、8片

B、6片

C、10片

D、12片

76.连续启动两次独立的存储器操作之间的最小间隔叫()。

A、存取时间

B、读周期

C、写周期

D、存取周期

四、程序分析

1.功能:在附加段中有一个字数组,其首地址已存放在DI寄存器中,在数组的第一个字中存放着

该数组的长度。下面的程序是使该数组中的数按照从小到大的顺序排列。

DA TA SEGMENT

SA VE_CNT DW ?

START_ADDR DW ?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA MAIN PROC FAR

START: PUSH DS

SUB A X,AX

PUSH AX

(1)

MOV DS,AX

MOV START_ADDR,DI

(2)

MOV SA VE_CNT,CX

INIT: MOV BX,1

DEC SA VE_CNT

JZ SORTED

(3)

MOV DI, SA VE_CNT NEXT: (4)

MOV AX,ES:[DI]

CMP ES:[DI+2],AX

(5)

XCHG ES[DI+2],AX

MOV ES:[DI],AX

SUB B X,BX

CONT: LOOP NEXT

CMP BX,0

JE INIT SORTED:MOV DI, START_ADDR RET

MAIN ENDP

CODE ENDS

END START

2.功能:完成对首地址为a 的n 字正整数组从小到大排序。

data segment

a dw n dup (?)

data ends

code segment

assume cs:code,ds:data start:

mov ax,data

____________________________

mov cx,n

____________________________ loop1:

mov di,cx

mov bx,0 loop2:

____________________________

cmp ax,a[bx+2]

____________________________

xchg ax,a[bx+2]

mov a[bx],ax

continue:

add bx,2

loop loop2

____________________________

loop loop1

mov ah,4ch

int 21h

code ends end start

3.功能:从键盘读入一字符串(长度小于40),将该串反转后,输出显示。

maxno equ 41

dseg segment

mesg1 db 'input a string:$'

mesg2 db 'it's reverse is:'

buf db maxno,?,maxno dup(?)

dseg ends

cseg segment

assume cs:cseg,ds:dseg

start:________________

mov ds,ax

mov dx,offset mesg1

mov ah,9

int 21h

mov dx,offset buf

__________________

int 21h

xor ax,ax

__________________ ;取实际读入字符数

lea di,buf+2

mov si,di

add si,ax

mov byte ptr [si],'$'

dec si

cont:cmp di,si

_______________

mov al,[si]

xchg al,[di]

dec si

________________ ;调整di

jmp cont

finishd:

lea dx,buf+2

mov ah,9

int 21h

mov ax,4c00h

int 21h

cseg ends

end start

4.读程序,回答问题。

假定x1,x2,xn为无符号数。

org 100h

blok dw x1,x2, (x)

count equ($-blok)/2

result dw count,?

lea bx,blok-2

mov cx,result

xor ax,ax goon:add bx,2

cmp ax,[bx]

jae next ;*

mov ax,[bx] next:loop goon

mov result+2,ax

问题:(1)程序运行后,bx的值;

(2)程序循环次数;

(3)result+2字存储单元的内容;

(4)*处程序改为jbe后,result+2字存储单元的内容;

(5)如果x1,x2,xn为有符号数,要实现与原程序相同功能,*处程序应如何修改。

5.读程序,回答问题。

DSEG SEGMENT

BLOCK DB 51,30,43,107,89

DB 90,200,197,70,64 COUNT EQU $-BLOCK

RESULT DB 0

DSEG ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DSEG MAIN PROC FAR

START:PUSH DS

SUB AX,AX

PUSH AX

MOV AX,*

MOV DS,AX

MOV ES,AX

MOV SI,**

MOV CX,COUNT CON:MOV AL,[SI] TEST AL,01H***

JZ NEXT

INC RESULT NEXT:INC SI

LOOP CON

RET

MAIN ENDP

CODE ENDS

END START

问题:1、简述程序的功能。

2、写出程序执行后,RESULT单元的内容。

3、写出第3行中$的作用和汇编后COUNT的值。

4、写出*处的完整指令。

5、写出**处的完整指令,并写出该指令的替代指令。

6、不改变程序功能,写出***处的替代指令。

6.读程序,回答问题。

DA TA SEGMENT

FEN DB 85,-90,67,-127,95,

DB 88,73,60,83,77

COUNT EQU $-FEN

RESULT DB ?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START PROC FAR

PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET FEN

MOV CX,COUNT

DEC CX ;*

MOV AL,[SI]

MOV RESULT ,AL

TEST AL,80H

JZ LOP

NEG AL

LOP:INC SI

MOV BL,[SI]

TEST BL,80H

JZ NEXT

NEG BL

NEXT:CMP AL,BL

JAE NEXT1

MOV AL,BL

MOV BL,[SI]

MOV RESULT,BL NEXT1:LOOP LOP

RET

START ENDP

CODE ENDS

END START

问题:1、简述该程序的功能。

2、写出程序执行后,RESULT单元的内容。

3、*处为什么要用DEC CX指令将CX的值减1?

4、简述LOOP指令的执行过程。

5、最后一句END START伪指令中START的作用是什么?

五、存储器设计题

1.用8K×8位的SRAM芯片,4K×16位的EPROM芯片和3-8译码器74LS138构成一个

16K×16位的RAM和16K×16位的ROM存储器,8086工作在最小模式,各需要多少芯片?

画出该存储器的组成框图及其与CPU的连接图,写出各芯片的地址范围。

2.用32K×8位的SRAM芯片和译码器74LS138构成128K×16的RAM存储器,组成8086最小模

式下的存储器子系统,画出该存储器与CPU的连接图,计算共需芯片总数、片内地址位数、产生片选信号的地址数及各芯片的地址范围。

3.用两片32K×4位的SRAM芯片,组成8088最小模式下的存储器子系统,要求起始地址为

C0000H。试画出连接图,并对连接图作详细说明。

六、程序设计题

1.编写一个完整的汇编语言程序,接收从键盘输入的n个十进制数字(n<32),输入回车符则停

止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER并显示。加密表为:

输入数字: 0,1,2,3,4,5,6,7,8,9

密码数字: 7,5,9,1,3,6,8,0,2,4

2.编写完整程序,完成从键盘输入一个字符串(<16),并按以下要求执行。回车符、换行符、数

字、大写字母、小写字母的ASCII码值分别为0DH,0AH,30H~39H,41H~5AH,61H~7AH。

a)统计其中非数字字符的个数并以十进制形式输出。

b)统计大写字母的个数并以十进制形式输出。

c)统计数字的个数并求和,以十六进制形式输出数字和。

3.编写一汇编程序,将正数N插入到一个已排序的字数组的正确位置。该数组的首地址和末地址

分别为ARRAY-HEAD和ARRAY-END,其中所以的数均为正数,且已按增序排列。(例:取数组为3、5、15、23、37、49、52、65、78、99、105)

4.设一个正整数阶乘N!的结果<=65535。编写一程序,实现从键盘上输入N值,并在显示器上

显示该数值,然后计算阶乘值,并把该值保存在内存单元中,以十六进制数输出显示。

5.在内存首地址为TABLE开始的十个单元中存放自然数0~9的平方值,任一数X在FIRST单元

中,要求从键盘输入X值,查表求出X的平方值,将结果放SECOBND单元,并以十进制显示求出的平方值。写出完整的程序。

书上例题3.2,3.4,3.5,3.6,3.8,3.9,3.10,3.12,3.13,3.14 作业上习题。

华电微机原理与技术汇编语言题目及答案

一微机原理与接口技术汇编题目 (1)数据块传送 1、将数据段中2000H单元开始存放的10个数(8位数)传送到3000H开始的10个字节中。 2、将数据段DATA1中的10个字数据(16位数)传送到数据段DATA2中。 提示: 1、指定数据的起始地址:(如果不指定起始地址,则起始地址为0000H) DATA SEGMENT ORG 2000H DB 1,,2,3,4,5,6,7,8,9,10 ; DB定义字节数据 ORG 3000H DB 10 DUP(0); 预留10个单元存放结果,初值预定义为0 DATA ENDS 定义的存单元为:

2、定义字数据命令为:DW DATA1 SEGMENT DW 1,,2,3,4,5,6,7,8,9,10 ; DW定义字数据DATA1 ENDS 一个字为两个字节,在存中低位在前,高位在后。

(2)查表 1、已知0~15的平方值表,查表求X(X是0到15 间任一数)的平方值,送到Y单元,用两种方法。 2、已知0~255的平方值表,查表求X的平方值,送到Y单元。 提示: 0到15的平方表,每个平方值为一个字节; 0到255的平方表,每个平方值为2个字节;调试程序,平方表中的数据定义几个就行,目的是程序正确即可。 一个字为两个字节,在存中低位在前,高位在后。

(3)计算 1、计算多字节数据67788H与99AABBCCDDEEFF00H的和。 2、计算8字节的BCD码十进制数67788H与43322H的和 3、计算10个字数据的和(数据自己定义)。 提示; 1、多字节数据在存中存放,低位在前,高位在后 DAT1 DB 88H,77H,66H,55H,44H,33H,22H,11H DAT2 DB 00H,0FFH,0EEH,0DDH,0CCH,0BBH,0AAH,99H DAT3 DB 9 DUP(0) 2、BCD十进制加法 二进制加法指令: ADD BCD十进制加法: ADD

微机原理与汇编语言复习题及参考答案

、选择题 : 1. 2. 3. 中南大学现代远程教育课程考试复习题及参考 答案 微型机原理与汇编语言 设AL=0A8H CX=2 CF=1,执行RCL AL , CL 指令后,AL 中的值为 A. 51H B. A3H C. 47H D. 0C5H 下述指令的执行结果是 MOV AL , 0C2H AND AL , 0F0H A.AL=40H B.AL=20H 完成对CL 寄存器的内容乘以 A.ROL CL , 1 B.MUL 4 ROL CL , 1 C.AL=0C0H D.AL=0E0H 4 的正确操作是 C.SHL CL SHL CL ,2 ,CL ,1 D.MOV CL ,1 SHL CL BH 中的数一定为奇数,应执行的指 C. XOR BH ,01H D. TEST 无论BH 中原有的数是奇数或偶数,若要使 A. ADD BH , 01H B. OR BH , 01H 假设(AL )= 37H ,( BL )= 95H ,执行指令 IMUL BL 后(AX )= A. 0E903H B. 2003H 下面的数据传送指令中,错误的操作是 A. MOV SS:[BX+DI] , 1000H C. MOV WORD PTR[BX], 1000H 7. CPU 要访问的某一存储单元的实际地址称 4. 5. 6. C. 0DBBH D. 2008H B. MOV DX D. MOV DS ,1000H ,2000H A .段地址 B.偏移地址 C.物理地址 8. 某存储单元的物理地址是 12345H,可以作为它的段地址有 A . 2345H B . 12345H C . 9. 计算机能直接识别的的语言 A .汇编语言 B .机器语言 10. 下列指令中操作数在代码段中的是 A . MOV AL,25H B . ADD AH,BL C . D.逻辑地址 12340H D . 1234H C.咼级语言 D.低级语言 INC DS:[25] D . CMP AL,BL 11. 直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为 A .直接、立即、间接 C.立即、直接、间接 12. 若栈顶的物理地址是 A . 2010211 B B .直接、间接、立即 D .不一定 2010011, 当执行完指 令 CALL AX 后, . 2010111 13. 当执行完下列指令序列后,标志位 MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A . 0, 0 B . 0, 1 14. JMP BX 的目标地址偏移量是() A . SI 的内容 B . SI C . 200FFH CF 和 OF 的值是 . 1, 0 D O 所指向的内存字单元之内容 C . IP+SI 的内容 D . IP+[SI] 15. 指令MOV AX,10[BX]的源操作数的寻址方式是 A .基址寻址 B .寄存器寻址 C.变址寻址 D .寄存器相对寻址 16. 指出下列哪个数据在汇编语言中是非法的。 A . 19BH+25D B . 25+AL C . 108-102Q D . 101B*OABH 17. 用来存放即将执行的指令的偏移地址的寄存器是 A . SP B . IP C . BP BH , ( 01H 栈顶的物理地址是( D . 200FEH ( . CS

微机原理与汇编语言复习题及参考答案

微机原理与汇编语言复习题及参考答案 ——CSDN下载频道提供,请尊重原创 一、选择题: 1. 设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为() A. 51H B. A3H C. 47H D. 0C5H 2. 下述指令的执行结果是() MOV AL,0C2H AND AL,0F0H A.AL=40H B.AL=20H C.AL=0C0H D.AL=0E0H 3. 完成对CL寄存器的容乘以4的正确操作是() A.ROL CL,1 B.MUL 4 C.SHL CL,1 D.MOV CL,2 ROL CL,1 SHL CL,1 SHL CL,CL 4. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指() A. ADD BH,01H B. OR BH,01H C. XOR BH,01H D. TEST BH,01H 5. 假设(AL)= 37H,(BL)= 95H,执行指令IMUL BL后(AX)= () A. 0E903H B. 2003H C. 0DBBH D. 2008H 6. 下面的数据传送指令中,错误的操作是() A. MOV SS:[BX+DI],1000H B. MOV DX,1000H C. MOV WORD PTR[BX],1000H D. MOV DS,2000H 7. CPU要访问的某一存储单元的实际地址称() A.段地址B.偏移地址C.物理地址D.逻辑地址 8. 某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 9. 计算机能直接识别的的语言() A.汇编语言 B.机器语言C.高级语言D.低级语言 10. 下列指令中操作数在代码段中的是() A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL 11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为()A.直接、立即、间接B.直接、间接、立即 C.立即、直接、间接D.不一定 12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是()A.2010211 B.2010111 C.200FFH D.200FEH 13.当执行完下列指令序列后,标志位CF和OF的值是() MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A.0,0 B.0,1 C.1,0 D.1,1 14. JMP BX的目标地址偏移量是(D)。 A.SI的容B.SI所指向的存字单元之容 C.IP+SI的容D.IP+[SI] 15.指令MOV AX,10[BX]的源操作数的寻址方式是() A.基址寻址B.寄存器寻址MOV AX,BX C.变址寻址AX【BX+DI】(只能用BX,BP;SI和DI) D.寄存器相对寻址 16.指出下列哪个数据在汇编语言中是非法的。()

微机原理与汇编语言教学大纲

《微机原理与汇编语言》课程教学大纲一、课程基本信息 二、教学目标和要求 本课程是计算机专业的专业主干课。课程以当今主流微处理器80X86为结合点,分析它的结构特点、操作原理、指令系统以及汇编语言设计的基本方法,为后续课程打下必要的基础。通过本课程的学习,要求学生掌握微型计算机的基本

工作原理、汇编语言程序设计基本方法、微型计算机接口技术、建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。应能掌握计算机的基本工作原理及汇编语言编程的技能和技巧,养成良好的程序设计风格,为今后的工作打下必要的技术基础。 三、教学难点 重点是8086CPU内部结构,引腿信号及功能,指令系统;汇编语言程序设计;接口的基本技术,接口芯片的内部结构和工作原理。难点是CPU操作时序,各种接口芯片的控制字,模式字的设置及其含义,接口与外设子系统的硬件设计及软件编程。 四、教学内容及基本要求 第一章微型机算计概述 (2学时) 教学目标和要求:理解微型机的分类和发展概况;掌握微处理器、微型计算机和微型机系统的差别;掌握CPU的功能和组成部件;掌握计算机的基本结构。 教学重点和难点:无。 教学方式:(课堂讲授) 第一节微型计算机的特点和发展 一、微型计算机的特点 二、微型计算机的发展 第二节微型机的分类 一、微型计算机的分类 第三节微处理器、微型计算机和微型计算机系统 一、微处理器 二、微型计算机 三、微型计算机系统 第四节微型机算机的应用 一、微型计算机的应用 复习思考题: 1. 微处理器、微型计算机和微型计算机系统之间有什么不同?

2. 微型计算机采用总线结构有什么优点? 3. 数据总线和地址总线在结构上有什么不同之处? 第二章 16位和32位微处理器 ( 6学时 ) 教学目标和要求: 1、掌握:8086微处理器的编程结构,常用引腿信号的功能,8086的中断系统,总线操作及时序; 2、理解:80386的体系结构,三种工作方式,指令流水线和地址流水线,虚拟存储机制和片内两级存储管理;Pentium采用的先进技术,原理结构,技术发展。 教学重点和难点:8086微处理器的结构,内部寄存器的功能,主要的引脚信号及功能,中断响应过程,存储器组织和I/O组织。 教学方式:(课堂讲授6学时) 第一节 16位微处理器8086 (2学时 ) 一、8086的编程结构 总线接口部件和执行部件的组成及各自功能,8086总线周期的概念。 二、8086的引腿信号和工作模式 1. 最小模式和最大模式的概念 为了适应各种应用场合,在设计8086/8088CPU芯片时,使它们可以在两种模式下工作,及最小模式和最大模式。 2. 8086/8088的引腿信号和功能 8086/8088CPU有40条引腿,这里介绍在两种模式下公用的32条引腿和他们的传递方向及有效跳变。 3. 最小模式 讲述8086在最小模式下的典型配置及有关引腿信号。 4. 最大模式 讲述8086在最大模式下的典型配置及有关引腿信号。 三、8086的操作和时序 1. 系统复位和启动操作 8086/8088复位时各内部寄存器的值,复位时序,总线信号状态。

汇编语言与微机原理实验指导书范本

汇编语言与微机原理实验指导书

《汇编语言与微机原理》实验指导书 编写者:董建怀 编写时间: -9-10

实验一.熟悉DOS环境和DEBUG调试软件的使用 一、实验要求: 必做 二、实验类型: 验证 三、实验学时:2 四、实验地点:机房 五、实验目的: 1、.熟悉DOS环境和DEBUG调试软件的使用方法。 2、掌握DEBUG常见命令A、U、D、E、R、T、G的使用,用DEBUG调试简单程序段。 六、实验内容: (一)、熟悉DOS环境 1、MS-DOS的启动:开始—程序—附件—MS-DOS方式(命令提 示符)。 2、MS-DOS全屏方式和窗口方式的切换:“ALT”+ “ENTER”。 3、MS-DOS工具栏的打开:“ALT”+空格键。 4、MS-DOS方式下的选定、复制和粘贴:利用菜单栏下”编辑” 菜单项中的“标记”、“复制”和“粘贴”的功能来实 现。 5、MS-DOS方式的退出:EXIT。 练习:进入MS-DOS方式,并将屏幕上显示的全部内容复制

到一WORD文档中。 (二)、熟悉一些常见的DOS命令 1、更改盘符,如:C:\WINDOWS>d:并按“ENTER”,显示:D:\>(盘符更改为D:)。 2、建立子目录(文件夹)MD,如C:\>MD FOX (在当前驱动器C盘下创立子目录FOX)。 3、显示当前目录CD,如:C:\>CD WINDOWS,显示:C:\WINDOWS>(即从当前目录C:\进入到C:\WINDOWS目录)。 4、显示磁盘目录的内容DIR,如:C:\WINDOWS>,显示的内容即为当前目录C:\WINDOWS中的所有内容。 5、返回上级目录,如:C:\WINDOWS>cd ..,显示C:\>(即从当前目录C:\WINDOWS返回到它的上级目录C:\)。 练习:在MS-DOS方式下,进入C:\WINDOWS\SYSTEM目录,并显示该目录下的所有内容,然后返回C盘的根目录(C:\)。 (三)、熟悉调试程序DEBUG.EXE的应用,练习DEBUG的常见命令 实践1:利用DEBUG.EXE的A、D、U命令,观察指令MOV AH,[BX+DI+50H],对应的机器码是什么?,该指令是几个字节的指令?并对机器码进行反汇编,观察对应的指令是什么?ADD [2345H][BX][DI],DX的机器码是什么? 该指令是几个字节的指令? 并对机器码进行反汇编,观察对应的指令是什么? 实践2:在DEBUG.EXE方式下(利用A、G命令), 分析两个数

位微机原理汇编语言及接口技术教程课后习题答案

《16/32位微机原理、汇编语言及接口技术教程》 部分习题参考解答 第1章微型计算机系统概述 〔习题〕 什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统? 〔解答〕 通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。 单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。 DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。 嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。 〔习题〕 说明微型计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。

〔习题〕 什么是总线?微机总线通常有哪3组信号?各组信号的作用是什么? 〔解答〕 总线:传递信息的共用通道,物理上是一组公用导线。 3组信号线:数据总线、地址总线和控制总线。 (1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。 (2)数据总线:传输读写操作的数据信息。 (3)控制总线:协调系统中各部件的操作。 〔习题〕 简答如下概念: (1)计算机字长 (2)取指-译码-执行周期 (3)ROM-BIOS (4)中断 (5)ISA总线 〔解答〕 (1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。 (2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 (3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 (4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。 (5)ISA总线是指IBM PC/AT机上使用的系统总线。 〔习题〕 下列十六进制数表示无符号整数,请转换为十进制形式的真值: (1)FFH (2)0H (3)5EH (4)EFH 〔解答〕 (1)255 (2)0 (3)94 (4)239

微机原理与汇编语言 习题

微机原理与汇编语言习题 1.ZF标志位是标志结果是否为零的,若结果为零,ZF为________,否则ZF为_______。当ZF 为1时,SF为________。 2.调用程序与子程序之间的参数传递方法有四种,即堆栈法、_______、______、______。 3.宏指令定义必须由伪指令________开始,伪指令______结束,两者之间的语句称为________。 4.三个重复前缀指令为__________、__________、________。 5.8086/8088 CPU可访问2个独立的地址空间,一个为存贮器地址空间,其大小为____个字节; 另一个为______,其大小为_______字节。 6.当_______________时,CPU便进入等待状态(Tw)。 7.最小模式系统除CPU、存储器、I/O接口和总线外,至少还应配置________、__________、 _________三种芯片部件或电路。 8.8086内部由_________和_______两部分组成,其作用分别是_______和______。 9.在汇编语言中,一个标号和过程有和两种属性。前者表明在段内转移和调用,后 者表示在段间转移和调用。 10.8086/8088的存储器是分段的,因此存储单元的物理地址是由和组合而成。 11.汇编语言源程序的扩展名是,目标程序的扩展名是,通常产生的可执行程序 的扩展名是。 12.指令操作数可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们 分别被称为立即、寄存器和直接寻址方式。 13.微型计算机一般都采用总线结构,系统总线的信号线有三组,即数据总线、地址总线和 控制总线。 14.若要判断无符号数运算是否溢出,应根据CF 标志位;而判断有符号数运算是否溢出,应 根据OF 标志位。 15.8086/8088端口地址的范围是0000H ~ FFFFH。 16.汇编语言源程序中的语句有三种类型,他们是指令语句,伪指令语句和语句。 17.指令SAR可用来有符号数数除以2,而指令SHR则可用来无符号数数除以2。 18.用二进制代码组成的计算机能直接识别的语言称为机器语言。用机器指令的助记符以 及伪指令,宏指令表示的一种面向机器的语言称汇编语言,用该语言编写的程序需经过汇编程序翻译,成为计算机能直接识别并执行的程序称目标程序。 19.数据段中有以下定义: ARRAY1 EQU 16H ARRAY2 DW 16H 请指出下面两条指令源操作数的寻址方式: MOV AX, ARRAY1 ;寻址方式:立即寻址方式。 MOV AX, ARRAY2 ;寻址方式:直接寻址方式。 20.在数据段中使用字符串时,该字符串必须用括起来。当定义含有多个字符的字符串时,

汇编语言与微机原理综合性实验报告

综合性实验报告 2012-2013-1 课程名称:《汇编语言与微机原理》班级:10级计算机(1)班 学号:1006111079 姓名:王东亮

实验项目:基于DOS系统功能调用、串处理指令的用户管理实验 1 实验目的与要求: 通过本综合性实验,可以达到以下目的: 1、掌握内存中数据的存储与管理方法; 2、掌握使用DOS系统功能调用的方法进行程序设计的三个基本步骤; 3、掌握使用DOS系统功能调用进行字符串显示与录入、存储的程序设计; 4、掌握字符串处理指令的功能、格式及使用方法; 5、掌握使用汇编语言进行程序设计、调试的方法。 2 实验内容: 1、进行子程序设计,功能为: (1)调用DOS系统功能进行字符串录入提示;并对用户根据提示输入的用户名进行存储;(2)系统自动匹配录入用户名与预设用户名,若相同,则提示“ENTER THE SYSTEM….”,否则,提示“REFUSED TO ENTER!”。 2、调用DOS系统21H中断的25H号功能,将此子程序的入口地址写入中断矢量表,中断矢 量号定义为60H。 3、定义主程序,功能如下: (1)在数据存储区域预设用户名; (2)使用INT 60H中断指令进行中断调用; 4、调试、执行程序并记录调试结果。 3 实验过程(要求在实验报告中写出全部代码,并提交纸质实验报告和电子文档,电子文档为实验报告、源代码、obj、exe文件的压缩包) 参考过程如下: 1、进入DOS操作系统; 2、键入EDIT 进入全屏幕编辑环境; 3、建立源文件.ASM 并保存; 4、返回DOS系统; 5、用汇编程序MASM对源文件汇编产生目标文件.OBJ; 6、用链接程序LINK产生执行文件.EXE; 7、执行程序; 8、进入DEBUG,进行程序功能调试的方法。 完整源代码如下: DATA SEGMENT WAITFINPUT DB 100 DB ? DB 100 DUP(?) USER_NAME DB "BRUTH" MESG DB "PLEASE INPUT THE USERS' NAME(=5):$" WEL DB "ENTER THE SYSTEM...$"

汇编语言、微机原理及接口技术期末复习试卷以及参考答案八教学文案

重庆邮电大学2006/2007学年第二学期期末考试题 微机原理与接口技术考试题(A 卷) 一、单项选择题(每题1分,共20题) 1、一般,微机系统硬件由___部分组成,包括______。 A.4,CPU、存储器、I/O设备和接口电路 B.3,存储器,控制器和显示器 C.2,运算器和显示器 D.4,存储器,运算器,显示器和键盘 2、80X86微机系统有三条总线,它们是___________。 A. 地址总线、数据总线和控制总线 B. 地址总线、信息总线和存储器总线 C. 输入总线和输出总线 D. 单总线、面向微处理器双总线和面向存储器双总线 3、80X86微机中用来指出下一条要被执行指令的偏移地址的部件是___。A.CS B.DS C.ES D.IP

4、在汇编语句MOV BL,’A’中,源操作数的寻址方式是___________。A.直接寻址B.立即寻址 C.基址寻址D.寄存器间接寻址 5、以下指令中正确的是___________。 A.MOV DS,2D00H B.MOV CL,270 C.IN AL,DX D.MOV [DI],[SI] 6、已定义数据段 DATA SEGEMENT ORG 0213H DA1 DB 15H,34H,55H ADR DW DA1 DATA ENDS 能使AX中数据为偶数的语句是() A.MOV AX,WORD PTR DA1 B.MOV AL,DA1+2

C.MOV AL,BYTE PTR ADR+1 D.MOV AX,WORD PTR DA1+2 7、已知DS=1000H,ES=2000H,SI=0300H,内存10310H开始的两个单元中存放3A4BH,内存20310H开始的两个单元中存放4C5DH,则语句LEA B X,[SI+10H] 执行后,BX的值为________。 A.3A4BH B.4C5DH C.0310H D.3D5BH 8、MOV SP,4210H PUSH AX 执行上述指令后,SP寄存器的值是() A.4211H B.420EH C.420FH D.4212H 9、下列指令中不影响进位标志CF的指令是___________。 A.SUB AX,BX B.ROL AL,1 C.INC CX D.ADD AL,BL 10、设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL

微机原理与汇编语言_实验3_循环程序设计实验汇总

微机原理与汇编语言 实验报告 姓名x x x学号xxxxxx 专业班级计科x班 课程名称微机原理与汇编语言实验日期2014.10.22 实验名称循环程序设计实验成绩 一、实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 二、实验内容 1、实验原理 (1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题 (2)累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数 2、实验步骤 (1)流程图 (2)实验源码 .model small .stack ;定义堆栈段 .data ;定义数据段 inf1 db "Please input a number(1-627):$" inf2 db 0ah, 0dh, "1+2+......+$" ibuf db 7, 0, 6 dup(0) obuf db 6 dup(0) .code start: mov ax, @data mov ds, ax mov dx, offset inf1 ;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax 中 mov ah, 09h int 21h mov dx, offset ibuf mov ah, 0Ah int 21h mov cl, ibuf+1 mov ch, 0 mov si, offset ibuf+2 mov ax, 0 loop1: mov dx, 10 mul dx and byte ptr [si], 0Fh add al, [si] 从键盘输入一个十进制数,并将其转换为二进制数,存放在AX中 开始 结束 素、、 (CX)-1=0 累加循环次数送CX(MOV CX,AX)AX清0(AX中存放累加和) BX送1(BX存放每次循环累加的数,每循环一次,BX值加1) ADD AX,BX INC BX 累加和(在AX中)转换为十进制数并 显示 Y N

微机原理与汇编语言复习题及参考答案

中南大学网络教育课程考试复习题及参考答案 微型机原理与汇编语言 一、单项选择题: 1.设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为() A.51H B.A3H C.47H D.0C5H 2.下述指令的执行结果是() MOV AL,0C2H AND AL,0F0H A.AL=40H B.AL=20H C.AL=0C0H D.AL=0E0H 3.完成对CL寄存器的内容乘以4的正确操作是() A.ROL CL,1 B.MUL4 C.SHL CL,1 D.MOV CL,2 ROL CL,1SHL CL,1SHL CL,CL 4.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指() A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 5.假设(AL)=37H,(BL)=95H,执行指令IMUL BL后(AX)=() A.0E903H B.2003H C.0DBBH D.2008H 6.下面的数据传送指令中,错误的操作是() A.MOV SS:[BX+DI],1000H B.MOV DX,1000H C.MOV WORD PTR[BX],1000H D.MOV DS,2000H 7.CPU要访问的某一存储单元的实际地址称() A.段地址 B.偏移地址 C.物理地址 D.逻辑地址 8.某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 9.计算机能直接识别的的语言() A.汇编语言 B.机器语言 C.高级语言 D.低级语言 10.下列指令中操作数在代码段中的是() A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL 11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为() A.直接、立即、间接 B.直接、间接、立即 C.立即、直接、间接 D.不一定 12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是() A.2010211 B.2010111 C.200FFH D.200FEH 13.当执行完下列指令序列后,标志位CF和OF的值是() MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A.0,0 B.0,1 C.1,0 D.1,1 14.JMP BX的目标地址偏移量是() A.SI的内容 B.SI所指向的内存字单元之内容 C.IP+SI的内容 D.IP+[SI] 15.指令MOV AX,10[BX]的源操作数的寻址方式是() A.基址寻址 B.寄存器寻址 C.变址寻址 D.寄存器相对寻址 16.指出下列哪个数据在汇编语言中是非法的?() A.19BH+25D B.25+AL C.108-102Q D.101B*OABH 17.用来存放即将执行的指令的偏移地址的寄存器是() A.SP B.IP C.BP D.CS 18.源变址寄存器是() A.SI B.DI C.SP D.BX

微机原理与汇编语言-模拟题

《微机原理与汇编语言》模拟题 一.单选题 1.属于8086的专用(控制)寄存器有(). A.AXBXCXDX B.SPIPFLAGS C.SIDI D.以上三者都是 [答案]:B 2.有关com文件描述不正确的是(). A.可执行文件 B.没有文件信息的标题区 C.占用存储空间大 D.程序不分段入口点必须是100H [答案]:C 3.数据段中定义stringDW10dup(10dup(1),3,4),则lengthstring的值为(). A.10 B.100 C.120 D.20 [答案]:A 4.对MOV指令,不正确的是(). A.MOVAX,100H B.MOVAX,CS C.MOVBP,IP D.MOVVAR,100H [答案]:D 5.对MOV指令,正确的是(). A.MOVBL,AX B.MOVAX,CS C.MOVDS,100H D.MOVES,DS [答案]:B 6.R进制数转换成十进制的方法是(). A.权和系数乘后累加 B.降幂法 C.降幂法和除法 D.除法 [答案]:A

7.在编程时,常常将多次使用的功能用一条()来代替. A.指令 B.伪指令 C.宏指令 D.以上都不是 [答案]:C 8.属于8086的变址寄存器有(). A.AXBXCXDX B.SPBPIP C.SIDI D.以上三者都是 [答案]:C 9.不定重复汇编伪操作的指令是(). A.IRP B.IRPN C.REPT D.macro [答案]:A 10.假设程序中的数据定义PNAMEDW16DUP(?)后接着定义PLENTHEQU$-PNAME,它表示什么意义是(). A.占16字节 B.占32个字节 C.变量PNAME的长度 D.变量PNAME的地址 [答案]:B 11.操作符TYPE后可以是变量/标号/常数,回送变量或标号的类型值.其中常数回送的类型值为(). A.1 B.2 C.-1 D.0 [答案]:D 12.外部接口组成由一组”寄存器”及相关”控制电路组成”,其中存放外设和CPU传送过来的数据的寄存器是(). A.数据寄存器 B.状态寄存器 C.命令寄存器 D.以上都是

“微机原理与汇编语言”期末试题.

“微机原理与汇编语言”期末试题 一、填空(每空小1分,共30分) 1.电子计算机的主要应用领域有()、()、()。 2.电子计算机的发展历程是()、晶体管时代、()、( )。 3.十进制数11.375转换为二进制数为();二进制数1101101 转换为十进制数为()。 4.十进制数7928转换为十六进制数为(), 十六进制数3A57 转换为十进制数为()。 5.十六进制数DA2B转换为二进制数为(), 二进制数 110111100101.1011转换为十六进制数为()。 6.A=+0110101,[A]反=( ),[A]补=( );B=-0110101,[B] 反=( ) ,[B] 补=( )。 7.37的BCD编码是()。 8.从功能上看,微机由中央处理器、()、外部设备、( )和()五个部分组成。 9.CPU由( )和()两部分组成。 10.程序设计的基本的结构有顺序结构、()、()。 11.中断处理的过程是保存断点、()、()、()、( )。 12.打印机是()设备,扫描仪是()设备。 二、名词解释(每小题4分,共20分) 1.随机读写存储器 2.寄存器间接寻址方式 3.控制总线 4.局部总线 5.并行传输

三、改错题(下列各小题均有错,请针对题意改正其错误,或补充其不足。 每小题2分,共18分) 1.在浮点数加减运算中,阶码与尾数作为一个整体相加减。 2.在微程序控制方式中,每一条机器指令用一条微指令解释执行。 3.若总线地址为26位,则最大访存空间为6M。 4.DMA方式是指:由DMA控制器运行I/O程序,以实现外围设备与主存之间的数据直传。 5.SUB 0FFH ,BX; 6.MOV DX,AL; 7.ADD BUF1,BUF2; 8.MOV AX, 20H[SI][DI]; 9.MOV CS,AL; 10.MOV E43H,E43H 四、程序分析与设计(每小题2分,共10分) 1.将寄存器DX的内容赋于AX寄存器。 2.将立即数8EFH传送给BX寄存器。 3.将数据段偏移地址为2FH的存储器中的提供给DX寄存器。 4.将AL寄存器内容传送给由DI寄存器指定的数据段偏移地址的存储单元。5.将字节量数据11H送入用BX和DI的基址变址寻址的主存单元。 五、问答题(共30分) 1.什么叫寻址方式?常用的寻址方式有哪些?(5分) 2.什么是变量,变量有哪些属性,如何使用这些属性?(9分) 3.比较说明中断方式与DMA方式的异同?(9分) 4.什么是有效地址?什么是物理地址?如何由有效地址求得物理地址?(7分)

微机原理及汇编语言作业 编程

第五大组题 5.一个32位数存放在以数据段的BUF单元开始的位置。编写子程序统计该数中含“1”的个数,并将其结果存入RSLT字节单元。 stac segment stack db 1024 dup(0) stac ends data segment RSLT db 00H ;使rslt初值为零 buf dd 12345678h ;定义buf data ends code segment 'code' assume cs:code,ds:data,ss:stac start: mov ax,data mov ds,ax mov cl ,32 call again ;调用子程序 mov ax ,4c00h int 21h gain proc ;定义过程 shr word ptr ds:[si+2],1 ;最高字逻辑右移一位,D16进入CF rcr word ptr ds:[si+0],1 ;CF移入D15,最低字右移一位进入CF nc L1 inc RSLT L1:again endp code ends end start 55.在0200H单元中有一个数x,利用移位和相加的办法,使x×10(假定x×10>255)后送回原单元。 stac segment stack db 1024 dup(0) stac ends data segment org 0200h ;将变量x的定位在0200h处 x db 56h data ends code segment 'code'

assume cs:code,ds:data,ss:stac start: mov ax,data mov ds,ax mov al,x ;把x放到al中 + xor ah,ah ;使AH=0,同时使CF=0 shl ax,1 ;AX=AL*2 mov bx,ax ;BX=AX=AL*2 shl ax,1 ;AX=AL*4 shl ax,1 ;AX=AL*4 add ax,bx mov x,al ;将ax中低八位放到x中 mov x+1,ah ;将ax中高八位放到x+1中 mov ax, 4c00h int 21h code e nds end start 75.编写子程序。将AL中的二进制数转换成对应的ASCII码(置于AL中)返回。主程序调用子程序实现上述功能。 .model small .stack .data .code start: mov ax,@data mov ds,ax mov al,28h call label1 ;调用子程序 mov ax,4c00h int 21h label1 proc and al,0fh ;只取al的低四位 or al,30h ;al高四位变成3(0~9的ASCII码是30h~39h) cmp al,39h ;是0~9还是0A~0Fh(A~F的ASCII的值是41h~46h) jbe htoend ;小于等于39h,al低4位的数值在0~9之间 add al,7 ;数值在0A~0F间,其ASCII码值还要加上7 htoend: ret ;子程序返回 label1 endp ;过程结束 end start

微机原理及汇编语言复习题

微机原理及汇编语言复习题 一、填空题 1.指令包括、两部分。 2.标号有3个属性,属性、属性和属性。 3.计算机远距离通信时,通过进行数字信号与模拟信号间的转换。 4.8086产生20位的地址,称为。 5.8086系统中,就有三种时间周期,分别是、、。 6.逻辑地址由两部分组成、。 7.堆栈段在存储区中的位置由、来规定。 8.8位无符号数表示的范围为。 9.16位无符号数表示的范围为。 10.微计算机中的带符号数通常用表示。 11.硬中断可分为非屏蔽中断和中断两种。 12.8位带符号数表示的范围为。 13.16位带符号数表示的范围为。 14.指令就是为调用程序调用过程(或称转子程序)而设立的。 15.8088微机系统有20条地址线,可寻址的最大物理内存容量为字节。 16.指令放在子程序的末尾,当子程序功能完成后,由它实现返回。 17.当微计算机系统在运行时,或者程序运行期间,遇到某些特殊情况,需要CPU停止执行 当前的程序,产生。 18.转去执行一组专门的例行程序进行处理,这种情况称为中断。这种例行程序称为。 19.已知逻辑地址为2F80H:38A0H,物理地址= 。 20.静态MOS存储器是靠存储信息,动态MOS存储器是靠存储信息。 21.存储器芯片地址译码方法有和两种方法。 22.用4K×4bit的存储器芯片构成32KB的存储器,所需要的芯片数是片。 23.与十进制数128等值的二进制数是。 24.受CLI和STI指令控制的中断是。 25.标号有3个属性,属性、属性和属性。 26.如果一个程序在执行前(CS)=0A8F0H,(IP)=2B40H,该程序的起始物理地址是。 27.三总线包括总线、总线和总线。 28.在8088系统中,一个段最大64KB,8088有条地址线,可以寻址的最大物理空 间为1MB。 29.十六进制数30AH转换为二进制原码是,转换为BCD码是。 30.在指令中立即数只能用作操作数,而不能用作目的操作数。 31.用2K×4位的存储芯片组成4K×8位的存储器,需要进行扩展。 32.在8088系统中,在构成存储器时使用全部20位地址线进行译码,即译码方式。 33.如果带符号数FFH加上带符号数01H,结果产生溢出。 34.CPU的寻址能力取决于的根数。 35.8086 CPU内部数据总线宽度为______位,外部数据总线宽度为______位。 36.8088 CPU内部数据总线宽度为______位,外部数据总线宽度为______位。 37.IO接口地址译码方法有和两种方法。 38.在8088系统中,中断类型码为7的中断向量的存放地址是。 39.当存储器的读出时间大于CPU所要求的时间,为保证CPU与存储器的周期配合,就需要

华电微机原理与技术汇编语言题目及答案

一微机原理与接口技术汇编题目 (1)数据块传送 1、将数据段中2000H单元开始存放的10个数(8位数)传送到3000H开始的10个字节中。 2、将数据段DATA1中的10个字数据(16位数)传送到数据段DA TA2中。 提示: 1、指定数据的起始地址:(如果不指定起始地址,则起始地址为0000H) DA TA SEGMENT ORG 2000H DB 1,,2,3,4,5,6,7,8,9,10 ; DB定义字节数据 ORG 3000H DB 10 DUP(0); 预留10个单元存放结果,初值预定义为0 DA TA ENDS 定义的内存单元为: 2、定义字数据命令为:DW DA TA1 SEGMENT DW 1,,2,3,4,5,6,7,8,9,10 ; DW定义字数据 DA TA1 ENDS 一个字为两个字节,在内存中低位在前,高位在后。

(2) 查表 1、已知0~15的平方值表,查表求X(X就是0到15 间任一数)的平方值,送到Y单元,用两种方法。 2、已知0~255的平方值表,查表求X的平方值,送到Y单元。 提示: 0到15的平方表,每个平方值为一个字节; 0到255的平方表,每个平方值为2个字节;调试程序,平方表中的数据定义几个就行,目的就是程序正确即可。 一个字为两个字节,在内存中低位在前,高位在后。

(3)计算 1、计算多字节数据1122334455667788H 与 99AABBCCDDEEFF00H 的与。 2、计算8字节的BCD 码十进制数1122334455667788H 与9988776655443322H 的与 3、计算10个字数据的与(数据自己定义)。 提示; 1、多字节数据在内存中存放,低位在前,高位在后 DA T1 DB 88H,77H,66H,55H,44H,33H,22H,11H DA T2 DB 00H,0FFH,0EEH,0DDH,0CCH,0BBH,0AAH,99H 2、 BCD 十进制加法 二进制加法指令: ADD BCD 十进制加法: ADD DAA;十进制调整指令,仅对AL 作为加法的累加与寄存器进行调整 (4)计算表达式的值 1 计算表达式)2/()7*)((+-=Y Y X Z 的值,已知X=10,Y=5。 提示:

《微机原理及汇编语言》习题

第一章思考题与习题 1.1计算机的发展到目前为止经历了几个时代?每个时代的特点是什么? 1.2计算机的特点表现在哪些方面?简述计算机的应用领域。 1.3冯·诺依曼型计算机的结构由哪些部分组成?各部分的功能是什么?分析其中数据信息 和控制信息的流向。 1.4计算机中的CPU由哪些部件组成?简述各部分的功能。 1.5微型计算机系统主要由哪些部分组成?各部分的主要功能和特点是什么? 1.6微型计算机的分类方法有哪些? 1.7 什么是微型计算机的系统总线?定性说明微处理器三大总线的作用。 1.8 微型计算机的总线标准有哪些?怎样合理地加以选择? 1.9 简述微型计算机的主要应用方向及其应用特点。 1.10 奔腾系列微处理器有哪些特点?与其它微处理器相比有哪些改进? 1.11 解释并区别下列名词术语的含义。 (1)微处理器、微计算机、微计算机系统 (2)字节、字、字长、主频、访存空间、基本指令执行时间、指令数 (3)硬件和软件 (4)RAM和ROM (5)机器语言、汇编语言、高级语言、操作系统、语言处理程序、应用软件 (6)CMOS、BIOS、Cache芯片 1.12 微型计算机系统软件的主要特点是什么?它包括哪些内容? 1.12 定性比较微型计算机的内存储器和外存储器的特点及组成情况。 第二章思考题与习题 2.1 简述计算机中“数”和“码”的区别,计算机中常用的数制和码制有哪些? 2.2 将下列十进制数分别转化为二进制数、八进制数、十六进制数和压缩BCD数。 (1)125.74 (2)513.85 (3)742.24 (4)69.357 (5)158.625 (6)781.697 2.3 将下列二进制数分别转化为十进制数、八进制数和十六进制数。 (1)101011.101 (2)110110.1101 (3)1001.11001 (4)100111.0101 2.4 将下列十六进制数分别转化为二进制数、八进制数、十进制数和压缩BCD数。 (1)5A.26 (2)143.B5 (3)6AB.24 (4)E2F3.2C 2.5 根据ASCII码的表示,查表写出下列字符的ASCII码。 (1)0 (2)9 (3)K (4)G (5)t (6)DEL (7)ACK (8)CR (9)$(10)< 2.6 写出下列十进制数的原码、反码、补码表示(采用八位二进制,最高位为符号位)。 (1)140 (2)52 (3)-26 (4)-127 2.7 已知补码求出其真值。 (1)48H (2)9DH (3)B2H (4)4C10H 2.8 已知某个8位的机器数65H,在其作为无符号数、补码带符号数、BCD码以及ASCII码时分别表示

相关文档
相关文档 最新文档