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

2018-11-27 16:54

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

22、下述程序段完成计算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

23、如下程序应用冒泡法对一个无符号数组排序(由小到大排序),请完成该程序。

(注:为该程序分配100字的堆栈存储空间。) CXTK SSEG SEGMENT STACK

DW 100 DUP (?) SSEG ENDS DSEG SEGMENT

SWAP DB ?

ARRAY DW 32760, 127, 0, 65000, 230, 100 DSEG ENDS CSEG SEGMENT

ASSUME CS∶CSEG,DS∶DSEG,SS∶SSEG START: MOV AX,DSEG MOV DS,AX SORT: MOV CX,5

MOV SI,0 MOV SWAP,0

INNER: MOV AX,ARRAY[SI] CMP AX,ARRAY[SI+2] JBE NOSWAP

XCHG AX,ARRAY[SI+2]

MOV ARRAY[SI],AX MOV SWAP,1

NOSWAP: ADD SI,2

36

LOOP INNER

CMP SWAP,1 JNZ SORT MOV AH,4CH INT 21H CSEG ENDS

END START

第7章:子程序设计

1、主程序和所调用的子程序在同一代码段中,子程序的属性应定义为( C )。 DX

A.TYPE B.WORD C.NEAR D.FAR 2、 MOV AL,38H MOV BL,49H CALL SUBO INC AL DEC CL ┇

SUBO PROC ADD AL,BL MOV CL,AL DAA RET

SUBO ENDP

上述程序段运行后,AL=________88H _____________,CL=________80H __________。 CXFX

3、FACT PROC PUSH DX MOV DX,AX CMP AX,0 JZ DONE DEC AX CALL FACT MUL DX POP DX RET DONE:MOV AX,1 POP DX RET FACT ENDP

若执行以上子程序前,(AX)=5,则子程序完成的功能是: 求5!(或求5的阶乘) ,执行该子程序后(AX)= 120 。 CXFX

4、在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。(占内存空间大,但速度快)。 DX

37

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

数据段如下: DATA SEGMENT DAT DB XXH

SQRTAB DB 0,1,4,9,...81 SQR DB? DATA ENDS 答:

DATA SEGMENT DAT DB XXH

SQRTAB DB 0,1,4,9,?,81 SQR DB? DATA EMDS

STACL1 SEGMENT PARA STACK DW 20H DUP(?) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,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

6、设在内存单元SQTAB首址开始存放了0~15的平方数表。要求用直接查表法

38

编一程序,求出A单元中给定数(<=15=的平方值送B单元保存。 BC

答: DATA SEGMENT

SQTAB DB 0,1,4,9,16,25,36,49,64,81 DB 100,121,144,169,196,225 A DB 12 B DB? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START PROC FAR PUSH DX XOR AX,AX PUSH AX

MOV AX,DATA MOV DS,AX

MOV BX,OFFSET SQTAB MOV AL,A XLAT

MOV B,AL RET

START ENDP CODE ENDS END START

7、FUNCTION MACRO P1,P2,P3 MOV AX,P1 P2 P3 ENDM 请回答下列问题:

⑴上面程序段中,MACRO和ENDM是一对伪指令,在 宏 定义中,它们成对出现。

⑵通过调用语句FUNCTION 100,SUB,AX调用之后,AX寄存器中的内容为 99 。 CXFX

39


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

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

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

马上注册会员

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