文档视界 最新最全的文档下载
当前位置:文档视界 › 汇编语言与接口技术复习要点总结及一些习题

汇编语言与接口技术复习要点总结及一些习题

汇编语言与接口技术复习要点总结及一些习题
汇编语言与接口技术复习要点总结及一些习题

要点总结

第二章微型计算机结构

1.8086的段式存储结构

段地址+偏移量地址=存储单元的物理地址

或者,段寄存器的值*16+偏移地址=存储单元的物理地址2.段寄存器,通用寄存器,指针与变址寄存器,标志寄存器3.寻址方式

(1)寻址方式的概念

(2)寻址方式的分类

(3)各寻址方式中对于寄存器的限制

(4)各类寻址方式的格式

第三章汇编语言(参照课件)

1.汇编语句格式:[标号] 操作符操作数[;注释] 2.标号的概念以及其三个属性

3.伪指令:

(1)符号定义伪指令:EQU

(2)数据定义伪指令:DB,DW

(3)段定义伪指令:SEGMENT、ENDS、ASSUME 4、运算符

(1)分析算符:SEG,,OFFSET ,SIZE,LENGTH

(2)组合算符:PTR

5.指令语句与伪指令语句的区别

6.数据段、堆栈段、代码段的用途

第四章指令及汇编程序设计

1.数据传送指令:MOV、PUSH、POP、XCHG、XLAT

2.算数运算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、3.逻辑运算指令:CMP、TEST、OR、AND、NOT、XOR

4.移位指令:逻辑左移/右移,算数左移/右移,循环左移/右移,带进位的循环左移/右移;以及移位指令对于CF、OF标志位的影响

分支结构程序设计

1.无条件转移指令

2.有条件的转移指令(教材P102)

3.分支程序编写

循环结构程序设计

1.循环控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他们的控制条件(对CF、ZF的判断)

2.循环程序编写

子程序设计

1.子程序定义伪指令、调用指令、返回指令

2.子程序设计中对于堆栈操作的要求

第五章输入与输出中断

1.中断向量表、中断向量的概念

2.中断向量的修改

3.中断的类型:软件中断、可屏蔽硬件中断、非屏蔽硬件中断;以

及CPU队可屏蔽硬件中断和非屏蔽硬件中断的不同的响应条件4.8259的基本结构和工作原理

5.8259的操作命令字:包括各个命令字的作用、格式、具体的操作6.软件中断与硬件中断的异同点

第六章8254程序设计

1.8254的基本结构和工作原理

2.8254的命令字格式,以及对于8254各个计数器工作方式的设定

8255程序设计

1.8255的基本结构和工作原理

2.8255的命令字格式,以及对于8255各端口的操作

16550

异步串行通信中,波特率的概念,数据帧的概念

第七章简单外设

LED的显示原理

键盘的结构及扫描原理

一些复习题

习题一

一、选择题

1、8086CPU中程序计数器IP中存放的是。

A、指令

B、指令在现行代码段中的偏移地址

C、操作数

D、操作数在现行代码段中的偏移地址

2、Intel8086CPU内部的两大功能部件是。

A、标志寄存器及ALU

B、BIU及EU

C、指令队列及AIU

D、地址加法器及ALU

3、8086CPU有20根地址线,直接寻址内存的空间为。

A、64MB

B、1MB

C、4MB

D、8MB

4、Intel8086堆栈是按原则构造的。

A、先进先出

B、后进后出

C、先进后出

D、随机存取

5、微型计算机主存储器的基本编址单元的长度是。

A、64位

B、32位

C、16位

D、8位

6、为使CPU识别不同的内存单元,需要为每个内存单元规定不同的。

A、符号

B、地址

C、数据

D、状态

7、指令指针IP与组合使用,确定下一条指令存放单元的物理地址。

A、CS

B、ES

C、SS

D、DS

8、堆栈指针SP与组合使用,确定栈顶单元的物理地址。

A、CS

B、ES

C、SS

D、DS

9、8086对内存进行分段管理,一个段的最大范围是。

A、64KB

B、128KB

C、512MB

D、1MB

10、8086CPU用于存放当前数据段段基址的寄存器是。

A、CS

B、ES

C、SS

D、DS

11、为数据段基址寄存器DS赋值得汇编语句正确的是。

A、ASSUME DS:DATA

B、SEGMENT DATA

C、MOV DS,DATA

D、MOV AX,DATA

MOV DS,AX

12、下列描述正确的是B。

A、汇编语言只由指令语句构成

B、汇编语言语句包括指令语句和伪指令语句

C、指令性语句和伪指令语句的格式是完全相同的

D、指令性语句和伪指令语句都能经过汇编程序翻译成机器代码

13、8086/8088系统中,一个栈可使用的最大空间是。

A、1MB

B、由SP初值决定

C、64KB

D、由SS初值决定

14、若(AL)=10101101B,为了使其内容变为01011101B,下列哪一种执行一次即可完成此操作?xor al,11110000b

A、NOT指令

B、AND指令

C、XOR指令

D、OR指令

15、设(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H 的物理地址为。

A、20102H

B、200FEH

C、20101H

D、200FFH

16、令DF=1的指令是。

A、STD

B、CLD

C、CLC

D、STC

17、将累加器AX的内容清零,错误的指令为。

A、AND AX,0

B、XOR AX,AX

C、SUB AX,AX

D、CMP AX,AX

18、指令MOVSB中源串的逻辑地址为。

A、DS:SI

B、DS:DI

C、DS:DI

D、ES:DI

19、有指令MOV AX, 1234H,指令中的立即数1234H是存储在____________________。

A.数据段

B.代码段

C.附加段

D.堆栈段

20、交换寄存器SI,DI的内容,正确的程序段是。

A、 PUSH SI

B、PUSH SI

PUSH DI PUSH DI

POP SI POP DI

POP DI POP SI

C、 MOV AX,SI

D、MOV AX,SI

MOV DI,SI MOV BX,DI

MOV SI,DI XCHG BX,AX

21、假设ES段中有一个字符串‘12FG3LM5C’,其名为ARRAY,下面程序段

CLD

LEA DI,ES:ARRAY

MOV AL,’G’

MOV CX,9

REPNE SCASB

执行后,CX的值为。

A、9

B、5

C、4

D、0

22、下列串操作指令中,在指令前加重复前缀指令REP是没有实际使用价值的。

A、MOVSB

B、STOSB

C、CMPSB

D、LODSB

23、执行下面的程序段后,AL中的内容为。

BUF DW 2152H,3416H,5731H,4684H

….

MOV BX,OFFSET BUF

MOV AL,3

XLAT

A、46H

B、34H

C、16H

D、57H

24、在汇编语言程序中,对END语句的叙述正确的是()。

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

B、END语句表示程序执行到此结束

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

D、END语句在汇编后要产生机器码

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

A、MOV SS:[BX+DI],AX

B、MOV DX,1000H

C、MOV WORD PTR[BX],1000H

D、MOV DS,2000H

26、伪指令VAR DD ? 将在内存预留字节的存储空间。

A、1

B、2

C、4

D、6

27、设X1和X2是用DB定义的变量,下列指令中正确的是。

A、MOV X1,20H

B、MOV AX,X1

C、MOV X1,X2

D、MOV 20H,X2

28、执行下面的程序段后,AX中的内容为。

NUM DW ?,23

NAME DW 10 DUP(?)

N EQU 6

LEN EQU $-NUM

MOV AX,LEN

A、18H

B、1CH

C、15H

D、16H

29、已知VAR DW 1,2,$+2,5,6,若汇编时VAR分配的偏移地址是0010H,汇编后0014H单元的内容是。

A、16H

B、05H

C、14H

D、06H

二、填空题

1、若运算结果为0,则标志寄存器中零标志位ZF= 1 。

2、写出下列存储器地址的段地址,偏移地址和物理地址。

(1)2314:0035 段地址为,偏移地址为,物理地址为。

3、设VAL是在数据段中定义的变量,试指出下列源操作数字段的寻址方式。

(1)MOV AX, 03FH

(2)MOV AX,BX

(3)MOV AX,[BX]

(4)MOV AX,DS:[100H]

(5)MOV AX,ES:[BX]

(6)MOV AX,[BX+10]

(7)MOV AX,VAL[BX]

(8)MOV AX,VAL[BX][SI]

4、DIV SRC 执行字节除法时,运算后的商存放在 AL 中,余数存放在AH中。

5、执行下列执行后,AX寄存器的值为1E00H 。

TABLE DW 10,20,30,40,50

ENTRY DW 3

……….

MOV BX,OFFSET TABLE

ADD BX,ENTRY

MOV AX,[BX]

6、执行下列指令序列后,BL寄存器的值为。

MOV CL,3

MOV BL,0B3H

ROL BL,1

RCR BL,CL

7、设(BX)=0C6H,变量VAL中存放的内容为59H,确定下列各条指令单独执行后,BX寄存器的值。

(1)XOR BX,VAL ;(BX)=

(2)AND BX,VAL ;(BX)=

(3)OR BX,VAL ;(BX)=

8、判断下列指令是否合法。

(1)MOV [SI],[DI] 不合法不允许同为存储器数据

(2)RCR DX,3 不合法移位次数超过1,放到CL

(3)PUSH AL 不合法 16位

(4)MOV CS,AX 不合法,不允许对CS赋值

(5)INC [BX] 不合法,类型不匹配 INC byte ptr[bx]

(6)MOV AX,[DX] 不合法,dx不允许作为间接寻址寄存器

(7)MOV AL,1000 不合法,1000超出8位数据表示的范围

9、汇编语言源程序中表示结束的伪指令是 END 。

10、判断下列指令和伪指令的使用是否正确。

(1)K1 DW 3412H

K2 DB K1 不正确 K1类型应该为DW

(2)K1 EQU 1234H

…………

MOV K1,AX 不正确, K1不分配内存单元

(3)N EQU 2

N EQU N+1 不正确 EQU不允许对同一标号重复赋值

11.已知数据段定义如下:

DATA SEGMENT

ORG 100H

BUF DW 'CD', 1, 3 DUP(4, 2 DUP(8, 6))

VRA DB 4AH

DATA ENDS

单独执行下列语句

LEA BX, BUF BX=__0100H_____

MOV CX, VRA-BUF CX=__0022H_____(用十六进制数表示)。

三、简述题

1、8086系统中,设有一个包含8个字的数据区,数据区的起始地址为2100H:2A10H,写出该数据区首末字单元的物理地址。

23A10H~23A1EH

2、从内存地址34120H,依次存放3个数,它们分别是字数据27H,字节数据0F1H和字数

3、将AL与BX中的两个无符号数相加,结果放入AX。

XOR AH,AH

ADD AX,BX

4、将AL与BX中的两个带符号数相加,结果放入AX。

CBW

ADD AX,BX

5、将AL的高4位与低4位分别放入BH与BL的低4位,且将BH与BL的高4位清0。MOV CH,AL

MOV CL,4

SHR CH,CL

MOV BH,CH

AND AL,0FH

MOV BL,AL

6、用一条逻辑指令将AX寄存器清0。

XOR AX,AX

7、用一条逻辑指令将DX寄存器的高3位为1,其余位不变。

OR DX,0E000H

8、试编写指令序列,将DX:AX中的32位无符号数乘以2,结果仍存放在DX:AX中。SHL AX,1

RCL DX,1

9、定义一个数据段DATASG,并且在该数据段中定义一个有5个字节的字节数组ARRB,其值分别为34H,12H,45H,26H,25H。

DATASG segment

ARRB db 34H,12H,45H,26H,25H

DATASG ends

10、伪指令与指令的本质区别是什么?

伪指令是不能够编译成二进制代码,不能够执行,帮助编译器正确识别指令,编译成二进制代码。

指令语句能够编译成二进制代码,可以执行。

11、编写数据段定义,在段中依次定义以下变量:

V1为字节变量,初值是90H;

V2为字数组,初值依次为2341H,9813H,0A213H;

V3为字节型数组,初值为字符串’Assembly Language’;

V4为字节数组,有5个字节,未定义初值。

Data segment

V1 db 90h

V2 dw 2341H,9813H,0A213H

V3 db’Assembly Language’

V4 db 5 dup (?)

Data ends

12、设数据段定义如下:

DATA SG SEGMENT

V1 DB 3 DUP(0)

V2 DW 4 DUP(0)

DATASG ENDS

(1)编写指令序列,将1634H存入字节数组V1的第0个字节和第1个字节(可以修改数据段)

Movbx,offset V1

Mov word ptr[bx],1634H

(2)编写指令序列,将2AH存入字数组V2的第0个字节和第2个字节(可以修改数据段)。

Movsi,offset V2

Mov byte ptr[si],2AH

Mov byte ptr[si+2],2AH

习题二

一、选择题:

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

(A) 对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令

(B) 对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令

(C) 对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令

(D)对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令

2.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作数在_____中。( )

(A)数据段中偏移量为3236H的字节 (B)附加段中偏移量为3234H的字节

(C)数据段中偏移量为3234H的字节 (D)附加段中偏移量为3236H的字节

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

(A) MOV AL,[BX+SI] (B) JMP SHORT DONI

(C) DEC [BX] (D)MUL CL

5.为了使执行串操作指令时,地址按减量方式处理应使用指令_____。( )

(A)CLI(B)STI(C)CLD (D)STD

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

(A)BX或CX (B) CX或SI (C) DX或SI (D) SI或DI

8. 伪指令VARDD? 将在内存预留字节的存储空间。 ()

(A) 1 (B) 2 (C) 2 (D) 4

9.下面指令序列执行后完成的运算,正确的算术表达式应是_______。( )

MOV AL,BYTE PTR X

SHL AL,1

DEC AL

MOV BYTE PTR Y,AL

(A) y=x*2+1 (B)x=y*2+1 (C) x=y*2-1 (D) y=x*2-1

10.执行下面的程序段后,AL中的内容为。( )

BUF DW 2152H,3416H,5731H,4684H

MOV BX,OFFSET BUF

MOV AL,2

XLAT

(A) 46H (B) 34H (C) 16H (D) 57H

11.汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可

省略的项是________。

( )

(A)操作项 (B) 名字项 (C) 操作数项 (D) 注释项

12.下列指令执行时出错的是_______。( )

(A)ADD BUF1,BUF2 (B) JMP DWORD PTR DAT[BX]

(C) MOV AX,10H[BX] (D) TEST AL,08H

13.已知(AX)=3456H,执行下述三条指令后,(AX)=_____。( )

MOV BX,AX

NEG BX

ADD AX, BX

(A) 3456H (B) 0EDCCH (C) 6DCCH(D) 0000H

14.将DX的内容乘以2,正确的指令是________。( )

(A) MUL 2 (B) MUL DX,2 (C)SAR DX,1(D) SHL DX,1

二填空题:

1、DIV SRC 执行字节除法时,运算后的商存放在中,余数存放在中。

2、设(BX)=0D6H,变量VAL中存放的内容为77H,确定下列各条指令单独执行后,BX寄存器的值。

(1)OR BX,VAL ;(BX)=

(2)AND BX,VAL ;(BX)=

3、存放指令有效地址的寄存器是,该寄存器与段寄存器联合使用确定指令的物理地址;存放栈顶有效地址的寄存器是,该寄存器与段寄存器联合使用确定栈顶的物理地址

4、在REPNZ SCASB指令中,重复执行串搜索指令的条件是。

5、指出下列指令中源操作数的寻址方式

(9)MOV BX,[1000H]

MOV AX,[BX+SI+100H]

6、汇编语言源程序中表示结束的伪指令是。

7、在汇编语言中,通常用来存放循环次数的寄存器是。

三、简述题:

1、伪指令与指令的本质区别是什么?

2、编写汇编程序应经历哪些步骤?

3、指出能用于寄存器间接寻址及变址寻址的寄存器有哪些?它们通常与哪个段寄存器配

合形成物理地址?BX SI DI----DS

BP----SS

4、主程序与子程序的关系是什么?在程序中如何使用子程序?

5、简述汇编语言相对高级语言的优点。

四、程序分析题:

A DW 3456H

B DW 1234H

….

PUSH A

PUSH B

POP A

POP B

试回答:(1)上述程序段执行后(A)=______,(B)=________。

(2) 设执行前SP=1000H,执行后SP=________________。

2.

分析下面程序段,

MOV AL,100

SAR AL,1

MOV BL,AL

MOV CL,2

SAR AL,CL

ADD AL,BL

试问程序段执行后(BL)=____________(AL)=______________。

3、已知AX=0FF60H,CF=1

MOV DX,16H

XOR DH,0FFH

SBB AX,DX

执行上述指令序列后,AX=_____________________,CF=_____________________

4、执行下列程序段后,回答问题。

ORG 100H

NUM DW 12H

MOV BX,OFFSET NUM

MOV CL,BYTE PTR NUM+1

MOV CH,TYPE NUM

MOV AX,NUM

请问:(AX)=___0012H___,(BX)=__0100H ____,(CX)=__0200H ____。

5、

DATA SEGMENT

S9 DB0,1,2,3,4,5,6,7,8,9

DATA ENDS

LEA SI,S9

LEADI,S9+1

MOV CX,5

LOP:MOV AL,[SI]

XCHG AL,[DI]

MOV [SI],AL

ADD SI,2

ADD DI,2

LOOP LOP

试说明该程序段的功能,并指出上述程序段运行后,S9开始的10个字节存储单元内容是什么?

1,0,3,2,5,4,7,6,9,8

6、

已知一段程序如下:

DATA SEGMENT

A1 DW 10,20

A2 EQU 100

A3 DB ‘1234’

ORG 2

A4 DW 1234H

DATA ENDS

画出该程序段的内存分配示意图(标明地址),并说明该数据段的,起始偏移地址和最终偏移地址。

五、程序设计题:

1、比较两个无符号数的大小,若A>B,则显示出'A>B',否则显示'B>A'。

2、在数据区中存放着一组数:28,18,38,48,78,58,数的类型为字节,要求用冒泡法

对该数据区中的数据按递减关系排序。

3、编程求1+2+3+…100。将结果存放在RESULT单元中。

4、已知在数据区BUF1和BUF2分别存放'Hello,everybody'

'Hello,everyone’

字节数据。编程检查两数据区中的数据是否相同。若完全一致,则将标志单元FLAG置FFH,否则置0,并将第一次出现的不同数据的地址分别存放在ADDR1和ADDR2单元中。

习题三

一、中断部分习题

(3)用3片8259A级联,最多可管理的中断数是( )

A.24级

B.22级

C.23级

D.21级

(4)从CPU的NMI引脚产生的中断叫做___非屏蔽中断___,他的响应不受__IF__的影响。(6)中断类型码为15H的中断,其服务程序的入口地址一定存放在_00054H~00057H_____四个连续的单元中,若这四个单元的的内容为:66H、50H、88H、30H,则其服务程序的入口地址为_3088H:5066H_______。

(7)设主片8259A的IR3上接有一从片,IR5上引入了一个中断申请。那么初始化时,主、从片的ICW3分别是__主:08H;从:03H_______________。

(9)中断类型码为9H的中断向量一定存放在_____________个连续单元中,若其入口地址为3040H:2010H,则这四个单元中的具体内容依次为___________________________。

(10)在一个8086CPU和单片8259A组成的系统中,试说明:

1、8086CPU在响应可屏蔽中断的条件是什么?

书上有。

2、假如8259A已被编程,ICW2=0AH,若连接在8259A的IR3端的外设提出中断申请,它的中断向量的存放地址是什么?

0002CH~0002FH

3、软件中断和硬件中断的区别?

书上有。

(12)某一中断程序入口地址值填写在中断向量表的0080H —0083H 存储单元中,则该中断对应的中断类型号一定是()

A.1FH

B.20H

C.21H

D.22H

(14)已知中断类型号为18H ,则其中断服务程序的入口地址存放在中断向量表的_________ 中。()

A .0000H ∶00072H ~0000H ∶0075H

B .0000H ∶00072H ~0000H ∶0073H

C .0000H ∶00060H ~0000H ∶0063H

D .0000H ∶00060H ~0000H ∶0061H

二、定时器/计数器部分

(1)试按如下要求分别编写82C54的初始化程序:己知82C54的计数器0、1、2和控制字I/O地址依次为104H、105H、106H、107H。

1、使计数器1工作在方式0,仅用低8位作二进制计数,计数初值为128;

Mov dx,107H

Mov al,01010000b

Out dx,al

Mov dx,105h

Mov al,128

Out dx,al

2、使计数器0工作在方式1,按BCD码计数,计数值为3000;

Mov dx,107H

Mov al,00110011b

Out dx,al

Mov dx,104h

Mov ax,3000H

Out dx,al

Moval,ah

Out dx,al

3、使计数器2工作在方式2,按二进制计数,计数值为02F0H。

Mov dx,107H

Mov al,10110100b

Out dx,al

Mov dx,106h

Mov ax,02F0H

Out dx,al

Moval,ah

Out dx,al

(3)8254芯片内包含有__3__个独立的计数通道,它有___6___种工作方式,计数初值为500,BCD码计数方式,OUT1输出为方波,则初始化时该通道的控制字应为____01110111B_________。

三、数据传输部分

(3)在8086 CPU中,总线接口部件(BIU)的功能是______________________________,执行部件(EU)的功能是______________________________。

(4)在8086中,一条指令的物理地址是由______________________________相加得到的。(5)CPU与I∕O设备间传送的信号有( )

A.数据信息

B.控制信息

C.状态信息

D.以上三种都是

(7)若要可编程并行芯片8255A三个端口均作为输入口,并都工作在方式0下,则其方式选择控制字应为__10011011B__________________。

(8)设串行异步通信的数据格式是:1个起始位,7个数据位,1个校验位,1个停止位,若传输率为1200,则每秒钟传输的最大字符数为( )

A.10个

B.110个

C.120个

D.240个

(12)8255A的方式选择控制字为80H,其含义是( )

A.A、B、C口全为输入

B.A口为输出,其他为输入

C.A、B为方式0

D.A、B、C口均为方式0,输出

(13)设8255A接到系统中,端口A、B、C及控制口地址分别为220H、221H、222H及223H,工作在方式0,试编程将端口A的数据输入后,从端口C输出,同时,将从A口输入的数据高4位不变,低4位取反后从端口B输出。

课件上有。

(16)设异步传输时,一帧信息包括1位起始位、7位信息位、1位奇偶校验位和1位停止位,如果波特率为9600bps,则每秒能传输多少个字符?

9600/(1+7+1+1)=960个

(17)CPU执行IN、OUT指令,在硬件上会使__RD,WR_/读写______信号有效。

《汇编语言与接口专业技术》习题解答第三章

《汇编语言与接口技术》习题解答(第三章)

————————————————————————————————作者:————————————————————————————————日期:

问题: 画图说明下列语句分配的存储空间及初始化的数据值 解答: (1)byte_var DB 'ABC',10,10h,'EF',3 DUP(-1,?,3 DUP(4)) (2)word_var DW 10h,-5,3 DUP(?) 习题3.10 ‘A ’‘B ’‘C ’1010h ‘E ’‘F ’-1-444... 41h 42h 43h 0ah10h 45h 46h ffh -04h 04h 04h 3个10h 0FBh FFh ---- --10h -5?? ? 3.16 解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 3.18 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 3.19 解: .model small .stack .data bufX dw -7 signX db ? .code .startup cmp bufX,0 ;test bufX,80h

jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 3.20 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h 3.22 编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H 等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ;wjxt322.asm .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ? ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 3.30 解: lucase proc push bx mov bx,offset string cmp al,0 je case0

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 ) 2.标号可以有两种类型属性.它们是( )和( ) 3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ). 5.循环程序通常由( )( )( )和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT 7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( ) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( ) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW( ) (2)双字变量AYD存放的地址指针送ES和SI( ) (3)变量AY2类型属性送AH( ) (4)不允许中断即关中断( ) (5)将字符串'HOW ARE YOU!'存入变量AYB( ) (6)子程序返回调用程序( ) (7)地址表达式AYY[4]的偏移地址送字变量ADDR( ) (8)AX的内容加1,要求不影响CF( ) (9)BX的内容加1,要求影响所有标志位( ) (10)若操作结果为零转向短号GOON( ) 二,单选题 1.IBM PC微机中,有符号数是用( )表示的 1.原码 2.补码 3.反码 4.BCD码 2.把汇编源程序变成代码程序的过程是( ) 1.编译 2.汇编 3.编辑 4.链接

汇编语言课后习题解答

第1章基础知识 检测点1.1(第9页) (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。 (2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。 (3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。 (4)1GB是1073741824(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64(KB)、1(MB)、16(MB)、4(GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: 1(B)、1(B)、2(B)、2(B)、4(B)。 (7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。 (8)在存储器中,数据和程序以二进制形式存放。

(1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU 最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

《汇编语言与接口技术》答案习题解答(第三章)

解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 解:

.model small .stack .data bufX dw -7 signX db .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h

编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ; .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 解: lucase proc push bx mov bx,offset string cmp al,0 je case0 cmp al,1

汇编语言程序设计 知识点 V3.0

第一章 1、什么是汇编语言? 2、汇编语言程序设计过程:编辑源程序,编译(汇编),连接,运行调试 3、汇编语言特点?与机器语言一一对应,直接操作硬件,高效率(空间和时间,运行速度快,目标代码短,占用存储空间少) 4、数制转换 第2章8086计算机组织结构 1、计算机硬件系统组成:CPU、存储器、输入输出设备。 2、CPU组成:运算器、控制器、寄存器,运算器和控制器由芯片设计时设计好,不可做任何改动,程序设计员仅能在程序里使用寄存器,寄存器都有相应的名字,如AX,能在程序里直接使用寄存器是汇编语言区别于高级语言的最重要特点,这样就可以直接控制硬件系统。 3、总线结构:数据总线、地址总线、控制总线。数据总线分8位、16位、32位和64位等,多少位机就是以数据总线来划分,比如8位机、32位机。8086机是16位机,但地址总线是20位,地址总线数量决定了内存寻址空间的大小,如8086有20位地址线,那么寻址空间是:220=210*1K=1M,8086最大寻址空间为1MB,即地址范围:00000H~FFFFFH。控制总线主要传送控制信息,如读写操作,读写操作的主体是CPU,读操作是指CPU从内存或外设读取数据,写操作是指CPU把数据写到内存或外设中。 4、存储器:存储器的最小单元是字节(Byte,由8个位组成),字节的多少就是存储器的容量。每一个字节单元都有一个唯一的编号,这个编号就是字节单元的地址,此地址就是物理地址,对于8086而言,编号的形式为:XXXXXH,如85421H。如果要读写存储器,必须知道某一个字节单元的地址。多个字节单元可以组合成更大的单元(数),比如2个字节单元组合成一个字(Word),4个字节单元组合成一个双字(Double Word)等,规定:这个组合后的大单元是以最小字节单元地址为自己的地址。如85421H字节单元内容为12H,85422H 字节单元内容为34H,那么以85421H地址的字单元的内容就是3412H。 地址取最小字节单元的地址为大单元的地址。 内容排序按照“高高低低”原则:高字节放在高地址里,低字节放在低地址里。 详细请参看2.3节(P30页) 5、8086CPU寄存器 (1)通用类:AX(AH,AL)、BX(BH,BL)、CX(CH,CL)、DX(DH,DL) (2)段寄存器类:CS、DS、ES、SS (3)与偏移地址相关类:SI、DI、SP、BP (4)特殊类:IP、FLAGS 所有寄存器都是16位大小,通用类的16位又可看成2个8位的寄存器组成,区分为高8位(High)和低8位(Low),因此取名为AH和AL,其他类似。 CS:存放代码段段地址,DS:存放数据段段地址,SS:存放堆栈段段地址,ES:存放数据附加段段地址,一般作为DS的辅助使用,比如在一段程序里需要用到2个不同数据段的数据时,其中一个数据段段地址存放在DS中,另一个存放在ES中。 SI、DI:一般用于变址寻址方式,如[BX+SI]、[BX+DI], SP:堆栈段中堆栈栈顶的偏移地址,不可修改,由SS:SP逻辑地址始终指向堆栈的栈顶。 详细参看2.3.2,P32页 BP:一般也用于堆栈,可以作为SP的备份,通常也是用SS:BP逻辑地址表示,BP可以随意修改,因此通过SS:BP可以访问堆栈的任何地方。此外,BP还与BX一样,可以作为基地址

汇编程序及接口技术实验报告

微机汇编程序及接口技术实验报告 汇编程序实验: 一、实验目的 1、熟悉汇编程序调试过程 2、掌握算术运算指令运用 3、掌握分支程序的编程和调试方法 二、实验设备 80X86微型计算机 三、实验内容 1、编程并调试显示“Hello Word!”字符串的汇编程序 TITLE HELLO DA TA SEGMENT STR DB'Hello World!$' DA TA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STR MOV AH,9H INT 21H MOV AH,4CH INT 21H CODE ENDS END START

2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。编写一个完整段定义的汇编语言程序,计算W=(A+B)×(C—D)。 title asmprogram1_1 DA TA SEGMENT A DW 1H B DW 3H C DW 4H D DW 2H W DW 2 DUP(?) DA TA ENDS ; CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AX,A ADD AX,B MOV BX,C SUB BX,D IMUL BX MOV W,AX MOV W+2,DX MOV AH,4CH INT 21H CODE ENDS END START

3、设X、Y为在数据段中定义的有符号字变量。编写一个完整段定义的汇编语言程序(包含必要的伪指令,给出必要的注释)完成以下操作:若0

汇编语言复习题(附答案)

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课 后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B )。 A. 汇编程序 B. 连接程序 C. 机器语言程序 D.源代码程序 2. 在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是 (C )。 A..SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D. 段地址 4. MOV AX, 3064H,该指令中源操作数采用的寻址方式是(A )。 A.立即 B. 直接 C. 寄存器相对 D. 寄存器间接 5. 换码指令的助记符是(C )。 A. XCHG B. LEAS C.XLAT D. MOV 6. 如果A> B (A、B有符号数)发生转移,应选择的条件转移指令是(JGE )。 7. 下列符号中,可用作标识符的是(C )。 A.MOV B.AX C.MSG1 D.1ABC 8. X DB 10H DUP (1 , 2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9. 当DF=0时,执行串操作指令MOVSB变址寄存器SI、DI的值将(C )。 A.不变 B. 减1 C. 加1 D. 无法确定 10. 如下指令可将AX寄存器内容改变的是(A )。 A. AND AX , BX B . TEST AX , BX C. CMP AX , BX D . XCHG AX , AX 11.16位CPU支持的I/O 地址范围是(D )。 A. 0~0FFFFFH B. 0~0FFFFH C. 0~0FFFH D. 0~0FFH 12. MUL CL指令实现的功能是(A )。 A.无符号乘法:AX AL X CL B.有符号乘法:AX AL X CL C.无符号乘法:DX AL X CL D .有符号乘法:DX AL X CL 13. DOS系统功能调用(INT 21H )中,显示字符串的功能号是(D )。 A.01H B.02H C.08H D. 09H 14. 在16位CPU读取指令时,需要用到的寄存器对是(C )。 A.SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 15. 下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B )。 A.MOV AX,23H B. MOV AX,[BX+SI] C.SUB AX,[BX] D. ADD AX,BX 16. 有内存变量定义语句:VAR DW 10 DUP(1 , 2), 1234H, VAR的属性TYPE LENGTH和

汇编语言知识大全

第一章基础知识: 一.机器码:1.计算机只认识0,1两种状态。而机器码只能由0,1组成。故机器码相当难认,故产生了汇编语言。 2.其中汇编由三类指令形成:汇编指令(有机器码对应),伪指令,其他符号(编译的时候有用)。 每一总CPU都有自己的指令集;注意学习的侧重点。 二.存储器:1.存储单元中数据和指令没任何差别。 2.存储单元:Eg:128个储存单元(0~127)128byte。 线: 1.地址总线:寻址用,参数(宽度)为N根,则可以寻到2^N个内存单元。 据总线:传送数据用,参数为N根,一次可以传送N/8个存储单元。 3.控制总线:cpu对元器件的控制能力。越多控制力越强。 四.内存地址空间:1.由地址总线决定大小。 2.主板:cpu和核心器件(或接口卡)用地址总线,数据总线,控制总 线连接起来。 3.接口卡:由于cpu不能直接控制外设,需通过接口卡间接控制。

4.各类存储器芯片:RAM,BIOS(主板,各芯片)的ROM,接卡槽的 RAM CPU在操控他们的时候,把他们都当作内存来对待,把他们总的看作一个由 若干个存储单元组成的逻辑存储器,即我们所说的内存地址空间。 自己的一点理解:CPU对内存的操作是一样的,但是在cpu,内存,芯片之间的硬件本身所牵扯的线是不同的。所以一些地址的功能是对应一些芯片的。 第二章寄存器 引入:CPU中含有运算器,寄存器,控制器(由内部总线连接)。而寄存器是可以用来指令读写的部件。8086有14个寄存器(都是16位,2个存储空间)。 一.通用寄存器(ax,bx,cx,dx),16位,可以分为高低位 注意1.范围:16位的2^16-1,8位的2^8-1 2.进行数据传送或运算时要注意位数对应,否则会报错 二.字:1. 1个字==2个字节。 2. 在寄存器中的存储:0x高位字节低位字节;单元认定的是低单元 数制,16进制h,2进制b

《汇编语言与接口技术》期末考试试题及答案

第一学期期末考试 汇编语言与接口技术 试卷A 卷 考试方式:闭卷 考试时间:120分钟 卷面总分:100分 一、选择题(本题共20小题,每题2分,共40分) 1. 汇编源程序的后缀名是 ( C ) A 、exe B 、.obj C 、.asm D 、.lib 2. 作为8位有符号数补码,80H 的真值是 ( C ) A 、0 B 、-2 C 、-128 D 、128 3. 8086 CPU 内部能够记录代码段段地址的寄存器是 ( D ) A 、DS B 、IP C 、CX D 、CS 4. 若(AX)=35F0H ,(CX)=00B8H ,当AND AX ,CX 指令执行后,AX 寄存器的值为 ( B ) A 、 1400H B 、 00B0H C 、 0000H D 、 0FFFFH 5. 若(SP)=1000H ,则执行指令PUSH AX 后SP 的值为 ( B ) A 、0FFFH B 、0FFEH C 、1002H D 、1001H 6. Mul BX 指令隐藏操作数的寄存器是 ( D ) A 、BX B 、CX C 、SI D 、AX

7.能够将AL中的1、3、5位取反的指令是 ( C ) A、AND AL , 2AH B、OR AL , 2AH C、XOR AL , 2AH D、TEST AL , 2AH 8.循环指令LOOP结束循环的条件是 ( D ) A、CX≠0 B、ZF=0 C、IF=0 D、CX=0 9.除法指令DIV BL中,被除数在寄存器 ( A ) A、AX B、DX C、DX:AX D、BX 10.输出单个字符的2号DOS功能调用的入口参数是 ( C ) A、AH B、AL C、DL D、DH 11.以下对伪指令的描述正确的是 ( D ) A、伪指令没有操作数 B、伪指令没有目标代码 C、汇编程序中伪指令可有可无 D、伪指令不会被执行 12.某伪指令X=12H中所定义的X是 ( B ) A、变量 B、常量 C、标号 D、段名 13.下面指令序列执行后完成的运算,正确的算术表达式应是( D ) MOV AL,BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTR Y,AL A、Y=X*2+1 B、X=Y*2+1 C、X=Y*2-1 D、Y=X*2-1 14.下面指令结束后目标操作数不变化的是 (D ) A、INC BX B、SUB AX,BX

《汇编语言与接口技术》习题解答(第三章)

3.16 解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 3.18 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 3.19 解: .model small .stack .data bufX dw -7 signX db ? .code .startup cmp bufX,0 ;test bufX,80h

jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 3.20 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h 3.22 编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H 等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ;wjxt322.asm .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ? ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 3.30 解: lucase proc push bx mov bx,offset string cmp al,0 je case0

完整版汇编语言试题及答案..doc

一,单项选择题 (每小题 1 分,共 20 分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令 JMP FAR PTR DONE 属于 ( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是 ( A.对两个无符号数进行比较采用CMP 指令 ,对两个有符号数比较用CMP S 指令 B.对两个无符号数进行比较采用CMPS 指令 ,对两个有符号数比较用CM P 指令 C.对无符号数条件转移采用JAE/JNB 指令 ,对有符号数条件转移用JGE/J NL 指令 D.对无符号数条件转移采用JGE/JNL 指令 ,对有符号数条件转移用JAE/J NB 指令 3.一个有 128 个字的数据区 ,它的起始地址为 12ABH:00ABH, 请给出这个数据区最末一个字单元的物理地址是 ( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中 ,不正确的是 ( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是 ( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令 JNE 的测试条件为 ( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为 ( A.BX 或 CX

汇编语言知识点

第一章 十进制与二进制之间的转换(P2) 降幂法 除法 十进制与六进制之间的转换(P5) 降幂法 除法 补码表示:正数:采用符号—绝对值法 负数:先写出对应的正数的补码表示,然后再将其按位数求反,最后末尾加1,就可以得到负数的补码表示 补吗运算:二进制数按位求反后在末尾加1 第二章 一、存储容量 1K = 1024 =210 (Kilo)1M =1024K = 220 (Mega) 1G = 1024M = 230 (Giga) 1个二进制位:bit (比特)8个二进制位:Byte(字节)1Byte = 8bit 2个字节:1 Word (字)1Word = 2Byte = 16bit 二、存储单元地址和内容 1.存储器以字节(8 bit)为编程单位 2.每个字节单元都有唯一的地址编码 3.地址用无符号整数来表示(编程用十六进制表示) 4.一个字要占用相继的两个字节 5.低位字节存入低地址,高位字节存入高地址 6.字单元地址用它的低地址来表示 7.机器以偶地址访问(读/ 写)存储器 三、物理地址= 16 段地址+ 偏移地址 四、存储器的分段: 20 根地址线:地址范围00000H ~ FFFFFH (1MB) 机器字长16位:仅能表示地址范围0000H ~ FFFFH (64KB) 小段:每16个字节为一小段,共有64K个小段 段起始地址:小段首地址 段的大小:64K 范围内的任意字节 五、存储器的逻辑分段优点: 允许程序在存储器内重定位; 允许实模式程序在保护模式下运行; 有利于程序和数据的分离。 六、中央处理器8086/8088寄存器组: 通用寄存器 数据寄存器:AX,BX,CX,DX 变址寄存器:SI、DI 指针寄存器:SP、BP 控制寄存器:IP、FLAGS 段寄存器:CS、DS、SS、ES

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

《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分,共20分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令JMP FAR PTR DONE属于( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是( A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中,不正确的是( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为( A.BX或CX

B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 9.执行如下程序:( MOV AX,0 MOV AX,0 MOV BX,1 MOV CX,100 A:ADD AX,BX INC BX LOOP A HLT 执行后(BX=( A.99

汇编语言程序设计知识点

汇编语言程序设计知识点 第一章基础知识 (1)正负数的补码表示, 掌握计算机中数和字符的表示; 1、假设机器字长为8位,[+3]补 =00000011B,[-3]补= FD H 。 2、十六进制数0F8H表示的十进制正数为 248 ,表示的十进制负数为 -8。 3、8位二进制数被看成是带符号补码整数时,其最小值是 -128,最大值是 127 。 4、计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是ASCII 码,称为美国信息交换标准码。 第二章80x86计算机组织 (1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器 1、IP寄存器中保存的是?下一条指令的首地址 2、FLAGS标志寄存器中共有几位条件状态位?6位 3、有几位控制状态位?3位 4、标志寄存器分为哪2类?条件码,控制 5、哪个标志位用来控制可屏蔽中断请求是否被CPU响应?IF 6、键盘I/O、显示I/O和打印I/O分别对应16、10和17号中断。 (2)存储单元的地址和内容,存储器地址的分段,实模式下逻辑地址、物理地址的表示。 1、如果SS=6000H,说明堆栈段起始物理地址是60000H。 2、已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为1420H 。 3、如果数据段中一个内存单元对应的物理地址为3F756H,(DS)=3F00H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元756H。 4.如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)= 0235H ,(DS)= 0E60H . 第三章80x86的指令系统和寻址方式 (1)与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址).数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS指令,与REPE/REPZ和REPNE/REPNZ

汇编语言试题及答案

一,单项选择题(每小题1分,共20分) 1.指令JMP FAR PTR DONE属于() A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是() A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JN L指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JN B指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是() A.12C5BH B.12B6BH C.12C5AH D.12BFEH 4.在下列指令的表示中,不正确的是() A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是() A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为() A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()A.BX或CX B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 9.执行如下程序:()

汇编语言知识大全

第一章基础知识: 一、机器码:1、计算机只认识0,1两种状态。而机器码只能由0,1组成。故机器码相当难认,故产生了汇编语言。 2、其中汇编由三类指令形成:汇编指令(有机器码对应),伪指令,其她符号(编译的时候有用)。 每一总CPU都有自己的指令集;注意学习的侧重点。 二、存储器:1、存储单元中数据与指令没任何差别。 2、存储单元:Eg:128个储存单元(0~127)128byte。 //1字节=1B=1byte=8bit 条件反射:1存储单元=1B=8个2进制;以后的ax,cs 之类的占两个存储单元, ah之类的占一个 3、CPU对存储器的读写:地址信息+控制信息+数据信息 三、总线: 1、地址总线:寻址用,参数(宽度)为N根,则可以寻到2^N个内存单元。 //因为一根总线只能表示0,1,N根的话可以表示2^N 2、数据总线:传送数据用,参数为N根,一次可以传送N/8个存储单元。 3、控制总线:cpu对元器件的控制能力。越多控制力越强。

四、内存地址空间:1、由地址总线决定大小。 2、主板:cpu与核心器件(或接口卡)用地址总线,数据总线,控制总 线连接起来。 3、接口卡:由于cpu不能直接控制外设,需通过接口卡间接控制。 4、各类存储器芯片:RAM,BIOS(主板,各芯片)的ROM,接卡槽的 RAM CPU在操控她们的时候,把她们都当作内存来对待,把她们总的瞧作一个由 若干个存储单元组成的逻辑存储器,即我们所说的内存地址空间。 自己的一点理解:CPU对内存的操作就是一样的,但就是在cpu,内存,芯片之间的硬件本身所牵扯的线就是不同的。所以一些地址的功能就是对应一些芯片的。 第二章寄存器 引入:CPU中含有运算器,寄存器,控制器(由内部总线连接)。而寄存器就是可以用来指令读写的部件。8086有14个寄存器(都就是16位,2个存储空间)。 一、通用寄存器(ax,bx,cx,dx),16位,可以分为高低位

6/3位微机原理、汇编语言及接口技术__钱晓捷_版_课后习题答案639

第一章 1.1解: 五代,详细见书 1.2解: 微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件一一控制器和运算器的微处理器为核心,所构造出的计算机系统。 PC机:PC

《汇编语言与接口技术》复习提纲.

<<汇编语言与接口技术>>(总结复习提纲 第一部分汇编语言及程序设计 一.基本知识 1.汇编语言常用的名词术语 指令代码指令机器指令程序汇编指令汇编语言汇编程序汇编语言源程序 汇编反汇编偏移地址 (有效地址物理地址过程循环标号变量名的属性 2.常用数制二进制八进制十进制十六进制补码的表示 BCD码的表示 3.寄存器:名称种类及应用(32位、16位 4.寻址方式寻址方式种类(32位、16位操作数类型存储器操作数的存放规则 5.源程序的书写格式及正常结束 6.指令系统:操作数搭配的7个规则 7.常用伪指令 一1.Mov Ax , Bx→经过汇编后变成机器代码指令机器代码指令经过反汇编后→Mov Ax, Bx .如何用16位的地址访问期间1M空间 DS*10H + EA→实际地址 段地址有效地址 Data Segment A DB…….

OFFSET A 是相对Data的偏移地址 B Proc ret B Endp .用MACRO/ENDM括起一段程序____宏定义 在用到的地方写上宏名____宏调用 如: A MACRO B Proc ENDM B Endp 汇编时,宏定义体占用内存空间多,运算快. 而CALL节省空间,占用时间多 因为CALL B之前把下一条指令的有效地址入栈,再转去执行B,执行完又把断点出栈,继续执行主程序.所以花时间,速度慢. 2.二进制八进制十进制十六进制的相互转换. 3.寄存器分为三大类:通用寄存器、段寄存器控制寄存器 Flag....... 4. 7种寻址方式:种类;立即数、寄存器寻址不需要访问内存, 变量名是访问内存;熟练掌握常用寻址方式。 一.1. 汇编指令(如下所示 标号: 操作码数据1,数据2;注释

相关文档