第一范文网 - 专业文章范例文档资料分享平台

微机原理及应用期末考试题

来源:用户分享 时间:2025/5/15 12:01:13 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

START: MOV AX,DATA MOV DS,AX

;将55H 依次放入BUFF 开始的4K 个单元 LEA SI,BUFF

MOV CX,1000H MOV AL,55H NTXT: MOV [SI],AL INC SI

LOOP NEXT

;取出与55H 比较,全对则ERR=0,否则ERR=FFH LEA DI,BUFF LEA SI,ERR MOV CX,1000H

NEXT1: MOV AL,[DI] INC DI

CMP AL,55H

JNZ ERROR;若有一个不同,即置ERR=FFH LOOP NEXT1 MOV AL,00H

MOV [SI],AL;全比较完无错,则置ERR=0 JMP EXIT

ERROR: MOV AL,0FFH MOV [SI],AL ;返回DOS

EXIT: MOV AH,4CH INT 21H CODE ENDS END START END

7.在上题中,如果发现有错时,要求在ERR 单元中存放出错的数据个数,则程序该如何修 改? 解答:

DATA SEGMENT

BUFF DB 1000H DUP(?) ERR DW ? DATA ENDS ;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

;将55H 依次放入BUFF 开始的4K 个单元 LEA SI,BUFF MOV CX,1000H MOV AL,55H

NTXT: MOV [SI],AL INC SI

LOOP NEXT

;取出与55H 比较LEA DI,BUFF LEA SI,ERR MOV DX,0000H MOV CX,1000H

NEXT1: MOV AL,[DI] INC DI

CMP AL,55H

JZ NEXT2;若相同,则比较下一个

INC DX;否则将放出错个数的DX 加1 NEXT2: LOOP NEXT1 MOV [SI],DX ;

EXIT: MOV AH,4CH INT 21H CODE ENDS END START END

8.试编写程序段,完成将数据区从0100H 开始的一串字节数据逐个从F0H 端口输出,已知

数据串以0AH 为结束符。 解答:

DATA SEGMENT ORG 0100H

DATA1 DB N DUP(?) DATA ENDS ;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

;将DATA1 数据串中的数据取出并从F0H 端口中输出 LEA SI,DATA1 MOV CX,N MOV BL,0AH

NTXT: MOV AL,[SI] CMP AL,BL JZ EXIT

OUT 0F0H,AL INC SI

LOOP NEXT ;返回DOS

EXIT: MOV AH,4CH INT 21H

CODE ENDS END START END

9.(24)内存中以FIRST 和SECOND 开始的单元中分别存放着两个4 位用压

缩BCD 码表示

的十进制数, 低位在前。编程序求这两个数的和,仍用压缩BCD 码表示, 并存到以THIRD 开始的单元。 解答:

DATA SEGMENT FIRST DW 3412H SECOND DW 7856H THIRD DB ?,?,? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,FIRST LEA DI,SECOND LEA BX,THIRD MOV CX,2 CLC

AGAIN: MOV AL,BYTE PTR[SI] MOV DL,BYTE PTR[DI] ADC AL,DL DAA

MOV BYTE PTR[BX],AL INC SI INC DI INC BX

LOOP AGAIN JC AA

MOV BYTE PTR[BX],0 JMP EXIT

AA: MOV BYTE PTR[BX],1 EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

10.(27)设字变量单元A、B、C 存放有三个数,若三个数都不为零,则求三个数的和,存

放在D 中;若有一个为零,则将其余两个也清零,试编写程序。 解答:

DATA SEGMENT A DB ? B DB ?

C DB ? D DW ? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,A LEA DI,D MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL LEA SI,B MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL LEA SI,C MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL MOV [DI],DX JMP EXIT

ZERO: MOV AL,0 MOV A,AL MOV B,AL MOV C,AL ;

EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

11.(16)试编程序,统计由TABLE 开始的128 个单元中所存放的字符“A”的个数,并将结

果存放在DX 中。 解答:

DATA SEGMENT

TABLE DB X1,X2,...X128 DATA ENDS ;

STACK SEGMENT STACK ENDS

搜索更多关于: 微机原理及应用期末考试题 的文档
微机原理及应用期末考试题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0ooqk4pkp948fsc2ak7d_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top