当前位置:文档之家› 汇编语言试题及参考答案

汇编语言试题及参考答案

汇编语言试题及参考答案
汇编语言试题及参考答案

汇编语言试题及参答案

一、填空题

1.ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。当ZF为1时,SF为()

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.链接

三、己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR。指出下列非法语句的错误原因

1.POP CS()

2.INC [BX] ( )

3.MVL 8( )

4.JLE LPFAR( )

5.MOV DB,1800( )

6.MOV[DI],VAR1

7.SUB AX,VAR2( )

8.CMP SS AX( )

四、简答题

1.试述子程序的一般结构组成

2.标号有哪三个属性?其含义是什么?

3.试述CMP AX,BX和SUB AX,BX两条语句的异同点?

五、阅读如下程序段,回答所提出的问题,假定X1,X2,...XN为无符号数。

ORG 100H

BLOK DW X1,X2,...,XN

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

程序段执行完,回答下述问题

RESULT+2字存储单元的内容=()

BX=()

程序循环次数=()

六、在下述程序段的每一空框内填入一个语句(不得修改其它语句),以实现如下功能:字节变量STR中存放着一个字符串,以0DH为结束标志,试求串长度并送字变量COUNT中。

LEA SI,STR

( )

XOR CX,CX

GOON: CMP AL,[SI]

( )

INC CX

( )

JMP GOON

NEXT:MOV COUNT,CX

七、编制将DS段中名为BUFB的字节存储区改写为空白字符(编码为20H)的程序段。假定BUFB存储区定义为BUFB DB N DUP('^'),其中N为字面常量。

八、己知宏指令为:

SHIFT MACRO RR,COUNT

MOV AX,COUNT

IF RR LE 64

MOV CL,3

SHR AX,CL

IF RR LT 16

MOV CL,6

SHR AX,CL

ENDIF

ENDIF

ENDM

宏调用为:SHIFT 15,7FFFH

SHIFT 80,9FFFH

写出宏扩展后的等效源程序段。

九、编写完整程序,功能是把N个8个二进制数据转换成16进制字符数据。假定N个数据存放在字节变量VARB中,转换后的字符数据存放在HVARB中,提示0--9的字符码为30H--39H,A--F的字符码为41H--46H

汇编语言试题答案

一、填空题(1)1,0,0(2)NEAR或近程,FAR或远程(3)0--FFH,80H--7FH(4)GROUP,NAME,DB(5)循环准备,循环体,循环的控制与修改(6)高,低,等(7)MACRO,ENOM,宏体(8)约定寄存器法,约定存储单元法,向量传递法(9)(POP AYW)(LES SI,AYD)(MOV AH,TYPE AY2)(CLI)(AYB DB“HOW ARE YOU!”)(RET)(MOV ADDR,OFFSET AYY[4])(INC AX)(ADD BX,1)(JZ GOON)

二、选择题2,2

三、 1.CS不能作目的操作数 2.[BX]=义性 3.乘法指令源操作数不能是立即数 4.远程标号不能作为条件转移指令的操作数 5.立即数不能直接送段寄存器 6.两个操作数不能同时为存储器操作数7.操作数不配,AX 为字,VAR2为字节8.段寄存器不能作为运算指令的操作数

四、简答题 1.由保存现场,取入口参数,加工处理,进也口友数,恢复现场和返回程序 2.段属性指定义该标号的段地址偏移属性:指该标号的偏移地址类型属性:指标号是在定义它的段内引用还是在其它段引用 3.相同点:都执行AX-BX操作,影响所有标志位且对档志位的影响相同不同点:CMP执行后AX,BX 内容不改变,而SUB执行后,AX内为AX-BX之差,即内容变化了

五、MAX(X1,X2,。。。XN)(COUNT-1)

六、(MOV AL,ODH)(JE NEXT或JZ NEXT)(INC SI)

七、MOV AX,SEG BUFB MOV DS,AX LEA SI BUFB MOV CX,N GOON:MOV BYTE PTR[SI],20H INC SI LOOP GOON 八、MOV AX,7FFFH MOV CL,3SHR AX,CL MOV CL,6 SHR AX,CL MOV AX,9FFFH

九、DATA SEGMENT VARB DB 45,36,377Q,。。。,11011011B N EQU $-VARB HVARB DB 2 NDRP(?)DATA ENDS STACK SEGMENT PARA STACK “STACK”DB 256 DUP(?)STACK ENDS CODE SEGMENT ASSUME CS:COOE,DS:DATA,SS:STACK MAIN PROC FAR PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV DX,N LEA DI,HVARB LEA SI,VARB,置初值GOCN:MOV AH,[SI]MOV AL,AH AND AH,0F0H MOV CL,4SHR AH,CL CMP AH,9JNA NEXT1ADD AH,7 NEXT1:ADD AH,30H,AH AND AL,DFH CMP AL,9JNA NEXT2

ADD AL,7NEXT2:ADD AL,30H,AL MOV [DI],AH MOV [DI],AL ADD DI,2INC SI DEC DX JNZ GOON RET MAIN ENDP CODE ENDS END MAIN

全国2006年10月高等教育自学考试汇编语言程序设计试题

课程代码:02321

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

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

A.段地址B.偏移地址

C.物理地址D.逻辑地址

2.某存储单元的物理地址是12345H,可以作为它的段地址有()A.2345H B.12345H

C.12340H D.1234H

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

A.XOR BX,BX B.OR BX,BX

C.AND BX,BX D.CMP BX,BX

4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是()A.CX≠0且ZF=1B.CX≠0且ZF=0

C.CX≠0或ZF=1D.CX≠0或ZF=0

5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()

A.DAA校正指令的功能已自动加在AH中

B.进位值在AF中,校正后根据AF内容再加在AH中

C.进位值在CF中,校正后根据CF内容再加在AH中

D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位

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

C.指令AND AX,OFH执行后,分离出AL低四位

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

7.在执行下列指令时,需要使用段寄存器DS的指令是()A.STOSW B.ADD AL,CL

C.NEG BX D.INC DA[BX]

8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的

指令是()

A.ADD BH,01H B.OR BH,01H

C.XOR BH,01H D.TEST BH,01H

9.完成对CL寄存器的内容乘以4的正确操作是()

A.ROL CL,1 B.MUL 4

ROL CL,1

C.SHL CL,1 D.MOV CL,2

SHL CL,1 SHL CL,CL

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

A.MOV [DI],[SI]B.MOV[DX+DI],AL

C.MOV WORD PTR [BX],0100H D.MOV AL,BX

11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()A.名字的第一个字符可以是大写英文字母及小写英文字母

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

C.名字的有效长度≤31个字符

D.在名字中不允许出现$

12.要实现使BETA的值为56,应采用语句为()

A.BETA DB 56B.BETA DB 56H

C.BETA EQU 56D.BETA EQU 56H

13.REPZ CMPSW指令,重复执行的终止条件是()

A.CX=0或ZF=0B.CX=0且ZF=0

C.CX=0或ZF=1D.CX=0且ZF=1

14.下面程序段执行后,AL中的内容是()

MOV AX,8833H

ADD AL,AH

DAA

A.21B.21H

C.0C1H D.0DDH

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

C.SF=1D.SF=0

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

A.JNC LOP1B.JA LOP1

C.JC LOP1D.JGE LOP1

17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是()A.STOSW B.LODSW

C.SCASW D.CMPSW

18.设AL=0AH,下列指令执行后能使AL=05H的是()

A.NOT AL B.AND AL,0FH

C.XOR AL,0FH D.OR AL,0FH

19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’()

MOV AX,DA1+3

指令执行后AX中的内容是

A.‘EF’B.‘CD’

C.‘BC’D.‘FC’

20.使用DOS系统功能调用时,使用的软中断指令是()A.INT 21 B.INT 10H

C.INT 16H D.INT 21H

二、填空题(本大题共12空,每空0.5分,共6分)请在每小题的空格中填上正确答案。错填、不填均无分。

21.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。

22.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为________,其物理地址为________。

23.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。

24.当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。

25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。26.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。

三、简答题(本大题共4小题,每小题2分,共8分)

27.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。

(1)MOV AL,[BX]

(2)MOV CS:[BX+DI],AH

28.0P1 DB 1,2

0P2 DW 3412H,5678H

MOV AX,OP1+1;字单元(OP1+1)AX

MOV BL,OP2+1;字节单元(OP2+1)BL

上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。

29.下列语句在存储器中分别为变量分配多少字节?

(1)AD2 DW 10 DUP(?),10

(2)AD3 DD 100 DUP(?)

30.简述下面两条指令分别是什么语法错误?

MOV [BX],[SI]

MOV AX,DL

四、程序分析题(本大题共6小题,每小题6分,共36分)

31.MOV DL,AL

NOT DL

TEST DL,04H

JE NEXT

NEXT:…

若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?

32.DA1 DB‘ABCDEFGHI’

DA2 DB 9 DUP(0)

LEA SI,DA1

LEA DI,DA2

MOV CX,9

CLD

LOP:LODSB

SUB AL,10H

STOSB

LOOP LOP

. . .

试问:①写出程序执行后DA2各字节中的数据。

②保持程序功能情况下,程序中可否改写为

33.已知:BX=4567H

NEG BX

INC BX

NEG BX

DEC BX

程序段执行后,BX=________,CF=________。

34.MOV BL,64H

MOV CL,03H

XOR AX,AX

AGAIN:ADD AL,BL

ADC AH,0

DEC CL

JNZ AGAIN

问:(1)该程序段完成的功能是:

(2)AX=________。

35.已知数据段中定义

DAT1 DB 12H,34H,56H,78H

MOV CX,0

MOV AX,WORD PTR DAT1

MOV CL,DAT1+3

当程序段执行完后AX=________,CX=________。

36.DA1 DB 83H,72H,61H,94H,5AH

MOV CX,WORD PTR DA1

AND CX,0FH

MOV AL,DA1+3

SHL AL,CL

上述指令序列执行后,AL=_______,CL=_______。

五、程序填空题(本大题共2小题,每小题6分,共12分)

37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。

MOV AX,NUMW

_____________

XOR DX,DX

DIV BX

MOV QUI,AX

_____________

38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。

STRING DB‘COMPUTER’,‘$’

MOV BX,0FFSET STRING

LOP:MOV DL,[BX]

MOV AH,02H

INT 21H

____________________

____________________

JNE LOP

六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。

40.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。

DATA SEGMENT

DA1 DW XXXX

DATA ENDS

2006年10月汇编语言程序设计试题答案

一、1、C;2、D;3、A;4、B;5、C;

6、C;

7、D;

8、B;

9、C;10、C;

11、B;12、C;13、A;14、B;15、A

16、C;17、D;18、C;19、D;20、B

二、21、+65528;-32760

22、20A8H;11488H

23、状态;控制

24、CF;OF

25、IP;CS

26、STOS;CMP

三、27、(1)21357H;(2)43357H

28、MOV AX,WORD PTR(OP1+1)

MOV BL,BYTE PTR(OP2+1)

29、(1)22;(2)400

30、MOV指令不能在两个存储器操作数之间进行;

操作数类型不匹配

四、31、第2位;CF=0

32、123456789;不能更改

33、BX=4565H;CF=1

34、AX=012CH,将AX内容乘3送BX中

35、AX=3412H,CX=0078H

36、AL=0A0H,CL=03H

五、37、MOV BX,500

MOV REM,DX

38、INC BX

CMP [BX],24H

六、39、LEA DI,DA_BY

MOV CX,32

MOV AL,‘Y’

CLD

REP STOSB

40、CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

LEA SI,DA1

MOV CX,16

XOR BL,BL

AGAIN: MOV AL,[SI]

HL AL,1

JC NEXT

INC BL

NEXT:INC SI

LOOP AGAIN

TEST BL,01H

JNE L1

CLC

JMP DONE

L1: STC

DONE: MOV AH,4CH

INT 21H

CODE ENDS

END START

浙江省2001年10月汇编语言程序设计试题

课程代码:02321

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答

案的序号填在题干的括号内。每小题1分,共10分)

1.把若干个模块连接起来成为可执行文件的系统程序是( )

A.汇编程序

B.连接程序

C.机器语言程序

D.源代码程序

2.使汇编程序执行某种操作的命令是( )

A.变量

B.指令

C.伪指令

D.宏指令

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

A. CS

B. SS

C. DS

D. ES

4.在下列语句中,AGAIN称为( )

AGAIN:INC SI

A.符号

B.助记符

C.标号

D.变量

5.MOV BH,1000[SI],该指令中源操作数采用的寻址方式是( )

A.立即

B.直接

C.寄存器相对

D.寄存器间接

6.OR AL,AL是( )操作指令。

A.异或

B.加法

C.右移

D.逻辑或

7.DOS系统功能调用中,显示单个字符的系统调用号是( )H。

A. 01H

B. 02H

C. 08H

D. 09H

8.使计算机执行某种操作的命令是( )

A.宏指令

B.指令

C.伪指令

D.语句

9.换码指令的助记符是( )

A. XCHG

B. LEAS

C. ALXT

D. MOV

10.计算机能直接识别并执行的语言是( )

A.汇编语言

B.机器语言

C.高级语言

D.低级语言

二、填空题(共20分)

1.假设BL=0C5H,CL=2,CF=1,确定下列各条指令独立执行后,BL和CF中的值,并填入括号中。

A. SHR BL,1;BL=( ) CF=( )

B. SAR BL,CL;BL=( ) CF=( )

C. ROR BL,1;BL=( ) CF=( )

D. RCL BL,CL;BL=( ) CF=( )

2.现有数据定义伪指令如下,写出对应的数据在存储单元中的存放形式。

BUF1 DB 01,52H

BUF2 DW 3 DUP(?,0)

BUF3 DB 2 DUP(0,2DUP(1,2),3)

BUF

1

3.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是______码,称为美国______码。

4.8086/8088CPU中,有二个变址寄存器,分别是______和______,二个指针寄存器,分别是______和______。

三、简答题(每小题5分,共20分)

1.请指出下列指令错误原因:

A. OR AX,[CX]

B. ADD [SI],[BX][DI]

C. JMP BYTE PTR LOOPS

D. SAR AX,4

E. RCL DX

2. A.下面两个语句有何区别?

X1EQU 1000H

X2=1000H

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

CRAY PROC

PUSH AX

ADD AX,BX

RET

ENDP CRAY

3.假设程序中的数据定义如下:

ARRAY1 DW ?

ARRAY2 DB 16 DUP(?)

ARRAY3 DD ?

PLENTH EQU $-ARRAY1

问PLENTH的值为多少?它表示什么意义?

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

A.把AX寄存器和BX寄存器的内容相加,结果存入AX中。

B.用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,

并把结果送回DL中。

C.把数OBEH与AH内容相加,结果送回AH中。

D.用SI和位移量0200H的寄存器相对寻址方式把存储器中的一个字与AX相

加,并把结果送回存储单元中。

E.用位移量0860H的直接寻址方式把存储器中一个字与数2EA0H相加,结果

回送存储器中。

四、程序分析题(每小题5分,共20分)

1.试分析下面程序段完成什么功能?

CON1 DW ××××H

CON2 DW ××××H

MOV AX,CON1

MOV BX,CON2

CMP AX,BX

JGE GREAT

LESS

2.试分析下面程序段完成什么功能?

OR AL,AL

JZ L0

CMP AL,1

JZ L1

CMP AL,2

JZ L2

JMP STOP

L 0:┇

L 1:┇

L 2:┇

STOP:HLT

3.试问下面的程序段完成的功能是什么?程序执行后,AX的内容是什么?

XOR AX,AX

MOV BX,2

MOV CX,10

L:ADD AX,BX

ADD BX,2

LOOP L

HLT

4.试分析下面的程序段完成什么功能?

MOV CL,04

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL

五、程序设计(每小题10分,共30分)

1.试编写使AL寄存器中的无符号数乘20的程序段。

2.编写程序将ELEMS中的100个字节数据的位置颠倒过来(即第一个字节和

第100个字节的内容交换,第二个字节和第99个字节的内容交换……)。

3.仔细阅读下列程序段,它是二个ASCII码转换为一字节十六进制数的子程

序,请回答下列问题:

A.说明一个ASCII码字符转换为一位十六进制数的算法。

B.程序执行结束后,HEXBUF字节单元中的内容是什么?

C.对程序进行注释,说明指令执行的工作。

ASCBUF DB 38H,41H

HEXBUF DB ?

LEA SI,ASCBUF

LEA DI,HEXBUF

MOV CL,4

MOV AL,[SI]

CALL ASC-HEX

MOV [DI],AL

MOV AL,[SI+1]

CALL ASC-HEX

OR [DI],AL

HLT

ASC_HEX PROC NEAR

CMP AL,3AH

JC ASC1

SUB AL,7

ASC1:SUB AL,30H

RET

浙江省2001年10月汇编语言程序设计试卷参考答案

课程代码:02321

一、单项选择题(每小题1分,共10分)

1.B

2.C

3.D

4.C

5.C

6.D

7.B

8.B

9.C 10.B

二、填空题(共20分)

1.(8分) A. 62H, 1

B. 0F1H,0

C. 0E2H, 1

D. 17H, 1

2.(每题2分,共

3. ASCII 标准信息

4. SI DI SP BP

三、简答题(每小题5分,共20分)

1.A.CX不能作为间接寻址寄存器

B.加法指令不能完成存储单元之间的加法运算

C.转移指令中,转向标号地址的属性说明错

D.移位指令格式错,当移位次数大于1时,需用CL给出

E.指令中应指出移位次数

2.A.第一个语句中,X1不能多次赋值,而X2可以多次赋值

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

CRAY ENDP

3. 22它表示ARRAY1到ARRAY3所占存储单元的字节数

4. A. ADD AX,BX

B. ADD DL,[BX][SI]

C. ADD AH,OBEH

D. ADD [SI+0200H],AX

E. ADD [0860H],2EA0H

四、程序分析题(每小题5分,共20分)

1.比较两个16位有符号数,当(CON1)>=(CON2)时转GREAT处理,否则转LESS处理。

2.判断AL中的内容,若AL=0,转L0处理;

若AL=1,转L1处理;

若AL=2,转L2处理;

其它转结束(STOP)。

3.求2~20之间偶数之和AX=110(或6EH)。

4.把DX、AX中的双字左移四位。

五、程序设计(每小题10分,共30分)

1. MOV AH,00

MOV BX,AX

MOV CL,02

SHL AX,CL

MOV DX,AX

MOV AX,BX

MOV CL,03

SHL AX,CL

ADD AX,AX

ADD AX,DX

2. MOV CX,50

LEA SI,ELEMS

LEA DI,ELEMS+99

REVERSE:MOV AL,[SI]

XCHG AL,[DI]

MOV [SI],AL

INC SI

INC DI

LOOP REVERSE

3.A.十六进制数的ASCII码,0~9对应30~39H(ASCII码),A~F对应41H~

45H(ASCII码),此算法是:首先ASCII码与3AH比较,若小于3AH,

就是0~9的ASCII码,将它减去30H,即得十六进制数0~9;否则,

要再减去7(如41H-37H=0AH),即可得A~F的十六进制数。

B. 8AH

LEA SI,ASCBUF;SI←ASCBUF偏移地址

LEA DI,HEXBUF;DI←HEXBUF偏移地址

MOV CL,04;CL←移位次数4

MOV AL,[SI];AL←第一个ASCII码

CALL ASC_HEX;调用ASCII码转换一位十六进制数子程序SHL AL,CL;转换后的十六进制一位数移入高位

MOV [DI],AL;HEXBUF单元←转换十六进制数

MOV AL,[SI+1];AL←第二个ASCII码

CALL ASC-HEX;调用转换子程序

OR [DI],AL;高位与低位组合成一字节十六进制数

HLT

ASC_HEX PROC NEAR ;子程序名定义

CMP AL,3AH;ASCII码与3AH比较

JC ASC1;小于,转ASC1

SUB AL,7;大于,ASCII码减7

ASC1:SUB AL,30H;ASCII码减30H

RET ;子程序返回指令

浙江省2002年1月高等教育自学考试

汇编语言程序设计试题

课程代码:02321

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答

案的序号填在题干的括号内。每小题1分,共10分)

1.CPU发出的访问存储器的地址是( )

A.物理地址

B.偏移地址

C.逻辑地址

D.段地址

2.将高级语言的程序翻译成机器码程序的实用程序是( )

A.编译程序

B.汇编程序

C.解释程序

D.目标程序

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

A.字

B.双字

C.字节

D.四字

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

BUFFER DB 01H,0AH

A.符号

B.变量

C.助记符

D.标号

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

A. CS

B. SS

C. DS

D. ES

6.使计算机执行某种操作的命令是( )

A.伪指令

B.指令

C.标号

D.助记符

7.将数据5618H存放在存储单元中的伪指令是( )

A. DATA1 DW 1856H

B. DATA1 DB 18H,56H

C. DATA1 EQU 5618H

D. DATA1 DB 18H,00H,56H,00H

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

A. 1400H

B. 77F8H

C. 0000H

D.

0FFFFH

9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( )码。

A. BCD码

B.二进制码

C.ASCII码

D.十六进制码

10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为( )

A.汇编语言

B.高级语言

C.机器语言

D.低级语言

二、填空题(每空1分,共20分)

1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。

2.通常所说的计算机系统包括________和________两大部分。

3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________、________、________。

4.现有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(3120 2H)=

40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。

A.ADD AX,1200H;问AX=________H ZF=________

B.SUB AX,BX;问AX=________H ZF=________

C.MOV AX,[BX];问AX=________H CF=________

D.NEG WORD PTR[1200H];问(31200H)=________H CF=________

5.设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,

试计算出下列各种寻址方式下的有效地址,填入括号中。

A.使用D的直接寻址( )

B.使用BX的寄存器间接寻址( )

C.使用BX和D的寄存器相对寻址( )

D.使用BX、SI和D的相对基址变址寻址( )

E.使用BX、SI的基址变址寻址( )

三、简答题(共20分)

1.程序在数据段中定义的数组如下:(4分)

ARRAY DB ‘YES IS’

DB 20

DB ‘DO NOT’

请指出下列指令是否正确?若不正确,错在哪里?

A.MOV BX,OFFSET ARRAY

MOV AX,[BX+8]

B.MOV AX,ARRAY

C.MOV BX,2

MOV SI,3

MOV AX,ARRAY[BX][SI]

D.MOV BX,2*2

MOV SI,3

MOV AX,OFFSET ARRAY[BX][SI]

INC [AX]

2.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄存器的内容是什么?(3分) MOV AX,TABLE

MOV AX,OFFSET TABLE

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

TAB1 DW 10 DUP(?)

TAB2 DB 10 DUP(?)

TAB3 DB ‘1234’

MOV AX,LENGTH TAB1

MOV BL,LENGTH TAB2

MOV CL,LENGTH TAB3

4.子程序的说明文件中应包括哪几方面的内容?(5分)

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

A.MOV SI,100

B.MOV CX,DATA[SI]

C.MOV [SI],AX

D.ADD AX,[BX][DI]

E.POPHF

四、程序分析(每小题5分,共20分)

1.下列程序段完成什么工作?

DAT1 DB 30 DUP(?)

DAT2 DB 10 DUP(?)

MOV CX,10

MOV BX,20

MOV SI,0

MOV DI,0

NEXT:MOV AL,DAT1[BX][SI]

MOV DAT2[DI],AL

INC SI

INC DI

LOOP NEXT

2.执行下列指令后,AX寄存器中的内容是什么? START DW 10H,20H,30H,40H,50H

EE1 DW 3

MOV BX,OFFSET START

ADD BX,EE1

MOV AX,[BX]

3.试分析下面程序段的功能是什么?

CMP AL,‘A’

JC OTHER

CMP AL,‘Z’+1

JNC OTHER

JMP LETTER

OTHER:┇

LETTER:┇

4.下面程序段执行完以后,AL的内容是什么? MOV BX,00FFH

AND BX,0FFFH

OR BX,0F0FH

XOR BX,00FFH

五、程序设计(每小题10分,共30分)

1.试编写出把DX、AX中的双字右移四位的程序段。

2.定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。

3.内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100,60~89,60以下者各有多少人?并把结果连续存放到自RESUT 开始的单元中,(要求画出程序流程图,各段定义完整)

浙江省2002年1月高等教育自学考试

汇编语言程序设计试题参考答案

课程代码:02321

一、单项选择题(每小题1分,共10分)

1.A

2.A

3.C

4.B

5.C

6.B

7.B

8.A

9.C 10.A

二、填空题(每空1分,共20分)

1.SCAS

2.硬件软件

3.CS DS ES SS

4.A.3200H 0

B.0E00H 0

C.0250H 不影响

D.0B0H 1

5.A.0A2B1H

B.1000H

C.0B2B1H

D.0B3B1H

E.1100H

三、简答题(共20分)

1. A.正确

B.数据类型不匹配错

C.前两条指令正确,第三条数据类型不匹配

D.前两条正确,后两条不正确,在汇编过程中,OFFSET操作将得到变

量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未

知的,所以第三条指令不正确。第四条指令中,AX不能作为基址寄存

器用。

2.第一条指令传送的是0100H单元中的内容AX=0FF00H

第二条指令传送的是地址0100H AX=0100H

3.MOV AX,10

MOV BL,10

MOV CL,1

4. A.子程序名

B.子程序的功能

C.子程序所用到的寄存器、工作单元的情况

D.子程序的输入参数

E.子程序的输出参数

汇编语言实现十进制加减计算器

课程设计 题目十进制数加减计算器学院计算机科学与技术 专业计算机科学与技术 班级计算机0808班 姓名何爽 指导教师袁小玲 2010 年12 月31 日

课程设计任务书 学生姓名:何爽专业班级:计算机0808班 指导教师:袁小玲工作单位:计算机科学与技术学院 题目: 十进制数加减计算器的设计 初始条件: 理论:学完“汇编语言程序设计”、“课程计算机概论”、“高级语言程序设计”和“数字逻辑”。 实践:计算机学院科学系实验中心提供计算机和软件平台。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)十进制数加减计算器的设计。 (2)程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 (3)设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。 (4)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 在正文第一行写课程设计题目; 1.需求说明(要求、功能简述)或问题描述; 2.设计说明(简要的分析与概要设计); 3.详细的算法描述; 4.源程序与执行结果(含测试方法和测试结果); 5.使用说明; 6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该 程序进一步改进扩展的设想)。 时间安排: 设计时间一周:周1:查阅相关资料。 周2:系统分析,设计。 周3~4:编程并上机调试。 周5:撰写课程设计报告。 设计验收安排:20周星期五8:00起到计算机学院科学系实验中心进行上机验收。 设计报告书收取时间:20周的星期五下午5:00之前。 指导教师签名: 2010年12月31日 系主任(或责任教师)签名: 2010年12月31日

ARM7中文数据手册

ARM7数据手册https://www.doczj.com/doc/6f5296521.html, 翻译:aufan

序言: ARM7是一种低电压,通用32位RISC微处理器单元,可作一般应用或嵌入到ASIC或CSIC 中,其简洁一流的设计特别适用于电源敏感的应用中。ARM7的小尺寸使它特别适合集成到比较大的客户芯片中,此芯片中也可以包含RAM,ROM,DSP,逻辑控制和其他代码。 增强特性: ARM7和ARM6有相似性,但增加了以下功能: 基于亚微米的制程,增加了速度,减少了电源消耗 3V操作,很小的电源消耗,并同5V系统兼容 较高的时钟对所以程序执行较快。 特性总结: l32位的RISC结构处理器(包括32位地址线和数据线); l Little/Big Endian操作模式; l高性能RISC 17MIPS sustained@25MHz(25MIPS peak)@3V l较低的电压损耗 0.6mA/MHz@3V fabricated in.8 m CMOS全静态操作 l适用于对电源比较敏感的应用中 l快速中断响应 l适用于实时系统 l支持虚拟内存 l支持高级语言 l简单但功能强大的指令系统 应用 ARM7适用于那些需要紧凑且功能强大的RISC处理器系统 电讯GSM终端控制 数据通信协议转换 便携式计算机掌上电脑 自动控制系统发动机管理单元 信息存贮系统存储卡 图像处理JOEG控制器

目录 1.0简介 1.1ARM7模块图 1.2ARM7功能图 2.0信号描述 3.0编程模式 3.1硬件配置信号 3.2操作模式选择 3.3寄存器 3.4异常 3.5复位信号 4.0指令系统 4.1指令系统总述 4.2条件代码 4.3分支和分支连接指令 4.4数据处理指令 4.5PSR传输指令(MRS,MSR) 4.6乘法和乘加指令(MUL,MLA) 4.7单次数据传输(LDR,STR) 4.8数据块传输(LDM,STM) 4.9单次数据交换(SWP) 4.10软件中断 4.11协处理器数据操作(CDP) 4.12协处理器数据传输(LDC,STC) 4.13协处理器寄存器传输(MRC,MCR) 4.14无定义指令 4.15举例 5.0存储器界面 5.1周期类型 5.2字节寻址 5.3地址时序 5.4存储器管理 5.5锁操作 5.6延续访问时间 6.0微处理器接口 6.1接口信号 6.2数据传输周期 6.3寄存器传输周期 6.4特权指令 6.5幂次访 6.6无定义指令 7.0指令周期操作 7.1分支和分支连接 7.2数据操作 7.3乘法和乘加 7.4加载寄存器 7.5存储寄存器

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 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分,共20分) 1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。 ① 无符号十进制数136 ② 带符号十进制数-120 ③ 压缩型BCD码十进制数88 ④ 8位二进制数-8的补码表示 2.指令指针寄存器是()。 ① IP ② SP ③ BP ④ PSW 3.当执行指令ADD AX,BX后,若AX的内容为2BA0H, 设置的奇偶标志位PF=1,下面的叙述正确的是()。 ① 表示结果中含1的个数为偶数 ② 表示结果中含1的个数为奇数 ③ 表示该数为偶数 ④ 表示结果中低八位含1的个数为偶数 4.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是()。 ① MOV AL,00H ② AND AL,00H

③ XOR AL,AL ④ SUB AL,AL 5.下列指令执行后总是使CF=0,OF=0的是()。 ① AND ② NEG ③ NOT ④ INC 6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。 ① MOV AX,BX ② MOV BX,AX ③ PUSH AX POP BX ④ MOV CX,AX MOV AX,BX MOV BX,CX 7.设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是()。 ① AH=01,AL=05 ② AH=1 AL=15 ③ AH=0 AL=0FH ④ AH=0 AL=05 8.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为

汇编语言程序设计期末考试题

汇编语言程序设计期末考试题 学院(系):学号: 姓名: 计分: 一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号 内。每小题1分,共10分) 1.CPU发出的访问存储器的地址是( ) A.物理地址 B.偏移地址C.逻辑地址D.段地址 2.将高级语言的程序翻译成机器码程序的实用程序是( ) A.编译程序 B.汇编程序 C.解释程序 D.目标程序 3.DEC BYTE PTR[BX]指令中的操作数的数据类型是( ) A.字 B.双字C.字节D.四字 4.在下列语句中,BUFFER称为( ) BUFFER DB 01H,0AH A.符号 B.变量 C.助记符D.标号 5.串操作指令中,源串操作数的段地址一定在( )寄存器中。 A. CS B. SS C. DS D. ES 6.使计算机执行某种操作的命令是( ) A.伪指令B.指令 C.标号D.助记符 7.将数据5618H存放在存储单元中的伪指令是( ) A. DATA1 DW 1856H B. DATA1 DB 18H,56H C. DATA1EQU 5618H D. DATA1 DB 18H,00H,56H,00H 8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( ) A.1400H B. 77F8H C. 0000H D. 0FFFFH 9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍 采用的是( )码。 A. BCD码 B.二进制码 C.ASCII码D.十六进制码 10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语 言称为( ) A.汇编语言 B.高级语言 C.机器语言 D.低级语言 二、填空题(每空1分,共20分) 1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。 2.通常所说的计算机系统包括________和________两大部分。 3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、_____ ___、________、________。 4.现有AX=2000H,BX=1200H, DS=3000H, DI=0002H, (31200H)=50H,(31201H)=02H, (31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标 志位ZF、CF的值。 A.ADDAX,1200H;问AX=________H,ZF=________

汇编语言实现十个数的排序

DATAS SEGMENT DATA0 DB'Please input a numbers (0-65535):','$' DATA1 DB' over flow input again:','$' DATA2 DB'The num you have put is:',0ah,0dh,'$' DATA3 DB'After exchange the num is:',0ah,0dh,'$' DATA4 DB' ','$' DATA DW 10 DUP(?) DATAS ENDS STACKS SEGMENT DW 256 DUP(?);此处输入堆栈段代码STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DA TAS,SS:STACKS ;/****************************************/ ;-----------程序开始------------ START: MOV AX,DA TAS MOV DS,AX MOV SI,0 MOV CX,10 ;----------循环输入------------ L: CALL INPUT ADD SI,2 CALL NEWLINE LOOP L MOV DX,OFFSET DATA2 MOV AH,9 INT 21H ;-------输入后显示---------- MOV CX,10 MOV DI,0 AGAIN: CALL PRINT CALL SPACE ADD DI,2 LOOP AGAIN ;----------排序-------------

MOV CX,9 MOV DI,0 LOOP0: CALL SORT ADD DI,2 LOOP LOOP0 CALL NEWLINE MOV DX,OFFSET DATA3 MOV AH,9 INT 21H ;----------交换后显示------------- MOV CX,10 MOV DI,0 AGAIN0: CALL PRINT CALL SPACE ADD DI,2 LOOP AGAIN0 ;----------返回系统-------------- EXIT: MOV AH,4CH INT 21H ;/**************************************/ ;------------输入函数-------- INPUT PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX ;----------提示信息---------- MOV DX,OFFSET DATA0 MOV AH,9 INT 21H MOV BX,0 ;BX存放十进制数 CLC MOV DX,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和

汇编语言程序设计试题A卷

陕西电子信息职业技术学院考试试卷(A) 2011至2012学年度第一学期 期末 班级: 09成教 课程: 汇编语言程序设计 题 号 一 二 三 四 五 合分人 分 数 总 分 (考试时间:120分钟 满分100分) 一、单项选择题(本大题共10小题,每小题2分,共20分) 1. 计算机硬件中最核心的部件是( )。 A. 运算器 B. 主存储器 C. CPU D. 输入 / 输出设备 2. 指令指针寄存器(IP )中存放的内容( )。 A. 指令 B. 指令地址 C. 操作数 D. 操作数地址 3. 寄存器间接寻址方式中,要寻找的操作数位于( )中。 A. 通用寄存器 B. 内存单元 C. 段寄存器 D. 堆栈 4. I/O 端口的编址方式分为统一编址和( )。 A. 独立编址 B. 选择编址 C. 设置编址 D. 控制编址 5. 汇编语言程序中可执行的指令位于( )中。 A. 数据段 B. 堆栈段 C. 代码段 D. 附加数据段 6. 循环结构设计中,要考虑的核心问题是( )。 A. 循环的控制 B. 选择循环结构 C. 设置循环参数初始值 D. 修改循环控制参数 7. 在汇编中用于管理和控制计算机相关功能的指令是( )。 A. 伪指令 B. 机器指令 C. 宏指令 D. 目标指令 班级 姓名 学号 — — — — — — — — — — — — — — — — 密 — — — — — — — — — 封 — — — — — — — — — — 线 — — — — — — — — — — — — — — — —

8. 识别中断源的方法包括查询中断和()共两种类型。 A. 指令中断 B. 故障中断 C. 矢量中断 D. 实时时钟中断 9. CPU与I/O设备之间需要传输的信息通常包括()、状态信息 和控制信息。 A. 编址信息 B. 格式信息 C. 中断信息 D. 数据信息 10. 一般情况下,汇编源程序应由数据段、()和代码段共三个逻 辑段组成。 A. 逻辑段 B. 堆栈段 C. 指令段 D. 类型段 二、名词解释(本大题共5小题,每小题4分,共20分) 11. 微处理器: 12. 寻址方式: 13. 伪指令: 14. 中断源:

完整版汇编语言试题及答案..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

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

《汇编语言》问题3.10解析

1、如果要在10000H处写入字型数据2266H,可以用以下的代码完成: mov ax,1000H mov ds,ax mov ax,2266H mov[0],ax 补全下面的代码,使它能够完成同样的功能:在如果要在10000H处写入字型数据2266H。 要求:不能使用“mov内容单元,寄存器”这类命令。 _____________ _____________ _____________ mov ax,2266H push ax 解析:大家看,如何实现在10000H处写入字型数据2266H? 也就是说要在SS:SP(1000:0)指向的栈顶处将字型数据2266H写入。 那我们在10000H处写入字型数据2266H前的栈顶指向肯定SS:SP(1000:2),即为我需要初始化栈时设定的栈顶。 因此,完成的程序如下。 mov ax.1000H mov ss,ax mov sp,2 mov ax,2266H push ax 2、如果要在1000H处读取字型数据2266H,可以用以下的代码完成: mov ax,1000H mov ds,ax mov ax,2266H mov ax,[0] 补全下面的代码,使它能够完成同样的功能:在如果要在10000H处读取字型数据2266H。 要求:不能使用“mov内容单元,寄存器”这类命令。 _____________ _____________ _____________ mov ax,2266H pop ax 解析:如何在10000H处读取字型数据2266H? 也就是说要在SS:SP(1000:0)指向的栈顶处将字型数据2266H读取。 那我们在10000H处读取字型数据2266H前的栈顶指向肯定SS:SP(1000:0),即为我需要初始化栈时设定的栈顶。 因此,完成的程序如下。 mov ax.1000H mov ss,ax mov sp,0 mov ax,2266H pop ax 总结:写入数据的话,写入数据时的栈顶和当前栈顶(即写入数据前的栈顶)不一样;读取数据的话,读取数据时的栈顶和当前栈顶(即读取数据前的栈顶)一样。

汇编语言

武汉理工大学华夏学院课程设计报告书 课程名称:汇编语言课程设计 题目:在屏幕上显示变换的图形 系名:信息工程系 专业班级:软件工程1131 姓名: 学号: 102128131 指导教师:李捷 2015 年 1 月 9 日

课程设计任务书 学生姓名: 专业班级: 软件1131 指导教师: 李捷 工作单位: 信息工程系 设计题目:在显示器上显示对称图1、图2 初始条件: PC 机上实现课程设计 要求完成的主要任务: 主要任务:(在规定的时间内完成下列任务) 1. 按”Esc ”退出程序;能有2种图形显示,2种色彩方案(见上图) 2. 按“1 , 2” 黑白----------显示图形1,图形2 3. 按“3 , 4”色彩方案1---显示图形1,图形2(颜色自定) 4. 按“5 , 6”色彩方案2---显示图形1,图形2(颜色自定)+ 时间安排: 设计报告撰写格式要求:(按提供的设计报告统一格式撰写) 1、 题目:在显示器上显示有色彩变换的数字对称图 2、设计目的:在课程设计实验中,利用顺序结构、循环结构和主、子程序的调用,更进 一步的学习和掌握汇编语言课程设计。 2、设计内容:写出简要的程序功能描述、程序运行条件--所需工具软件、输入/输出描述等。 3、程序结构:① 主要的段定义说明; ② 用到的子程序(宏)的功能说明、调用关系说明、参数传送方式说明等; ③ 主要算法描述等(各模块功能实现及典型指令的应用)。 4、设计步骤(注明时间安排) 5、程序流程图、源程序(程序必须有简单注释,源程序若太长,可作为附录) 6、实验结果(输出) 7、其他值得说明的内容(1)程序结构设计特点;(2)设计、调试程序心得、体会或不足。 附录:①源程序代码(必须有简单注释) ②参考文献 指 导 教 师 签 字: 2015年 1 月1日 系 主 任 签 字: 年 月 日

汇编语言试题及答案.

一,单项选择题(每小题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月高等教育自学考试汇编语言程序设计试题历年试卷

做试题,没答案?上自考365,网校名师为你详细解答! 全国2005年1月高等教育自学考试 汇编语言程序设计试题 课程代码:02321 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填 在题干的括号内。每小题1分,共16分) 1.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。 A.2025∶0F2A B.2108∶00EA C.2000∶017A D.2100∶117A 2.某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( )字节。 A.2K B.4K C.8K D.16K 3.以寄存器DI间接寻址的存储器字节单元内容加1的指令是( )。 A.INC [DI] B.INC DI C.INC BYTE PTR[DI] D.ADD [DI],1 4.有语句:COUNT EQU 256,下列四种叙述中,正确的是( )。 A.COUNT是变量 B.COUNT占用一个字节存储单元 C.COUNT是符号常数 D.COUNT占用二个字节存储单元 5.下面指令中,源操作数的寻址方式为立即寻址的是( )。 A.MOV AX,OFFSET A B.MOV AX,A C.MOV AX,A+1 D.MOV AX,A[BX] 6.已知SP=2110H,执行POP AX后,SP寄存器的值是( )。 A.2111H B.2112H C.210FH D.210EH 7.将AX中有符号数除以2的正确指令是( )。 A.SHR AX,1 B.SAR AX,1 C.ROR AX,1 D.RCR AX,1 8.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( )。 A.JAE HIGH B.JBE HIGH C.JEG HIGH D.JLE HIGH 9.指令SCASB操作数的段地址一定在( )寄存器中。 A.CS B.DS C.ES D.SS 10.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配 的存储单元字节数是( )。 A.48H B.90H C.120 D.60 11.下列指令执行后,不改变AL寄存器内容的指令是( )。 1

(完整word版)汇编语言常用指令大全,推荐文档

MOV指令为双操作数指令,两个操作数中必须有一个是寄存器. MOV DST , SRC // Byte / Word 执行操作: dst = src 1.目的数可以是通用寄存器, 存储单元和段寄存器(但不允许用CS段寄存器). 2.立即数不能直接送段寄存器 3.不允许在两个存储单元直接传送数据 4.不允许在两个段寄存器间直接传送信息 PUSH入栈指令及POP出栈指令: 堆栈操作是以“后进先出”的方式进行数据操作. PUSH SRC //Word 入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器. 入栈时高位字节先入栈,低位字节后入栈. POP DST //Word 出栈操作数除不允许用立即数和CS段寄存器外, 可以为通用寄存器,段寄存器和存储器. 执行POP SS指令后,堆栈区在存储区的位置要改变. 执行POP SP 指令后,栈顶的位置要改变. XCHG(eXCHanG)交换指令: 将两操作数值交换. XCHG OPR1, OPR2 //Byte/Word 执行操作: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp 1.必须有一个操作数是在寄存器中 2.不能与段寄存器交换数据 3.存储器与存储器之间不能交换数据. XLAT(TRANSLATE)换码指令: 把一种代码转换为另一种代码. XLAT (OPR 可选) //Byte 执行操作: AL=(BX+AL) 指令执行时只使用预先已存入BX中的表格首地址,执行后,AL中内容则是所要转换的代码. LEA(Load Effective Address) 有效地址传送寄存器指令 LEA REG , SRC //指令把源操作数SRC的有效地址送到指定的寄存器中. 执行操作: REG = EAsrc 注: SRC只能是各种寻址方式的存储器操作数,REG只能是16位寄存器 MOV BX , OFFSET OPER_ONE 等价于LEA BX , OPER_ONE MOV SP , [BX] //将BX间接寻址的相继的二个存储单元的内容送入SP中 LEA SP , [BX] //将BX的内容作为存储器有效地址送入SP中 LDS(Load DS with pointer)指针送寄存器和DS指令 LDS REG , SRC //常指定SI寄存器。 执行操作: REG=(SRC), DS=(SRC+2) //将SRC指出的前二个存储单元的内容送入指令中指定的寄存器中,后二个存储单元送入DS段寄存器中。

汇编语言试题及答案

一,单项选择题(每小题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.执行如下程序:()

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A ) A.20640H B.2063EH C.2063FH D.21900H 2.使用DOS功能调用时,子程序编号应放在( B ) A.AL B.AH C.AX D.任意指定 3.没有 ..语法错误的输出指令是( B ) P76 A.OUT AX,30H B.OUT DX,AL C.OUT AL,DX D.OUT 30H,AH 4.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是( B ) A.MOV AX,89 B.MOV AX,0809H C.MOV AX,89H D.MOV AX,0809 5.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是( B ) P117 A.4321H B.0FFFFH C.8000H D.0001H 6.设CL=05H,要获得CL=0AH,可选用的指令是( A) A.XOR CL,0FH B.NOT CL C.OR CL,0AH D.AND CL,0FH 7.假设执行ADD指令后AL=8CH,再执行DAA指令,AL中的值是( A ) A.92H B.0104H C.74H D.8CH 8.MOV AL,79H ADD AL,B1H 上面指令执行后,设置的标志位CF和ZF的值是( D ) A.CF=0,ZF=1 B.CF=l,ZF=1 C.CF=0,ZF=0 D.CF=1,ZF=0 9.TEST DL,55H P123 JZ NEXT NEXT:…… … 上述程序段,执行JZ指令时能产生转移的情况是( D ) A.DL>55H B.DL<55H C.DL=55H D.DL中第0、2、4、6位均为0 10.假设AL=28H, 执行ROL AL,1 指令之后的情况是( D ) P125 A.AL=14H, CF=1 B.AL=50H, CF=1 C.AL=14H, CF=0 D.AL=50H, CF=0 11. 98的BCD码是(B) A)10011001 B) 10011000 C) 10011010 D) 10001010 12. –0110110 的补码是(A) A) 11001010 B) 11001001 C) 10110110 D) 00110110

汇编语言2008秋季期末考试复习题及参考答案

汇编语言2008秋季期末考试复习题及参考答案 一、填空 1. 十进制数369转换成二进制数为()2,转换成十六进制数为()16. 2. 计算机中的指令由()和(地址码)两部分组成。 3. 8086的地址总线有20根,寻址范围为()字节。 4. 下一条将要执行的指令的地址存放在寄存器()中。 5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。 6. 汇编语言源程序需经过()程序汇编,()程序连接才能生成可执行文件。 7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=() 8. REP指令前缀与()指令配合使用。 9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的()和()命令。 10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令();如果要求第0,1位变反,可使用指令() 11. 宏汇编适合于(),()的子功能段使用; 二、选择题 1. 设字长N=16,有符号数7AE9H的补码表示为( ) A.9EA7H B. 76C4H C. 8417H D. 7AE9H 2. 比较有符号数3260H与0B425H的大小关系为( ) A. 相等 B. 小于 C. 大于 D. 不能比较 3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( ) A.16 d x(DS)+(BX)+(DI)B.16d x(ES)+(BX)+(DI) C.16d x(SS)+(BX)+(DI)D.16d x(CS)+(BX)+(DI) 4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( ) A.立即寻址B.直接寻址C.段内间接寻址D.寄存器寻址 5. 中断矢量表中存放的是( ) A. 中断类型号 B. 断点地址 C. 中断服务程序 D. 中断服务程序入口地址 6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( ) A. 段内的任何地方 B. 距该指令偏移地址为-32768~+32767的地方 C. 距该指令偏移地址为-128~+127的地方. D. 段外 7. 能定义ASCII码字符串的数据定义语句有( ) A. DB,DW,DD,DQ,DT B. DB,DW,DD C. DB, DW D. DB; 8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( ) A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1 C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=1 9. 比较指令CMP( ) A. 专用于有符号数比较 B. 专用于无符号数比较 C. 专用于串比较 D. 不区分比较的对象是有符号数还是无符号数 10. 数据传送指令对标志位的影响为( ) A.都不影响;B.都影响; C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响 三、判断题 ( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共50分) 1.CPU发出的访问存储器的地址是( A ) A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.使计算机执行某种操作的命令是( B ) A.伪指令 B.指令 C.标号 D.助记符 3.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=(A) A. 1400H B. 77F8H C. 0000H D. 0FFFFH 4.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( C)码。 A. BCD码 B.二进制码 C.ASCII码 D.十六进制码 5.下列关于8086CPU的工作原理的描述错误的是__C___。 A.汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。B.CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。 C.任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。 D.传送指令能够更改所有通用寄存器的内容。 6.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(C) A.12CFBH B.12B6BH C.12C5BH D.12BFEH 7. 16位结构的CPU 不一定具备的特性是(D)。 A. 运算器一次最多可以处理16位的数据 B. 寄存器的最大宽度为16位 C. 寄存器和运算器之间的通路为16位 D. 地址总线为16根 8. 下列指令的书写正确的是(C)。 A. push al B. mov cs:[0],ds:[10] C. pop si D. mov ds:[0],2 9.在DEBUG工具中,显示寄存器内容的命令是( D )。 A. G B. D C. T D. R 10. 能够将ax中的内容送到内存0000:0200H处的指令序列是(D)。

相关主题
文本预览
相关文档 最新文档