1.汇编语言期末复习题(7)

2018-11-27 16:54

28、写一个把字符串中的大写字母改写为小写字母的子程序(近过程)。设字符串以0为结束标志。 BC

;子程序名:STRLWR ;功 能:把字符串中的所有大写字母改写为小写字母 ;入口参数:DS∶BX=存放改写所需字符串的缓冲区首地址 ;出口参数:无 STRLWR PROC PUSH AX

PUSH SI MOV SI,BX AGAIN: MOV AL,[SI] OR AL,AL

JZ OK CMP AL,’A’ JB NEXT CMP AL,’Z’

JA NEXT

OR AL,20H(或者ADD AL,30H) MOV [SI],AL NEXT: INC SI JMP AGAIN OK: POP SI

POP AX RET STRLWR ENDP 第6章:循环程序设计

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

2、循环指令LOOPNZ终止循环的条件是( CX=0,或ZF=1 )。 DX

3、检查BUF的内容是否为正偶数,如是正偶数,则0TAL。下面程序段正确的是( C )DX

A、MOV AL,BUF B、MOV AL,BUF JS K1 AND AL,11 SHR AL,1 JNZ K2 JNC K1 MOV AL,0 MOV AL,0 K2:?? K1:??

31

D、MOV AL,BUF C、MOV AL,BUF

JNP K4 TEST AL,81H

TEST AL,80H JNZ K3

JNZ K4 MOV AL,0

MOV AL,0 K3:??

K4:…… 4、下列描述中,执行循环的次数最多的情况是( A )。 DX A.MOV CX,0 B.MOV CX,1 LOP:LOOP LOP LOP:LOOP LOP C.MOV CX,0FFFFH D.MOV CX,256 LOP:LOOP LOP LOP:LOOP LOP 5、

DATA SEGMENT

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

LEA SI,S9 LEA,DI,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个字节存储单元内容是什么? CXFX S9 DB 1,0,3,2,5,4,7,6,9,8

6、实现将DX:AX中存放的32位数扩大四倍,正确的程序段是(③ )。 DX ① SHL AX,2 ROL DX,2 ② RCL AX,2 SHL DX,2 ③ MOV CX,2

LOP:SHL AX,1 RCL DX,1 LOOP LOP ④ SHL AX,1 SHL AX,1 RCL DX,1 RCL DX,1

7、在下列指令中, D 指令的执行会影响条件码中的CF位。 DX A.JMP NEXT B.JC NEXT C.INC BX D.SHL AX,1 8、下列指令执行时出错的是(A)。 DX

A.ADD BUF1,BUF2 B.JMP DWORD PTR DAT [BX] C.MOV AX,[BX+DI] NUM

32

D.TEST AL,08H

9、在下列指令的表示中,不正确的是(C)。 DX

A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 10、在进行二重循环程序设计时,下列描述正确的是(A)。 DX

A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外

D.内、外循环初值都应置内循环之外,外循环之内 11、条件转移指令JNE的测试条件为(ZF=0)。 DX 12、执行如下程序: MOV AX,0 MOV BX,1 MOV CX,100 A:ADD AX,BX INC BX LOOP A HLT

执行后(BX)= (101)。 DX 13、上题的程序执行后(AX)= (5050)。 DX 14、对于下列程序段:

AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN

也可用__ REP MOVSB __指令完成同样的功能。15、

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各字节中的数据。 CXFX ②保持程序功能情况下,程序中 可否改写为 123456789;不能更改

33

DX

16、程序段如下: CXFX

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

MOV CX,7 LEA S1,BLK1

NEXT: MOV AL,[SI] INC SI

TEST AL,81H LOOPZ NEXT MOV BL,[SI] :

请回答程序段运行后:(AL)=___5或0FBH__ (BL)=___14H或20______ 17、下面程序的功能是什么? CXFX STRING DB 100 DUP(?)

MOV AX,SEG STRING MOV DS,AX LEA SI,STRING MOV CX,100 LAB: MOV AL,[SI]

CMP AL,’a’ JB LAB1 CMP AL,’z’ JA LAB1 SUB AL,32 MOV [SI],A LAB1: INC SI

LOOP LAB

将STRING里的小写字母’a’-‘z’转成相应的大写字母’A’-‘Z’ 18、现有下列数据段: CXTK DATA SEGMENT

STR1 DB‘ABCDEFGHIJKL' COUNT EQU -STR1

BUF DB COUNT DUP(0) DATA ENDS

下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一字符送到BUF的第一个单元)。试把程序中所空缺的指令填上。

MOV SI,OFFSET BUF-1 MOV DI,OFFSET BUF MOV CX,COUNT

___CLD_或 STD_____ LOOP:MOVSB

34

______ SUB SI,2__或____ ADD DI,2__ LOOP LOP

19、下述程序段完成计算2~20之间的偶数的和,并存于AX中。试把空白处填上适当的指令。 CXTK

XOR AX,AX MOV BX,0

MOV CX,10或MOV CX,0AH CONT: ADD AX,BX

ADD BX,2 LOOP CONT

20、BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。 CXTK

MOV CX,32H LEA SI,BEG MOV DI,SI (1)

DON:MOV AL,[SI] (2) MOV [SI],AL (3) DEC DI LOOP DON HLT

答: (1) ADD DI, 99

(2) XCHG AL, [DI] (3) INC SI

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

DATA SEGMENT DA1 DW XXXX DATA ENDS 答:

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

35


1.汇编语言期末复习题(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学英语句型在低段教学中的渗透

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: