汇编 - 总练习(3)

2020-02-20 14:13

19. 执行如下程序段后,(AL)= ?

buf db 41H, 42H, 43H, 44H, 45H

LEA BX, BUF MOV AL, 3 XLAT

20. 以字变量BUF为首址的存储单元中存放了数量不超过100的有符号数;下列程序段统计了其中正数(含0)和负数的个数,并分别存放到BL,BH中。 DATA SEGMENT

BUF DW -1,10,5,0FF12H,8789H,COUNT EQU DATA ENDS

??

AND BX,

LEA SI,BUF MOV CX,COUNT

AA:CMP ,0 INC BL

BB:INC BH CC:ADD SI,2

??21、RADIX是一个将AX中的十六位无符号二进制数转换成由BX内容指定的不大于10进制的数的子程序。它将所求的各位数字的ASCII码按高位在前、低位在后的顺序存放在以DI为指针的字节存取区中。

RADIX PROC

PUSH CX PUSH DX MOV CXR1:

DIV BX PUSH DX INC CX CMP JNE R1

R2:

ADD AL MOV [DI] INC DI LOOP R2

POP CX RET RADIX ENDP

,0 ,30H ,AL ,0 22. 编写完整的程序:设在以BUF 为首址的字存储区中存储了多个有符号数,试编写一完整的程序,求出其中所有正数的和,存放到 P_SUM 字存储区中,并将其中所有的负数,依次存放到NEG_BUF为首址的字存储区中。

23. 分析思考

已知某次上机题为:从键盘输入一个字符,若为大写字母A则显示输出“ASSEMBLY LANGUAGE.”; 若为大写字母P则显示输出“PASCAL LANGUAGE.”; 若为大写字母Q则程序退出;若为其他键则显示输出“OTHERS.”。这三种信息在屏幕上应单独占一行。

某学生编写源程序后,用MASM(V6.)和LINK将源程序转换成可执行程序。执行后发现: (1) 当按下A时,屏幕上显示如下: A

ASSEMBLY LANGUAGE.OTHERS.

(2)接着按P时,上述第二行的内容又变成了: PASCAL LANGUAGE.E.OTHERS.P

该学生修改了数据段定义后就达到了题目的要求。请按实验报告的要求书写一份实验报告。并回答:对修改前的程序,如果完成上述(1)(2)操作之后,按下字母B ,屏幕上显示的信息是怎样的?

24 设一个程序由两个模块MAIN.ASM 和 SUBP.ASM组成。 MAIN.ASM 程序如下: .386

EXTRN CONVERT:NEAR

_________________________________ STACK SEGMENT USE16 STACK DB 200 DUP(0) STACK ENDS

DATA SEGMENT USE16 RESULT DB 200 DUP(0) TAB DB 'ABCDEFGHIJ' DATA ENDS

CODE SEGMENT USE16 PARA PUBLIC ‘CODE’ ASSUME CS:CODE, DS:DATA, SS:STACK BEGIN: MOV AX, DATA MOV DS, AX MOV BX, 0 LEA DI, RESULT NEXT: MOV AH, 1 INT 21H CMP AL, 0DH JE EXIT


汇编 - 总练习(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2019届四年级语文下册第七单元22宋庆龄故居的樟树教学反思2苏教

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

马上注册会员

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