收藏 分享(赏)

微机原理编程题.doc

上传人:精品资料 文档编号:9915505 上传时间:2019-09-18 格式:DOC 页数:6 大小:80KB
下载 相关 举报
微机原理编程题.doc_第1页
第1页 / 共6页
微机原理编程题.doc_第2页
第2页 / 共6页
微机原理编程题.doc_第3页
第3页 / 共6页
微机原理编程题.doc_第4页
第4页 / 共6页
微机原理编程题.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、微机原理编程题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,

2、4CHINT 21HCODE 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: MO

3、V RESULT,ALMOV AH,4CHINT 21HCODE ENDS END START.在内存单元 BUF 中存放一个带符号字节数据 X,假定为-2,试根据以下函数关系编写程序求 Y 的值,结果存入 RESULT 单元。Y=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:MO

4、V AL,0L3:MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START 2. 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-1 MOV AL,BUFMOV MAX,A

5、LMOV MIN,ALLEA SI,BUFAGAIN:MOV AL,SI+1CMP AL,MINJGE S1MOV MIN,ALS1: CMP AL,MAXJLE S2MOV MAX,ALS2: INC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START 3. 编写程序求 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

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

7、TASTART:MOV AX,DATAMOV DS,AXLEA SI,STRINGMOV CX,0NEXT: 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 ?DA

8、TA ENDSCODE SEGMENTASSUME CS:DATA,DS:DATASTART:MOV AX,DATAMOV 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 21H CODE ENDSEND START 5. 求压缩 BCD 码的和。已知从 BUF1 和 BUF2 单元开始,存放两个各为 10 个字节的 BCD 数,求这两个数的和

9、,并将结果存入 BUF3 单元中。DATA SEGMENTBUF1 DB 01H,01H,01H,01H,01H,01H,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 D

10、IINC BXLOOP AGAINADC AH,0MOV BX,AHMOV AH,4CHINT 21HCODE ENDSEND START6. 8255 编程题:(课后实验)8255 工作于方式 0,此时 PA、PB 、PC 均为 可独立输入/ 输出的并行口。8255 的各寄存器对应的口地址为:PA 口:200H, PB 口:202H ,PC 口:204H,控制口:206H。要求 8255 工作于方式 0,PA 口设置为输入,PC 口设置为输出。DATA SEGMENTC8255 EQU 206HP8255A EQU 200HP8255C EQU 204HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV DX,C8255 ;设置为A口输入,C口输出MOV AL,90HOUT DX,ALBG: MOV DX,P8255A ;将A口状态从 C口输出IN AL,DXMOV DX,P8255COUT DX,ALJMP BGCODE ENDSEND START

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报