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

微机原理与接口试题及解答40页

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

6.编写一个中断程序,实现人机对话。要求执行程序时,显示‘WHAT IS YOUR NAME?’,在回车换行后,接收键盘输入信息,并显示。(提示:使用09H和0AH功能调用)

DATA SEGMENT BUF DB 81 DB ?

DB 81 DUP ( ? )

MESG DB ‘WHAT IS YOUR NAME?’, 0AH, 0DH DB $ DATA ENDS

STACK SEGMENT PARA STACK ‘STACK’

DB 100 DUP ( ? ) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE, DS: DATA, SS: STACK

START PROC FAR PUSH DS MOV AX, 0 PUSH AX

MOV AX, DATA MOV DS, AX

DISP: MOV DX,OFFSET MESG

MOV AH,09H INT 21H

KEYBI: MOV DX, OFFSET BUF

MOV AX, 0AH INT 21H

LF: MOV DL, 0AH

MOV AH,02H INT 21H

DISTR:MOV DX,OFFSET BUF+2 MOV AH, 09H INT 21H RET

START ENDP CODE ENDS END START

7.编写程序找出BUF数据区中50个带符号数的最大值和最小值,并分别存入MAX和MIN单元。 参考程序如下:

DATA SEGMENT

BUF DB 50 DUP(?) MAX DB ? MIN DB ?

CONT EQU $-BUF DATA ENDS

STACK SEGMENT

TP DB 100 DUP(?) STACK ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK MAIN PROC FAR

START: PUSH DS SUB AX,AX PUSH AX

MOV DS,AX LEA BX,BUF

17

MOV CX,CONT-1 MOV AL,[BX] MOV AH,[BX+1] INC BX

CMP AH,AL JGE LOP1

XCHG AH,AL LOP1: INC BX

CMP AH,[BX] JGE LIS

XCHG AH,[BX] JMP LOP2

LIS: CMP AL,[BX] JLE LOP2

XCHG AL,[BX] LOP2: LOOP LOP1 MOV MAX,AH MOV MIN,AL RET MAIN ENDP CODE ENDS

END START

8.试编程实现从键盘接收N个(N≤50)8位二进制数,统计偶数的个数及偶数之和,并将统计的个数以十进制方式显示在屏幕上。 DATA SEGMENT

KEY1 DB 51 KEY2 DB ?

KEY3 DB 51 DUP(?) DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE

MAIN: MOV AX,DATA MOV DS,AX

MOV SI,OFFSET KEY1 MOV AH,0AH INT 21H

LEA BX,KEY3 XOR DX,DX MOV CL,KEY2 MOV CH,0

LP0: MOV AL,[SI] TEST AL,01H JNZ LP

ADD BL,AL MOV AL,BH ADD AL,1 DAA

MOV BH,AL LP: INC SI LOOP LP0 SHL AL,4 ADD AL,30H MOV DL,AL MOV AH,01 INT 21H

AND BH,0FH MOV DL,30H

18

ADD DL,BH MOV AH,1 INT 21H

MOV AH,4CH INT 21H CODE ENDS END MAIN 9.以STRING起始的字符串的最大长度为80个字符,字符串的结束用字符$表示。编写程序在该字符串中查找是否有空格符(ASCII码为20H),若有就将第一个空格字符串中的位置(00H~4FH)存入POST单元;若无空格则将-1存入POST。

LEA BX,STRING MOV CX,80

NEXT1: MOV AL,[BX] CMP AL,’$’ JZ DONE

CMP AL,20H JZ NEXT INC BX

LOOP NEXT1 JMP DONE

NEXT: MOV POST,BL JMP END1

DONE: MOV POST,0FFH END1: ?? 10.BUFFER字节数组中存有一组无序列字节数数据,列的长度表示在BUFFER的第一个字节中KEY中为一个字节数据,编写程序在BUFFER中查找有无KEY,若有就结束,若没有就将KEY加入到BUFFER中去,并修改列的长度。

LEA SI,BUFFER MOV CL,[SI] INC SI

XOR CH,CH

NEXT: MOV AL,[SI] CMP AL,KEY JZ DONE INC SI

LOOP NEXT MOV AL,KEY MOV [SI],AL

INC BYTE PTR BUFFER DONE: ???。

11.利用移位及数据循环指令完成将DH AL中的16位二进制乘以8的运算,结果仍存入DH AL中。 MOV CX,3

NEXT: SHL AL,1 RCL DH,1 LOOP NEXT MOV AH,4CH INT 21H

12.分别从键盘上接收两长度相等的组数A和B,试完成两数组的求和任务,将结果存放在数组C中,并显示在屏幕上。 DATA SEGMENT A0 DB 80 A1 DB ?

A DB 80 DUP(?) B0 DB 80 B1 DB ?

19

B DB 80 DUP(?) C DB 80 DUP(?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA MAIN: MOV AX,DATA MOV DS,AX LEA DX,A0 MOV AH,0AH INT 21H

LEA DX,B0 MOV AH,0AH INT 21H CLC

LEA SI,A LEA BX,B LEA DI,C MOV CL,A1 XOR CH,CH NEXT: MOV AL,[SI] ADC AL,[BX] MOV [DI],AL INC BX INC SI INC DI

LOOP NEXT MOV CL,A1 XOR CH,CH LEA DI,C

N0: MOV DL,[DI] SHL DL,4 ADD DL,30H CMP DL,39H JNC N1

ADD DL,07H

N1: MOV AH,01H INT 21H

AND [DI],0FH MOV DL,[DI] ADD DL,30H CMP DL,39H JNC N2

ADD DL,07H N2: MOV AH,01H INT 21H INC DI LOOP N0

MOV AH,4CH INT 21H CODE ENDS END MAIN

13.编写程序,将键盘输入的小写字母用大写字母显示出来。 AGAIN: MOV AH,2

INT 21H

AND AL,11011111B MOV DL,AL MOV AH,1

20

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