微机原理与接口技术(陈宁)课后答案(8)

来源:网络收集 时间:2025-09-25 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

START:

PUSH

MOV

NEWCHAR: MOV DS MOV PUSH AX BX,0 AH,1 INT SUB JL CMP AX,0

21H

AL,30H EXIT AL,10 ADD_TO: MOV EXIT: BINIDEC: CALL CALL MOV CALL MOV CALL RET

MAIN DEC_DIV MOV MOV DIV MOV MOV ADD MOV INT JL ADD_TO SUB AL,27H CMP AL,0AH JL EXIT CMP AL,10H JGE EXIT CL,4 SHL BX,CL MOV AH,0 ADD BX,AX JMP NEWCHAR TEST BX,8000H JZ BINIDEC NEG BX

MOV CX,10000D CALL DEC_DIV MOV CX,1000D DEC_DIV MOV

CX,100D

DEC_DIV CX,10D DEC_DIV CX,1

DEC_DIV ENDP

PROC NEAR AX,BX DX,0 CX BX,DX DL,AL DL,30H AH,2

21H

RET DEV_DIV ENDP

CODE ENDS END START

16、试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 【解】

CODE SEGMENT

ASSUME CS:CODE

START: MOV AH,1 INT 21H CMP AL,61H JL EXIT CMP AL,7AH JG EXIT AND AL,5FH MOV DL,AL MOV AH,02H INT 21H JMP START EXIT: MOV AH,4CH INT 21H

CODE ENDS

END START

17、编写程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示“MATCH”,若不同则显示“NO MATCH”。 【解】

DATA SEGMENT

STRINGl DB ‘Move the cursor backward.’ STRING2 DB ‘Move the cursor backward.’ MESS1 DB ‘Match.’,13,10,‘$’ MESS2 DB ‘NO Match!’,13,10,‘$’ DATA ENDS PROG SEGMENT

ASSUME CS:PROG,DS:DATA,ES:DATA

START: MOV AX,DATA

MOV DS,AX MOV ES,AX LEA SI,STRINGl LEA DI,STRING2 CLD MOV CX,25 REPZ CMPSB JZ MATCH

LEA DX,MESS2 JMP SHORT DISP

MATCH: LEA DX,MESS1 DISP: MOV AH,09

INT 21H MOV AH,4CH INT 21H PROG ENDS

END START

18、试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息: (1)如果3个数都不相等则显示0;

(2)如果3个数中有2个数相等则显示2; (3)如果3个数都相等则显示3。 【解】 DATA SEGMENT MAXLEN DB 3 ACTLEN DB ? ARY DB 3 DUP(?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MAXLEN MOV AH,0AH INT 21H MOV BX,0 MOV CX,3 DO: SUB BYTE PTR ARY[BX],30H CMP BYTE PTR ARY[BX],10 JL NEXT SUB BYTE PTR ARY[BX],27H NEXT: INC BX LOOP DO MOV AL,ARY CMP AL,ARY+1 JZ NEXT1 CMP AL,ARY+2 JZ NEXT2 MOV DL,30H JMP DISP NEXT1: MOV AL,ARY+1 CMP AL,ARY+2 JNZ NEXT2

MOV DL,33H JMP DISP NEXT2: MOV DL,32H DISP: MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 19、已知整数变量A和B,试编写完成下述操作的程序:

(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中; (2)若两个数均为奇数,则两数分别加1,并存回原变量; (3)若两个数均为偶数,则两变量不变。 【解】 MOV AL,A MOV AH,B XOR AH,AL TEST AH,01H JZ SHORT NEXT TEST AL,01H JZ SHORT NEXT1 JMP SHORT EXIT NEXT1: MOV AH,B MOV B,AL MOV A,AH JMP SHORT EXIT NEXT: TEST AL,01H JZ SHORT EXIT INC BYTE PTR A INC BYTE PTR B EXIT: ??

20、把0~10010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1)。 【解】

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DI,LENGTH RANK MOV BX,0 NEXT: MOV AX,GRAD[BX]

MOV DX,0 MOV CX,LENGTH RANK MOV SI,OFFSET GRAD NEXT1: CMP AX,[SI] JA NEXT2 INC DX NEXT2: ADD SI,2 LOOP NEXT1 MOV RANK[BX],DX ADD BX,2 DEC DI CMP DI,0 JNZ NEXT MOV AH,4CH INT 21H CODE ENDS END START

21、试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。 【解】 MOV SI,0 MOV DI,0 FIRST: IN AL,24H TEST AL,08H JNZ EXIT TEST AL,01H JZ SECOND IN AL,26H MOV BUFF1[SI],AL INC SI SECOND:IN AL,36H TEST AL,08H JNZ EXIT TEST AL,01H JZ FIRST IN AL,38H MOV BUFF2[DI] INC DI JMP FIRST EXIT: ??

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库微机原理与接口技术(陈宁)课后答案(8)在线全文阅读。

微机原理与接口技术(陈宁)课后答案(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/410511.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219