微机原理编程题集合

上传人:cn****1 文档编号:508495747 上传时间:2023-08-28 格式:DOCX 页数:23 大小:26.84KB
返回 下载 相关 举报
微机原理编程题集合_第1页
第1页 / 共23页
微机原理编程题集合_第2页
第2页 / 共23页
微机原理编程题集合_第3页
第3页 / 共23页
微机原理编程题集合_第4页
第4页 / 共23页
微机原理编程题集合_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《微机原理编程题集合》由会员分享,可在线阅读,更多相关《微机原理编程题集合(23页珍藏版)》请在金锄头文库上搜索。

1、微机原理编程题 编写一段程序,已知BUF1单元中有一带符号字节数据X, BUF2中 有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果 存入 RESULT 单元。Z=|X-Y|;DATA SEGMENTBUF1 DB 05HBUF2 DB 02HRESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUF1MOV BL,BUF2SUB AL,BLJNC GREATNEG ALGREAT:MOV RESULT,ALEXIT: MOV AH,4CHINT 21HCODE

2、 ENDSEND START .编写一段程序,已知BUF单元中有一无符号字节数据X,假设为8, 根据以下函数关系编写程序求Y的值,结果存入RESULT单元。Z=5X X=10;DATA SEGMENTBUF DB 8RESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,10JAE GREMOV BL,ALADD AL,ALADD AL,ALADD AL,BLJMP DONEGRE: SUB AL,5DONE: MOV RESULT,ALMOV AH,4CH

3、INT 21HCODE ENDSEND START 在内存单元BUF中存放一个带符号字节数据X,假定为-2,试根 据以下函数关系编写程序求Y的值,结果存入RESULT单元。二1 X0,0 X=0,-1 X0;DATA SEGMENTBUF DB -2RESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,0JGE L1MOV AL,-1JMP L3L1:JZ L2MOV AL,1JMP L3L2:MOV AL,0L3:MOV RESULT,ALMOV AH,

4、4CHINT 21HCODE ENDSEND START1. N个数中求最大值、最小值假定N=10,已知原始数据存放在BUF 开始的内存单元中,将结果存入MAX,MIN内存单元中。DATA SEGMENTBUF DB 3,5,7,8,5,3,9,7,13,1COUNT EQU $-BUFMAX DB ?MIN DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,COUNT-1MOV AL,BUFMOV MAX,ALMOV MIN,ALLEA SI,BUFAGAIN:MOV AL,SI+1

5、CMP AL,MINJGE S1MOV MIN,ALS1: CMP AL,MAXJLE S2MOV MAX,ALS2: INC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START2. 编写程序求1+2+3+N100时最大的N值,将N值送NUM单元中,同时将1+2+3+N的和送到SUM单元中。DATA SEGMENTNUM DB ?SUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,0MOV BL,0AGAIN:INC BLADD AL,

6、BLCMP AL,100JB AGAINSUB AL,BLDEC BLMOV NUM,BLMOV SUM,ALMOV AH,4CHINT 21HCODE ENDSEND START3. 统计字符,正数,负数,零的个数。若自 STRING 单元开始存放一个字符串,以$结尾,试编写程序统计字符串的长度,并将结果存入COUNT单元。DATA SEGMENTSTRING DB abcdefg$COUNT DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,STRINGMOV CX,0NEXT:

7、MOV AL,SICMP AL,$JZ DONEINC CXINC SIJMP NEXTDONE: MOV COUNT,CXMOV AH,4CHINT 21HCODE ENDSEND START自BUF单元开始存放10个带符号字节数据,将其中的正数、负数 和零选出来,并统计其个数,分别存入 PLUS、MINUS 和 ZERO 单元中。DATA SEGMENTBUF DB 5,-2,0,-1,4,0,-4,8,0,-7PLUS DB ?MINUS DB ?ZERO DB ?DATA ENDSCODE SEGMENTASSUME CS:DATA,DS:DATASTART:MOV AX,DATAMO

8、V DS,AXLEA SI,BUFMOV CX,10AGAIN:MOV AL,BXINC BXAND AL,ALJS M1JZ M2INC PLUSJMP NEXTM1: INC MINUSJMP NEXTM2: INC ZEROJMP NEXTNEXT: LOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START4. 求压缩 BCD 码的和。已知从 BUF1 和 BUF2 单元开始,存放两个各 为 10 个字节的 BCD 数,求这两个数的和,并将结果存入 BUF3 单元中。 DATA SEGMENTBUF1 DB 01H,01H,01H,01H,01H,01H

9、,01H,01H,01H,01HBUF2 DB 03H,03H,03H,03H,03H,03H,03H,03H,03H,03HBUF3 DB 11 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,10LEA SI,BUF1LEA DI,BUF2LEA BX,BUF3AGAIN:MOV AL,SIADC AL,DIDAAMOV BX,ALINC SIINC DIINC BXLOOP AGAINADC AH,0MOV BX,AHMOV AH,4CHINT 21HCODE ENDSEN

10、D START6. 8255 编程题:(课后实验)8255 工作于方式 0,此时 PA、PB、PC 均为可独立输入/输出的并行口。8255的各寄存器对应的口地址为:PA 口 : 200H, PB 口 : 202H,PC 口: 204H,控制口: 206H。要求8255 工作于方式0, PA 口设置为 输入,PC 口设置为输出。DATASEGMENTC8255EQU206HP8255AEQU200HP8255CEQU204HDATAENDSCODESEGMENTASSUMECS:CODEDS:DATASTART:MOVDX,C8255MOVAL,90HOUTDX,ALBG:MOVDX,P8255

11、AINAL,DXMOVDX,P8255COUTDX,ALJMPBGCODEENDSENDSTART;设置为A口输入,C口输出;将人口状态从C口输出7. 编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换 成大写字母在屏幕上显示出来。DATA SEGMENTBUF DB 0DH,0AH,PLEASE INPUT A CHAR:$DATA ENDSSTACK SEGMENTDB 20 DUP(?)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE ,SS:STACKBEGIN: MOV AX,DATAMOV DS,AXLEA DX,BUF ;9 号 调

12、 用 显 示PLEASE INPUT A CHAR:MOV AH,9 INT 21HMOV AH,1 1 号调用,从键盘接收 1 字 符INT 21HCMP AL, 61H /41H;若比 “a” /A 小转 PENDJB PENDCMP AL, 7AH /5BH ;若比 “z” /Z大转 PENDJA PEND ;ADD/SUB AL, 20H; 如在 “a” 与 “z”之间则减去20变为大写字符MOV DL,ALMOV AH,2 ;2 号功能调用显示一个字符INT 21HPEND:MOV AH,4CH 程 序 结 束 运 行 , 返 回DOSINT 21HCODEENDSEND BEGIN

13、8. 已知数据段中从偏移量DATA开始存放有10个带符号的字数据,编 写程序,找出其中最大的数放入MAX中。DA TA SEGMENTDATA DB 10 DUP(?)MAX DB ?DA ENDSCODE SEGMENTASSUME CS:CODE,DS:DASTART:MOV AX,DAMOVDS,AXMOVCX,9LEABX,DATA+1MOVAL,DATAPP :CMP ALBXJGE NEXTMOV AL,BXNEXT: INC BX LOOP PPMOV MAX, ALMOV AH,4CHINT 21HCODE ENDSEND START9编写程序,不用乘法计算C=A/4BX10,用移位运算。DATA SEGMENTA DB ?B DB ?C DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CL,2MOV BL,ASAR BL,CLMOV AL,BMOV CL,3SAL B,CLSAL AL,1ADD AL,BSUB BL,ALMOV C,BLMOV AH,4CHINT 21HCODE ENDSE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号