汇编语言程序设计自学指导书(5)

2018-12-25 22:36

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)=______(BL)=_______ 17.STRING DB ‘ABCDEFGHIJ'

MOV AH,01 ;从键盘输入字符1~9 INT 21H AND AL,0FH DEC AL XOR AH,AH

MOV BX,OFFSET STRING ADD BX,AX MOV BL,[BX]

MOV AH,02H ;显示输出 INT 21H :

21

试回答:(1)上述程序段的功能是什么?(2)如从键盘输入字符‘4',程序段有什么结果?

18. AND AL,AL JZ BRCH1 RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3 :

上述程序运行后,试回答:

(1)当(AL)=__________时,程序转向BRCH1 (2)当(AL)=__________时,程序转向BRCH2 (3)当(AL)=__________时,程序转向BRCH3 五、程序填空题

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? ┇

MON BX,OFFSET BUF

22

MOV CX,COUNT-1 MOV AL,[BX] LOP1:INC BX

_____________________ JAE NEXT

MOV AL,[BX] NEXT:DEC CX

_____________________ MOV MAX,AL

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

MOV AX,NUMW _____________ XOR DX,DX DIV BX MOV QUI,AX _____________

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

MOV BX,0FFSET STRING LOP:MOV DL,[BX] MOV AH,02H INT 21H

____________________ ____________________ JNE LOP

23

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

K1:________ DONE: 6.现有下列数据段: 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 ________ LOOP:MOVSB

________________ LOOP LOP 六、编制程序

24

1、编定程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。如字符是\,则转向YES程序段;如字符是\,则转向NO程序段;如是其他字符,则转向DOS功能调用,重新输入字符。(考生勿需写出源程序格式,只需写出与试题要求有关的指令序列)

(YES和NO分别是两程序段入口处的标号)

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

DATA SEGMENT

BUF1 DW-56,24,54,-1,89,-8…… BUF2 DW45,-23,124,345,-265,…… SUM DW10DUP(0) DATA ENDS

3.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。

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

5.编程序段计算SUM=∑ai=a1+a2+...+a20,已知 a1......a20依次存放在以BUF为首址i=1的数据区,每个数据占两个字节,和数SUM也为两个字节。

(要求用循环结构编写,循环控制采用计数控制)。(此 题考生勿需书写源程序格式,只需把试题要求的有关指令序列书写出来。)

6.设在DAT单元存放一个-9~+9的字节数据,在SQRTAB 数据区中存放了0~9的平方值,请用直接查表法编写一个 子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。并写出主程序的调用方式。 数据段如下:

DATA SEGMENT DAT DB XXH

SQRTAB DB 0,1,4,9,...81

25


汇编语言程序设计自学指导书(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湖南省高等教育自学考试考籍管理工作细则

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

马上注册会员

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