微机原理及接口技术习题解答(2)

2019-04-01 16:19

START:MOV AX,DATA MOV DS,AX MOV DL,0

LEA SI,BLOCK MOV CX,CN LP: MOV AL,[SI] TEST AL,80H JZ NEXT INC DL NEXT: INC SI LOOP LP

MOV COUNT,DL MOV AH,4CH INT 21H CODE ENDS

END START

3.17 从键盘输入一个大写英文字母,将其转换为小写字母并显示出来,要求输入其它字符时,能够有出错提示信息。

【解答】

DATA SEGMENT

MESS DB 'INPUP ERROR!',0AH,0DH,'$' DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AH,01H INT 21H

CMP AL,'A' JB ERR CMP AL,'Z' JA ERR

ADD AL,20H MOV DL,AL MOV AH,02H INT 21H JMP EXIT

ERR: MOV DX,OFFSET MESS MOV AH,09H INT 21H

EXIT: MOV AH,02H INT 21H CODE ENDS

END START

3.18 比较宏指令与子程序,它们有何异同?它们的本质区别是什么?

【解答】宏与子程序两者的相同之处在于都是用来处理在编程过程中多次使用的功能程序的方法,两者均能简化源程序。

两者的区别在于:

(1)宏调用通过宏指令名进行,汇编时,随时调用随时展开,并不简化目标程序;子程序调用是在程序执行期间执行CALL指令,代码只在目标程序中出现一次,所以也简化了目标程序。

(2)宏调用时的参数由汇编程序通过实参转换成形参的方式传递,具有很大的灵活性。宏定义中允许设置若干形式参数代替数值、指令、寄存器、各种字符串等。宏调用时可用程

序所需要的实际参数来替换,使编程人员感觉非常灵活;而子程序的参数传递要麻烦得多。

(3)宏调用在汇编时完成,不需要额外的时间开销;子程序调用和子程序返回都需要时间,还涉及堆栈操作。

故若优先考虑速度,用宏指令;若优先考虑存储空间,用子程序。 3.19 试定义将一位十六进制数转换为ASCII码的宏指令。 【解答】

HEXTOA MACRO

AND AL,0FH CMP AL,9 JNA HEXTOA1 ADD AL,7H

HEXTOA1:ADD AL,30H ENDM

3.20 试定义一个字符串搜索宏指令,要求文本首地址和字符串首地址用形式参数。 【解答】

SCANC MACRO ADDRESS,CHAR1 MOV SI,ADDRESS MOV AL,[SI] MOV DI,CHAR1 REPNZ SCASB ENDM


微机原理及接口技术习题解答(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:芝麻山中学常态化“比教学”评价量表 - 图文

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

马上注册会员

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