文档库 最新最全的文档下载
当前位置:文档库 › 《汇编语言》综合复习资料

《汇编语言》综合复习资料

《汇编语言》综合复习资料
《汇编语言》综合复习资料

《汇编语言》综合复习资料

一、单项选择题

在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题后的括号内:

1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

(A) 无符号十进制数136 (B) 带符号十进制数 -120

(C) 压缩型BCD码十进制数88 (D) 8位二进制数 -8的补码表示

2.指令指针寄存器是()。

(A) IP (B) SP (C) BP (D) BX

3.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )

(A) 1400H (B) 77F8H (C) 0000H (D) 0FFFFH

4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。

(A) MOV AL,00H (B) AND AL,00H

(C) XOR AL,AL (D) SUB AL,AL

5.下列指令执行后总是使CF=0,OF=0的是()。

(A) AND (B) NEG (C) NOT (D) INC

6.在下列语句中,BUFFER称为( )

BUFFER DB 01H,0AH

(A) 符号 (B) 变量(C) 助记符(D) 标号

7.DATA SEGMENT

TA1 DW 0102H,0304H,0506H

TA2 DB 02H,03H,04H

MOV BX,DS:[0006H]

AND BX,0FFH

OR BH,[BX]

上述指令序列运行后,BX的内容是()。

(A) 0605H (B) 0402H (C) 0606H (D) 0204H

8.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是()。

(A) JLE (B) JNL (C) JNLE (D) JL

9.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()

TEST BH,01H

_____K1

(A) JNE (B) JZ (C) JS (D) JC

10.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是()。

(A) TEST BL,4FH

JZ NEXT

(B) XOR BL,4FH

JZ NEXT

(C) AND BL,4FH

JZ NEXT

(D) OR BL,4FH

JZ NEXT

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

(A) END语句是一可执行语句 (B) END语句表示程序执行到此结束

(C) END语句表示源程序到此结束 (D) END语句在汇编后要产生机器码

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

(A) MOV SS:[BX+DI],1000H (B) MOV DX,1000H

(C) MOV WORD PTR[BX],1000H (D) MOV DS,2000H

13.下面指令执行后,变量DAB中的内容是()。

DAW DW 2A05H

DAB DB 0FAH

MOV AL,BYTE PRT DAW

SUB DAB,AL

(A) 0DAH (B) 0FAH (C) 0F5H (D) 0D0H

14.串操作指令中,目标串操作数的段地址一定在( )寄存器中。

(A) CS (B) SS (C) DS (D) ES

15.设数据段中已有: DA1 DB 12H,34H

DA2 DW 56H,78H

下面有语法错误的句是()

(A) ADR1 DW DA1 (B) MOV DA1+1,AX

(C) MOV BYTE PTR DA2+1,AL (D) MOV WORD PTR DA1+1,AX

16.DEC BYTE PTR[BX]指令中的操作数的数据类型是( )

(A) 字(B) 双字(C) 字节(D)四字把若干个模块连接起来成为可执行

文件的系统程序称为( )。

(A) 连接程序 (B) 汇编程序 (C) 编译程序 (D) 目标程序

18.操作数直接存放在指令中,则它的寻址方式是( )。

(A) 直接寻址 (B) 寄存器寻址 (C) 寄存器间接寻址 (D) 立即寻址

19.在程序状态字寄存器中,当方向标志DF位为0时,每次操作后使变址寄存器SI和DI( )。

(A) 减量 (B) 增量 (C) 保持不变 (D) 地址减1

20.八位二进制补码整数的最小值是( )。

(A) -126D (B) -127D (C) -128D (D) -129D

21.在微机系统中分析并控制指令执行的部件是()

A. 寄存器

B. 数据寄存器

C.

CPU D. EU

22.能被计算机直接识别的语言是()

A.C语言B.汇编语言C.机器语言D.面向对象语言

23.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是( )

A. 基址寻址

B. 立即寻址

C. 变址寻址

D. 基址变址寻址

24.指令MOV BX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为( )

A. 17500H

B. 16500H

C. 14500H

D. 13500H

25.在标志寄存器中表示溢出的标志( )

A. AF

B.CF

C. OF

D.SF

26.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。

(A) 表示结果中含1的个数为偶数(B) 表示结果中含1的个数为奇数

(C) 表示该数为偶数(D) 表示结果中低八位含1的个数为偶数

27.汇编语言指令中唯一不可缺少的域是( )

A. 标号名字域

B. 助记符域

C. 操作数域

D. 注释域

28.已知(DS)=3000H,(SS)=2500H,(BX)=0100H,(BP)=0040H,

指令MOV AX,DS:[BP] 源操作数的物理地址是()。

A.25040H B. 30040H C.25100H D. 55040H

29.下列传送指令中,有语法错误的指令是()。

A.MOV CS,AX B. MOV DS,AX C. MOV ES,AX D. MOV SS,AX

30.指令ADD ES:[DI],AX 和存放在()。

A.寄存器 B. 附加段 C. 堆栈段 D. 代码段

二、简答题

1.在某子程序的开始处要保护AX,BX,CX三个寄存器信息,在子程序结束时要恢复这三个寄存器信息。假设恢复现场的指令序列如下,试写出保护现场的指令序列。

POP AX

POP BX

POP CX

2.下面的程序段有错吗?若有,请指出错误。

CRAY PROC

PUSH AX

ADD AX,BX

RET

ENDP CRAY

3.试根据以下要求,分别写出相应的汇编语言指令。

(1)把AX寄存器和BX寄存器的内容相加,结果存入AX中。

(2)用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,并把结果送回DL中。

(3)把数5EH与AH内容相加,结果送回AH中。

4.对于下面的数据定义,三条MOV指令分别汇编成什么?

TAB1 DW 10 DUP(?)

TAB2 DB 10 DUP(?)

TAB3 DB ‘1234’

MOV AX,LENGTH TAB1

MOV BL,LENGTH TAB2

MOV CL,LENGTH TAB3

5.完成下列操作,分别选用什么指令:

(1)将AX的内容,减去0520H,和上次运算的借位;

(2)将变量名TABL的段地址送AX;

(3)将变量名TABL的偏移地址送AX。

6.假设有如下伪指令:

D1 DB 20H DUP(?)

D2 DW D1

请写出用一条指令实现“取D1的偏移地址=>SI”中的三种方法。

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

DATA SEGMENT

VA DB 10H

VB DW 3*20

MSG DB ‘HELLO!’

COUNT EQU 15

BUF DW COUNT DUP(5,3 DUP(1,2),0)

DATA ENDS

问题:

(1)执行 MOV BX , 0FFSET VA后, (BX)=

(2)执行 MOV CX , TYPE BUF后, (CX)=

(3)经汇编后, BUF占有的存储空间是字节

8.在指令系统中,段内. 段间返回均为RET指令。试回答:

(1)执行段内返回RET指令时,执行的操作是:

(2)执行段间返回RET指令时,执行的操作是:

9.下面的程序段有错吗?若有,请指出错误。(5分)

CRAY PROC

PUSH AX

ADD AX,BX

RET

ENDP CRAY

三、程序分析(读程序)题

1. A DW 6666H

B DW 8888H

………

PUSH B

PUSH A

POP B

POP A

试回答:

(1) 上述程序段执行后,以十六进制表示,

(A)=_____H,(B)=_____H

(2) 设执行前SP=100H,执行后,以十六进制表示,

SP=_____H

2.现有下列程序段

MOV AX,6540H

MOV DX,3210H

MOV CL,04

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL

试问上述程序段运行后,以十六进制表示,

(AX)=_____H

(BL)=_____H

(DX)=_____H

3.分析下面程序段:

MOV AX,3456

XCHG AX,BX

MOV AX,3456

SUB AX,BX

JE DONE

KK:ADD AX,BX

DONE:

请问该程序段执行完JE DONE语句后,以十六进制表示,(AX)=_____H,(ZF)=_____H

4.程序段如下:

BLK1 DB 46,84,34,-5,20,122,73

………

MOV CX,7

LEA SI,BLK1

NEXT:MOV AL,[SI]

INC SI

TEST AL,81H

LOOPZ NEXT

MOV BL,[SI]

请回答程序段运行后,以十六进制表示,

(AL)=______H,(BL)=______H 5.分析下面程序段:

MOV AL,200

SAR AL,1

MOV BL,AL

MOV CL,2

SAR AL,CL

ADD AL,BL

试问程序段执行后,以十六进制表示,

(BL)=_____H,(AL)=_____H

6.有下列程序段:

ADD AL,BL

JE L1

RCL AL,1

JE L2

RCR AL,1

INC AL

JE L3

上述程序运行后,试回答(以十进制表示):

(1)当(AL)=__________时,程序转向L1

(2)当(AL)=__________时,程序转向L2

(3)当(AL)=__________时,程序转向L3

7.有下列程序段

MOV BX,00FFH

AND BX,0FFFH

OR BX,0F0FH

XOR BX,00FFH

试问上述程序段运行后,以十六进制表示,

(AL)=____________ H

8. 执行下列指令后,AX寄存器中的内容是什么?

START DW 10H,20H,30H,40H,50H

EE1 DW 3

MOV BX,OFFSET START

ADD BX,EE1

MOV AX,[BX]

执行后,以十六进制表示,

(AX)=____________ H

9.有下列程序段:

MOV SI,10H

MOV AX,1234H

MOV [SI+12H],AX

LEA BX,[SI]

MOV [SI+14H],BX

LES BX,DWORD PTR [SI+12H]

MOV AX,ES

DEC AX

执行上述程序段后,AX和BX寄存器的内容, 以十六进制表示,(AX)= ____________ H

(BX)= ____________ H

10.有下列程序段

MOV CX,1AH

MOV DL,'z'

LAB1: PUSH DX

MOV AH,02H

INT 21H

POP DX

DEC DX

LOOP LAB1

执行后,屏幕输出结果为:____________________

11. 设 ( SP )=80H , ( BX ) = 0FFH ; ( AX )=1

PUSH BX

ADD BX , AX

XOR BX , AX

PUSH BX

POP CX

上述程序段运行后,(SP )= ______H ( CX )=_______H

12. 有如下程序段

MOV AX , 0

MOV BX , 1

MOV CX , 5

LOP:ADD AX,BX

ADD BX , 2

LOOP LOP

问题:

(1) 程序的功能是什么(可用算式表示)?

(2) 运行后, (AX)=__________

13. 已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,(50102H)=0A1H,(50103H)=14H

先执行MOV AX,[100H],(AX)= ;

再执行ADD AX,[BX+DI],(AX)= ,CF= ,OF= 。

14. 已知 (AX)=3200H, (DX)=0A000H,执行下列程序段:

NOT AX

NOT DX

ADD AX , 1

ADC DX , 0

问题:

(1) 程序执行后,(AX)=? (DX)= ?

(2) 程序功能是什么?

15. 有下列程序段

MOV AX,10

ADD AX,AX

MOV BX,AX

MOV CL,2

SHL AX,CL

ADD AX,BX

上述程序段执行后(AX)= ,(BX)=

16. 有下列程序段

MOV AX,9B47H

MOV BX,0B568H

ADD AX,BX

JNO L1

JNC L2

SUB AX,BX

JNC L3

JNO L4

JMP SHORT L5

问:

(1) 程序执行后,(AX)= _______________H

(2) 程序转向哪个标号?

17. 行下列程序:

MOV AX,0C100H

MOV BX,8FC0H

SUB AX,BX

JNC L1

JNO L2

JMP SHORT L3

程序执行后,(AX)= ,程序转向

18. 有下列程序段

MOV AL,0FH

MOV BL,10H

CALL SUB1

INC AL

DEC BL

SUB1 PROC

ADD AL,BL

XCHG AL,BL

RET

SUB1 ENDP

上述程序段运行后,(AL)=__________H,(BL)=____________H

19.A DW 1234H

B DW 5678H

………

PUSH A

PUSH B

POP A

POP B

试回答:

(1) 上述程序段执行后,以十六进制表示,

(A)=_____H

(B)=_____H

(2) 设执行前SP=200H,执行后,以十六进制表示,

(SP)=_____H

四、程序填空题

下列各小题中,一个空只能填一条指令。

1. 下面程序段用来判断寄存器AH和AL中第3位是否相同,如果相同,AH置0,否则AH置全1。试把空白处

填上适当指令。

_____________________

AND AH,08H

_____________________

MOV AH,OFFH

JMP NEXT

ZERO:MOV AH,0

NEXT:……

2. 以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。

BUF DB 5,6,7,58H,62,45H,127,……

COUNT EQU $-BUF

MAX DB ?

MOV BX,OFFSET BUF

MOV CX,COUNT-1

MOV AL,[BX]

INC BX

LOP1:_____________________

JAE NEXT

MOV AL,[BX]

NEXT:INC BX

_____________________

MOV MAX,AL

3.设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。

TEST AX,8000H

(1) ___________

MOV PLW,BX

JMP DONE

K1: (2) ________

DONE:

4.在下面程序段的每一空框中填入一个语句(不得修改其它语句),以实现下述功能:求:z=|x-y|,设x,y,z

分别为字数据的无符号变量名称。

MOV AX,X

CMP AX,Y

JB NEXT

SUB AX,Y

(1) ______________________

NEXT: MOV AX,Y

SUB AX,X

DONE: (2) ______________________

5.下列程序段将AX中值乘以9,请将程序填写完整

⑴__________

MOV CL,3

⑵____________

POP BX

ADD AX,BX

答:

(1) PUSH AX (2) SHL AX,CL

6.下列程序段求数组ARRAY的累加和。请将程序填写完整。

ARY DW 45H,68H,………….,0ABC1H,9600H;共10项

COUNT DW 10

⑴__________

MOV CX,COUNT

XOR AX,AX

AGAIN:ADD AX,[SI]

ADD SI,2

⑵____________

五、编制程序(段)题

1.编程序段 (10分)

编制将ES段中名为DATA的字存储区清零的程序段。假定DATA存储区定义为:DATA DW 20 DUP(?)要求用循环指令编写,循环控制采用计数寄存器自动控制。(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)

2.编程序段 (10分)

设X,Y,Z,W存放16位带符号数,编程计算X*Y-Z的值并送到W

(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)

3.编程序段 (10分)

测试AL寄存器的D5和D0位,若同时为0,程序转向ZERO,执行AX 减去 BX;否则将AL清0,同时清 CF 和OF标志。写出程序段。

(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)

4.编写完整程序:(13分)

设在DAT单元存放一个-9~+9的字节数据,在SQRTAB 数据区中存放了0~9的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。要求子程序开始时必须利用堆栈保护用到的各寄存器,并在返回前恢复;主程序结构要书写完整(包括子程序的调用方式)(结果不必输出)。其中数据段如下:

DATA SEGMENT

DAT DB -6

SQRTAB DB 0,1,4,9,16,25,36,49,64,81

SQR DB ?

DATA ENDS

5.编写完整程序:(13分)

将一正数N插入一个已排好序的数组的正确位置。该数组的首地址和末地址分别为AHEAD与AEND,其中所有数均为正数,而且按递增顺序排序(结果不必输出) 。

数据段如下:

DATA SEGMENT

X DW ?

AHEAD DW 2,5,7,89,100,200

AEND DW 288

N DW 35

DATA ENDS

6.编写完整程序:(13分)

在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。

DATA SEGMENT

BUF1 DW -56,24,54,-1,89,-8,----

BUF2 DW 45,-23,124,345,-265,----

SUM DW 10 DUP(0)

DATA ENDS

7.编写完整程序:(13分)

在给定个数的数中寻找最大值,放至指定的存储单元。假设数据段如下:

DATA SEGMENT

BUFFER DB 2,4,3,6,1,5

COUNT DW 6

MAX DB ?

DATA ENDS

部分参考答案及评分标准

一、单选题(每小题2分,共60分)

1.D 2.A 3. A 4.A 5.A

6.B 7.B 8. C 9.A 10.B

11.C 12.D 13.C 14.D 15.B

16.C 17.A 18.D 19.B 20.C

21. C 22. C 23. C 24. B 25. C

26.D 27.B 28.B 29.A 30.B

二、简答题(每小题3分,共27分)

1. PUSH CX(1分)

PUSH BX(1分)

PUSH AX(1分)

2.程序最后一行有错,应写成:

CRAY ENDP (3分)

3.(1) ADD AX,BX (1分)

(2) ADD DL,[BX][SI](1分)

(3) ADD AH,5EH (1分)

4.MOV AX,10(1分)

MOV BL,10 (1分)

MOV CL,1 (1分)

5.(1)SBB AX,0520H(1分)

(2)MOV AX,SEG TABL(1分)

(3)MOV AX,OFFSET TABL(1分)

6.三种方法,对1个得1分,无先后顺序。

(1) LEA SI,D1

(2) MOV SI,OFFSET D1

(3) MOV SI,D2

7. (1) 0 (1分)

(2) 2 (1分)

(3)240 (1分)

8. 执行段内返回:

栈顶内容→IP,SP+2→SP (2分)

执行段间返回:

栈顶内容→IP,SP+2→SP (2分)

栈顶内容→CS,SP+2→SP (2分)

9. 程序最后一行有错,应写成:

CRAY ENDP (6分)

五、编制程序题

1.程序段:(10分)

DATA DW 20 DUP(?)

MOV AX,SEG DATA

MOV ES,AX

MOV DI,0

MOV CX,LENGTH DATA;GOON:MOV DATA[DI],0

ADD DI,2

LOOP GOON

评分细则:

取地址正确(3分)

DI清0 (1分)

循环计数初值(2分)

累加(2分)

循环结构(2分)

2.程序段:(10分)

MOV AX,X

IMUL Y

SUB AX,Z

SBB DX,0

MOV W,AX

评分细则:

每条指令2分

3.程序段:(10分)

TEST AL , 00100001B

JZ ZERO

SUB AX,AX

JMP STOP

ZERO: SUB AX,BX

STOP:

评分细则:

每条指令2分

4.参考程序:(13分)

DATA SEGMENT

DAT DB -6

SQRTAB DB 0,1,4,9,16,25,36,47,64,81 SQR DB ?

DATA ENDS

STACK SEGMENT PARA STACK

DW 20H DUP(?)STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

CALL SUBROT

MOV AH,4CH

INT 21H

SUBROT PROC

PUSH AX

PUSH BX

LEA BX,SQRTAB

MOV AL,DAT

TEST AL,80H

JNS NEXT

NEG AL

NEXT:XLAT SQRTAB

MOV SQR,AL

POP BX

POP AX

RET

SUBROT ENDP

CODE ENDS

END SRART

评分细则:

源程序框架(3分)

段寄存器DS赋值(1分)

子程序调用(1分)

子程序框架(2分)

判DAT中正负数及处理(2分)

查表(2分)

存结果(1分)

用户程序结束(1分)

5.参考程序:(13分)

DATA SEGMENT

X DW ?

AHEAD DW 2,5,7,89,100,200

AEND DW 288

N DW 35

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET AHEAD

L1: MOV AX,[SI]

CMP AX,N

JA L2 ;

MOV [SI-2],AX

ADD SI,2

CMP SI,OFFSET AEND

JBE L1

L2: MOV AX,N

MOV [SI-2],AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

评分细则:

段寄存器DS赋值(1分)

地址指针SI置初值(1分)

比较转移(2分)

后1个数移动到前1个数位置(2分)

SI指针加2(2分)

判断是否到最后(2分)

将N存入空出的位置(2分)

用户程序结束(1分)

6.参考程序:(13分)

DATA SEGMENT

BUF1 DW -56,24,54,-1,89,-8,---- BUF2 DW 45,-23,124,345,-265,---- SUM DW 10 DUP(0)

DATA ENDS

STACK1 SEGMENT PARA STACK

DW 20H DUP(0)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA

MOV DS,AX

MOV CX,10

LEA SI,BUF1

LEA DI,BUF2

LEA BX,SUM

NEXT:MOV AX,[SI]

MOV DX,[DI]

TEST AX,8000H

JE TDX

NEG AX

TDX:TEST DX,8000H

JE ADDS

NEG DX

ADDS:ADD AX,DX

MOV [BX],AX

ADD SI,2

ADD DI,2

ADD BX,2

LOOP NEXT

MOV AH,4CH

INT 21H

CODE ENDS

END START

评分:(1)判BUF1和BUF2内容为负数 2分(2)求绝对值 1分

(3)求和 1分

(4)存结果 1分

(5)指针(SI,DI,BX)设置及修改 3分

(6)循环正确 2分

(7)程序段结构 2分

(8)DS预置 1分

(9)用户程序结束 1分

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

《汇编语言》在线作业二

请同学及时保存作业,如您在20分钟内不作操作,系统将自动退出。 《汇编语言》在线作业二 一、单选题(共 20 道试题,共 100 分。) V 1. 在多重循环程序中,每次通过外层循环进入内层循环时,其内层循环的初始条件(B )。 A. 不必考虑 B. 必须重新设置 C. 必须置1 D. 须清0 满分:5 分 2. 伪指令是(C)规定的汇编说明符,它在源程序汇编时进行说明。 A. DEBUG B. LINK C. MASM D. EDIT 满分:5 分 3. 下列描述正确的是(D)。 A. 在多重循环程序中,内层循环只能有一个 B. 在汇编语言程序设计中,二重循环程序之间的关系可以交错 C. 在汇编语言程序设计中,每次循环应返回到置初值部分之前 D. 在汇编语言程序设计中,每次循环应返回到置初值部分之后 满分:5 分 4. 下列指令会影响标志位的指令是(D)。 A. JMP L

B. JC L C. MOV AL,L D. SHL AL,1 满分:5 分 5. LINK命令执行后可以生成一个以(B)为扩展名的文件。 A. ASM B. EXE C. OBJ D. COM 满分:5 分 6. 如果0100H单元存放条件转移指令的操作码,0101H单元存放条件转移指令的相对位移量 13H,那么转移后的指令的偏移地址为(C)。 A. 0102H B. 0113H C. 0115H D. 00FEH 满分:5 分 7. 若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADD AX,[BX]”指令后,AX=(A)。 A. 8856H B. 6678H C. 8800H D. 6600H 满分:5 分 8. 下列叙述正确的是(A )。 A. 执行一条段间调用指令,先将CS、IP的内容压栈,然后将目的地址送CS和IP。 B. 执行一条段间调用指令,先将目的地址送CS和IP,然后将CS、IP的内容压栈。

汇编语言实验讲义实验2

实验二 算术运算类操作实验 (基础与设计) 一、实验要求和目的 1、了解汇编语言中的二进制、十六进制、十进制、BCD码的表示形式; 2、掌握各类运算类指令对各状态标志位的影响及测试方法; 3、熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4、熟悉无符号数和有符号数乘法和除法指令的使用; 5、掌握符号位扩展指令的使用。 6、掌握BCD码调整指令的使用方法 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 本实验主要进行算术运算程序设计和调试,涉及到的知识点包括: 1.加减法处理指令 主要有加法指令ADD,带进位加法ADC,减法指令SUB,带进位减法指令SBB。 2.乘除法指令和符号位扩展指令 主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令IDIV,以及符号位从字节扩展到字的指令CBW和从字扩展到双字的指令CWD。 3.BCD码的调整指令 主要有非压缩的BCD码加法调整指令DAA,压缩的BCD码减法调整指令DAS,非压缩的BCD码加法调整指令AAA,非压缩的BCD码减法调整指令AAS,乘法的非压缩BCD 码调整指令AAM,除法的非压缩BCD码调整指令AAD。 8088/8086指令系统提供了实现加、减、乘、除运算的上述基本指令,可对表1所示的数据类型进行数据运算。 二进制 BCD码 数制 带符号无符号组合非组合运算符+、-、×、÷+、-+、-、×、÷ 操作数字节、字、多精度字节(二位数字)字节(一位数字) 表1 数据类型数据运算表 各指令的格式、功能及其对标志位的影响等细节知识,请同学们查阅相关书籍,这里不再赘述。

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

汇编语言——输入输出程序设计实验

实验四输入/输出实验(2学时综合性实验) 1.实验目的 (1) 掌握输入输出程序设计的概念和方法。 (2) 了解PC机外围芯片8259的功能。 (3)学习如何在PC机上编写具有输入输出功能的程序,包括8259芯片的使用方法。 2.实验说明 本实验要求自行编写一个显示器输出处理程序,它可以完成内存中保存的一串字符在屏幕显示, 因此本实验既属于输入输出实验,也属于中断实验。 3.实验内容 编写一个显示器输出处理中断程序(名为NEW09),实现DOS 21H中断的9号功能,在屏幕上输出内存缓冲区BUF中以”$”结束的一串字符串。要求:缓冲区的偏移地址采用DX寄存器进行传递。 4.实验准备 (1) 预习输入输出程序设计的特点和方法。 (2) 仔细阅读参考程序,弄清外围芯片接口初始化的意义和方法。 5.实验步骤 (1) 建立源文件,并通过汇编和连接,产生可执行文件。 (2) 运行程序,观察常规字符键及功能键按下时程序的反应, DATAS SEGMENT buf db'li hongbin','$';此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS

main proc far START: mov al,68h mov ah,35h int 21h push es push bx push ds mov bx,offset buf mov dx,offset new09 mov ax,seg new09 mov ds,ax MOV AX,DATAS MOV DS,AX pop ds pop bx pop es sti mov al,68h mov ah,25h int 21h main endp

汇编课程设计

燕山大学 汇编语言课程设计说明书 题目:计算机钢琴程序 交通灯控制系统 学院(系):信息科学与工程学院 年级专业: 10级计算机科学2班 学号: 100104010113 学生姓名:马强 学号: 100104010116 学生姓名:夏洋 指导教师:何海涛、邹晓红 完成日期: 2013年7月3日

目录 1.课程设计的目的和意义........................................................................................................... - 2 - 1.1课程设计目的................................................................................................................ - 2 - 1.2课程设计的意义............................................................................................................ - 2 - 2.题目一:计算机钢琴程序....................................................................................................... - 2 - 2.1系统的主要功能............................................................................................................ - 2 - 2.2总体设计方案................................................................................................................ - 2 - 2.2.1扬声器驱动方式................................................................................................. - 2 - 2.2.2延时原理............................................................................................................. - 3 - 2.2.3键盘控制发声程序............................................................................................. - 4 - 2.2.4设计总结............................................................................................................. - 5 - 2.3作品使用说明................................................................................................................ - 6 - 3.题目二:交通灯控制系统....................................................................................................... - 6 - 3.1系统的主要功能............................................................................................................ - 6 - 3.2 系统工作原理............................................................................................................... - 6 - 3.2.1 8259的工作原理................................................................................................ - 6 - 3.2.2 8255A的工作原理:...................................................................................... - 7 - 3.2.3 8253的工作原理:............................................................................................ - 7 - 3.3总体设计方案................................................................................................................ - 7 - 3.3.1程序流程图......................................................................................................... - 8 - 3.3.2接口电路图....................................................................................................... - 11 - 3.4交通灯的设计总结...................................................................................................... - 11 - 4.课程设计心得体会................................................................................................................. - 12 - 5.参考文献................................................................................................................................. - 12 - 6.附录:程序代码..................................................................................................................... - 12 - 6.1计算机钢琴程序代码.................................................................................................. - 12 - 6.2交通灯控制系统代码.................................................................................................. - 14 -

《汇编语言程序设计》在线测试

《汇编语言程序设计》第01章在线测试 《汇编语言程序设计》第01章在线测试剩余时间:59:54 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、一个字节的二进制位数是____位。 A、4 B、8 C、16 D、32 2、微机中每个存储单元具有一个地址,其中存放一个____量。 A、比特(1位) B、字节(8位) C、字(16位) D、双字(32位) 3、设段地址为5788H,偏移地址为94H,该字节的物理地址_____。 A、57974H B、5883H C、58ECH D、57914H 4、汇编语言源程序中,每个语句由4项组成,不影响语句功能的是_____。 A、名字项 B、助记符(操作码) C、操作数 D、注释 5、执行INT 21H指令后,8086CPU将转入_____号中断服务程序。 A、20 B、20H C、21 D、21H 第二题、多项选择题(每题2分,5道题共10分) 1、如下________名称属于8086的16位通用寄存器。 A、IP B、DS C、BP D、DX E、AX 2、采用汇编语言进行程序开发,可以使用的工具软件有______。 A、文本编辑程序 B、汇编程序 C、调试程序 D、集成化开发环境 E、连接程序 3、使用MASM 6.x版本的“ML /Fl eg101.asm”命令,如果源程序eg101.asm没有语法错误,则将生成_________文件。 A、目标代码文件

汇编语言实验讲义

《汇编语言程序设计》实验指导书 计算机系宋勤 《汇编语言》实验学时分配表 实验一汇编语言程序上机过程以及调试 一、预习内容 . 工具软件、的使用 . 常用命令的使用: . 完整程序设计方法的格式。 二、目的要求 . 掌握常用工具软件、的使用 . 掌握常用命令: 能灵活使用这些命令调试程序 . 掌握完整程序设计方法的格式,能正确书写数据段,代码段等。 三、实验内容 用两种方法把字符串复制到串中去; (1)从左到右的方向复制 (2)从右到左的方向复制 ' $' (?) ;************************************************ , , : 实验步骤: )用文字编辑工具(记事本或)将源程序输入完整后保存在:\下,注意保存时将文件扩展名改为(如)。 )打开桌面的“命令提示符”程序进入命令操作,先用命令改变路经,接着用”文件名” (如,这里文件名可以不带扩展名) 对源文件进行汇编,产生文件和文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 )用”文件名” (如;) 将文件连接成可执行的文件()。 )用调试程序,熟悉命令的使用: ()打进入控制,显示提示符‘‘。 ()用命令执行程序,可得与步骤相同的结果,也可用命令逐条运行这些指令,每运行一

行检查并记录有关寄存器及的变化情况,并注意标志位有无变化。 ()用命令检查键入的程序并记录,特别注意左边的机器码和指令地址。如果一条命令没有显示完全,可以再次输入命令,该命令会紧接着上一个命令的输出继续显示。 ()用命令’地址’设置断点,如,表示将断点设置在代码段的偏移地址为的指令前,并执行到该断点前。其中,命令中的地址项可以从上条命令的运行结果获得。 ()用命令查看各寄存器的情况。 ()用命令查看数据段的情况,表示从偏移地址开始,也可以指定其他偏移地址值。 ()用命令‘地址’的方式修改数据区的字符串,其中’地址’指需要修改的数据段内存单元偏移地址,可根据上条命令获得。如表示从偏移地址开始修改数据。 ()再次用命令执行程序,查看执行结果。 ()用命令退出,如果在上述步骤中碰到异常,可以先用命令退出后再进入调试。 四、实验报告或作业 .分析程序,画出程序流程图 .汇编,连接及调试时产生的错误,其原因及解决办法。 .思考: ) 上述实验中用修改数据段的内容,是否改变原文件的内容? ) 用单步执行命令运行程序,运行到 , ,指令后,和寄存器内容前后有何变化,产生变化的原因是什么? 附使用: .打进入 ,显示提示符‘‘。 .退出命令 .显示内存命令起始地址结束地址 .修改内存命令起始地址,连续修改打空格键。打回车键退出命令。 .检查寄存器命令 标志位显示 .修改寄存器命令寄存器名 .小汇编命令起始地址,不输入指令打回车键退出命令。 .反汇编命令起始地址结束地址 .文件命名命令盘号:文件名 .读文件命令内存地址 .写文件命令内存地址 .读扇区命令内存地址盘号(:) 扇区号扇区数 .写扇区命令内存地址盘号扇区号扇区数 .运行命令起始地址结束(断点)地址 .单步命令起始地址运行指令数,进入子程序内部。 .单步命令起始地址运行指令数,不进入子程序内部。 .内存搬家命令起始地址结束地址目的地址 标志位显示 .修改寄存器命令寄存器名 .小汇编命令起始地址,不输入指令打回车键退出命令。 .反汇编命令起始地址结束地址 .文件命名命令盘号:文件名 .读文件命令内存地址

《微机原理与接口技术》教学大纲-48学时

《微机原理与接口技术》课程教学大纲 一、课程说明 二、学时分配表 三、教学目的与要求 1.本课程总体教学目的和要求 通过本课程的学习、上机操作,使学生较熟练地掌握微机的基本结构、基本工作原理,初步掌握汇编语言程序设计及微机接口技术,具有微机应用系统设计开发能力,并为其它后续课程奠定基础。

教学要求是通过课堂教学与演示,课后习题练习等环节,掌握微型计算机的基本组成与工作原理的基础知识,包括理解计算机硬件原理,能够设计或调试基本的微机硬件接口及驱动程序等多方面的技能。 2.各章教学要求和知识考核点 第1章微型计算机概述 目的和要求:主要了解微型计算机系统的构造及微型计算机工作过程。 重点:微型计算机的基本组成 难点:微型计算机工作过程 第2章微处理器 目的和要求:掌握8086/8088 CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;理解存储器读/写时序;了解微处理器的发展。 重点:Intel x86CPU微处理器的基本结构,寄存器、堆栈,引脚及其功能;最小/最大模 式下系统总线形成;存储器分段与物理地址形成 难点:Intel x86CPU的内部结构、典型时序分析 第3章寻址方式和指令系统 目的和要求:掌握有关寻址的概念;8086的6种基本的寻址方式及有效地址的计算;掌握8086指令系统 重点:掌握寻址方式;掌握常用指令的功能和用法 难点:区别指令的正确与错误。 第4章汇编语言程序设计 目的和要求:了解汇编语言特点、汇编程序功能、汇编语言结构;掌握汇编语言中的表达式、伪指令、宏定义的含义和用法;掌握DOS功能调用基本I/O,返回DOS方法,了解文件管理;理解顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法,能编写、运行、调试简单的汇编语言程序。 教学重点:汇编的概念及其方法, 掌握汇编程序的基本格式,常用运算符的使用方法,汇编的步骤;顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法。 教学难点:伪指令、宏定义的用法;程序设计算法与流程图。 第5章输入输出接口 目的与要求:掌握输入/输出的基本概念;I/O的编址方法、特点;CPU与外设数据传递的方式及接口技术;理解程序控制传送方式、中断传送方式;掌握8086CPU I/O特点。 重点: I/O的编址方法、译码电路及CPU与外设数据传递的方式;掌握8086CPU I/O特点。难点:程序控制、中断、DMA方式特点及其应用场合 第6章存储器系统 目的与要求:了解存储器的作用、分类、结构及性能指标,了解存储器系统的多层结构;掌握静态RAM、动态RAM及EPROM的特点、基本结构、地址形成方法及典型芯片;了解DRAM 刷新;掌握存储器芯片的扩充的常用方法. 重点:存储器的分类、性能指标;读写存储器RAM、只读存储器ROM、存储器扩展及其与CPU的连接 难点:存储器的位/字扩充方式的方法及连接 第7章中断系统 目的与要求:掌握中断基本概念;深刻理解中断类型码、中断矢量和中断向量表的概念,以及如何对中断服务程序寻址;了解8259A的编程结构,理解8259A工作方式、有关命令和初始化编程及其在PC机中应用

汇编语言实验

汇编语言实验大纲 一、说明 (一)实验教学目的 本课程为计算机应用专业的必修课程,主要讲述微机的体系结构和汇编语言程序设计方法。为配合这门课程的正常教学,取得良好的教学效果,培养学生实际的动手能力,使学生熟练掌握汇编语言分支、循环、子程序及输入输出程序的设计,掌握DOS、BIOS功能调用方法,掌握文件的读写方法。 (二)实验要求 掌握计算机的基本系统结构,了解掌握汇编语言 (三)实验课时安排 二、实验内容 实验一 DEBUG的应用 实验目的:熟悉DEBUG的应用,为学习指令系统打好基础。 实验内容:1.利用DEBUG观察寄存器的值。

2.直接汇编指令,单步调试,编辑数据等。 实验二指令系统实验: 实验目的:1.掌握指令系统,熟悉DEBUG的使用。 2.掌握8086的编程结构。 实验内容:1.利用DEBUG 直接向内存中汇编课堂上讲过的指令。 2.单步跟踪调试,观察寄存器的变化和指令执行的结果,加深对 指令的理解。 实验三汇编语言语法练习 实验目的:1.学习汇编源程序的编辑、编译、链接的全过程。 2.学习EDIT、MASM及LINK的使用 实验内容:1.在存储单元A起有两字节的无符号加数,在存储单元B起有两字节的无符号被加数,编写一段程序,求其两数相加,结果存回A单元处,然后汇编、链接、运行。 2.试编写一程序,比较两个字符串STRING1和STRING2所含的字符是否相同。若相同,则显示“Match”;否则,显示“No match” 实验四分支程序设计 实验目的:掌握分支程序设计的原理和方法,重点掌握各种分支程序中形成和判断条件而产生的程序段的设计方法和技巧法. 实验内容:1.将字符串转换成大写字母字符串。 2.根据用户键入的月份数在终端上显示该月的英文缩写名。 实验五循环程序设计

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

汇编语言程序设计第一二三阶段在线作业

第一次在线作业)单选题 (共40道题 2.51.(分)8086CPU在基址变址的寻址方式中,变址寄存器可以为:?CX或、BX A?SI B、CX或?SI C、DX或?DI D、SI或我的答案:D 此题得分:2.5分的源操作数的位置是:,,则指令SI=1234H MOV AX,[BX+SI+2]2.52.(分)已知BX=2000H?的字节、数据段中偏移量为3236H A?的字节、附加段中偏移量为3234H B?的字节、数据段中偏移量为3234H C?的字节D、附加段中偏移量为3236H我的答案:分A 此题得分:2.5IP(2.5分)在程序执行过程中,寄存器中始终保存的是: 3.?、上一条指令的首地址A?、下一条指令的首地址B ?、正在执行指令的首地址C ?、需计算有效地址后才能确定地址D我的答案:2.5分B 此题得分:,那32K16分)位二进制)是某系列微机对存储器的分段,如果每一个段最多的字存储单元(2.54.(么表示段内字节单元偏移地址的二进制位数应是:?位20 A、?位16 B、?位C、15 ?位12 D、我的答案:B 此题得分:2.5分(2.5分)可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是:5.?DXCX,AX A、,BX,?SS,CSB、DS,ES, ?BXBP,IP,,C、SP?BXBP,,D、SIDI,我的答案:分D 此题得分: 2.5 . . . . 顺序存放在连续两个字存储单元中,可选用Ⅱ码两个字符的ASC41H,42H分)6.(2.5 要求将A,B的语句是:?‘AB'B A、DA1 D ?‘AB'DW B、DA1 ?ABHB C、DA1 ?ABHW D、DA1 我的答案:2.5分A 此题得分:下面语句中有语法错误的语句是:7.(2.5分)?5HDB A、?ABCDHB、DW ?‘ABCD'C、DW ?‘AB'、DDD 我的答案:分2.5C 此题得分:(2.5分)寄存器间接寻址方式中,操作数存放在:8.?、通用寄存器A?、堆栈B?、程序计数器C?、主存单元D 我的答案: D 此题得分:2.5分 2.5(分)操作数地址存放在寄存器的寻址方式称为:9.?、变址寻址A ?、寄存器寻址B?、相对寻址C?、寄存器间接寻址D我的答案:此题得分:2.5分D 操作数的物理地址是:BYTE PTR[DI](10.2.5分)设DI=3942HDS=8225H,,指令NEG ?85B92H、A?86192H、B?BB690H C、?12169H、D我的答案:2.5分A 此题得分:下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是:分)(2.5 11.?DX,BXCX,,、 AAX . . . . ?DI,SI,、BBX,BP?DXBP,,C、SP,IP ?SSES,、DCS,DS, 我的答案:2.5分B 此题得分:分配的存,10H),3BUF5) 上述语句汇编后,为变量12.10H (2.5分)BUF DW DUP(3 ,DUP(2储单元字节数是:?80HA、 ?100HB、 ?124C 、?192、D我的答案:此题得分:2.5B 分13.发出的访问存储器的地址是:(2.5分)CPU?、物理地址A?、偏移地址B?、逻辑地址C?、段地址D我的答案:分A 此题得分:2.5]指令中的操作数的数据类型是:BYTE DEC PTR[BX14.(2.5分) ?、字A?、双字B?、字节C?、四字D我的答案:C 分此题得分:2.5BUFFER称为:,0AH 中,15.(2.5分)在语句BUFFER DB 01H?、符号A?、变量B?、助记符C?、标号D我的答案:B 此题得分:2.5分将数据5618H存放在存储单元中的伪指令是:16.(2.5分)?1856HDATA1 DW A、

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

《微机原理与汇编语言》课程教学大纲一、课程基本信息 二、教学目标和要求 本课程是计算机专业的专业主干课。课程以当今主流微处理器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复位时各内部寄存器的值,复位时序,总线信号状态。

汇编语言实验整理

1.设计程序。实现Y=2X+3,X是一位十进制数。要求X从键盘输入,在下一行 显示“Y=2X+3=”以及十进制计算结果。 data segment\x db?\y dw?\mess1db0ah,0dh,'input x:$'\mess2db 0ah,0dh,'Y=2X+3=$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let3:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\cmp al,'0'\jb out1\ cmp al,'9'\ja out1\and al,0fh\mov bl,2\mul bl\add ax,3\mov y,ax\mov cx,0\mov bx,10\let0:\mov dx,0\inc cx\idiv bx\push dx\cmp ax,0\jne let0\mov dx,offset mess2\mov ah,9\int 21h\let1:\pop ax\add ax,0030h\mov dl,al\mov ah,2\int21h\ dec cx\cmp cx,0\jnz let1\jmp let3\out1:\mov ah,4ch\int21h\ code ends\end start 2.编写程序,将键盘输入的小写字母变为大写字母显示在屏幕上,输入小写字 母以外的其它字符则退出。 data segment\mess1db0ah,0dh,'xiaoxieinput:$'\mess2db 0ah,0dh,'daxieoutput:$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let2:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\cmp al,'a'\jb out1\ cmp al,'z'\ja out1\mov bl,al\mov dx,offset mess2\mov ah,9\int 21h\let0:\sub bl,20h\mov dl,bl\mov ah,2\int21h\jmp let2\out1:\mov ah,4ch\int21h\code ends\end start 3.设计程序。实现Z=X/4+16*Y,X和Y都是一位十进制数。要求从键盘输入, 在下一行显示“Z=X/4+16*Y”以及十进制计算结果。 data segment\mess1db0ah,0dh,'input x:$'\mess2db0ah,0dh,'input y:$'\ mess3db0ah,0dh,'z=x/4+16*y=$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let0:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\mov cl,2\sub al,30h\ mov ah,0\sar ax,cl\mov bl,al\mov dx,offset mess2\mov ah,9\int 21h\mov ah,1\int21h\sub al,30h\mov ah,0\mov cl,4\sal ax,cl\ add al,bl\mov bx,ax\mov dx,offset mess3\mov ah,9\int21h\let1:\ mov ax,bx\mov cx,0\mov bx,10\let2:\mov dx,0\inc cx\idiv bx\ push dx\cmp ax,0\jne let2\let3:\pop ax\add ax,0030h\mov dl,al\ mov ah,2\int21h\dec cx\cmp cx,0\jne let3\mov ah,4ch\int

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