微机原理编程题

上传人:壹****1 文档编号:485315984 上传时间:2023-07-06 格式:DOC 页数:6 大小:29.01KB
返回 下载 相关 举报
微机原理编程题_第1页
第1页 / 共6页
微机原理编程题_第2页
第2页 / 共6页
微机原理编程题_第3页
第3页 / 共6页
微机原理编程题_第4页
第4页 / 共6页
微机原理编程题_第5页
第5页 / 共6页
点击查看更多>>
资源描述

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

1、微机原理编程题1. 分支程序设计.编写一段程序,已知BUF1单元中有一带符号字节数据X,BUF2中有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果存入RESULT 单元。Z=|X-Y|;DATA SEGMENTBUF1 DB 05HBUF2 DB 02HRESULT DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,BUF1 MOV BL,BUF2 SUB AL,BL JNC GREAT NEG ALGREAT:MOV RESULT,ALEXIT: MOV AH,4C

2、H INT 21H CODE ENDS END START .编写一段程序,已知BUF单元中有一无符号字节数据X,假设为8,根据以下函数关系编写程序求Y的值,结果存入RESULT 单元。Z=5X X=10;DATA SEGMENTBUF DB 8RESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,BUF CMP AL,10 JAE GRE MOV BL,AL ADD AL,AL ADD AL,AL ADD AL,BL JMP DONEGRE: SUB AL,5DONE:

3、 MOV RESULT,AL MOV AH,4CH INT 21H CODE ENDS END START.在内存单元BUF中存放一个带符号字节数据X,假定为-2,试根据以下函数关系编写程序求Y的值,结果存入RESULT 单元。Y=1 X0,0 X=0,-1 X0;DATA SEGMENTBUF DB -2RESULT DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,BUF CMP AL,0 JGE L1 MOV AL,-1 JMP L3L1:JZ L2 MOV AL,1 J

4、MP L3L2:MOV AL,0L3:MOV RESULT,AL MOV AH,4CH INT 21HCODE ENDS END 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,DATA MOV DS,AX MOV CX,COUNT-1 MOV AL,BU

5、F MOV MAX,AL MOV MIN,AL LEA SI,BUFAGAIN: MOV AL,SI+1CMP AL,MINJGE S1MOV MIN,ALS1:CMP AL,MAXJLE S2MOV MAX,ALS2: INC SI LOOP AGAIN MOV AH,4CH INT 21HCODE ENDS END START 3. 编写程序求1+2+3+N100时最大的N值,将N值送NUM单元中,同时将1+2+3+N的和送到SUM单元中。DATA SEGMENTNUM DB ?SUM DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTAR

6、T:MOV AX,DATA MOV DS,AX MOV AL,0 MOV BL,0AGAIN:INC BL ADD AL,BL CMP AL,100 JB AGAIN SUB AL,BL DEC BL MOV NUM,BL MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS END START 4. 统计字符,正数,负数,零的个数。若自STRING单元开始存放一个字符串,以$结尾,试编写程序,统计字符串的长度,并将结果存入COUNT单元。DATA SEGMENTSTRING DB abcdefg$COUNT DW ?DATA ENDSCODE SEGMENTASSU

7、ME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA SI,STRING MOV CX,0NEXT: MOV AL,SI CMP AL,$ JZ DONE INC CX INC SI JMP NEXTDONE: MOV COUNT,CX MOV AH,4CH INT 21H CODE ENDS END START .自BUF单元开始存放10个带符号字节数据,将其中的正数、负数和零选出来,并统计其个数,分别存入PLUS、MINUS和ZERO单元中。DATA SEGMENTBUF DB 5,-2,0,-1,4,0,-4,8,0,-7PLUS DB ?M

8、INUS DB ?ZERO DB ?DATA ENDSCODE SEGMENTASSUME CS:DATA,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,10AGAIN:MOV AL,BX INC BX AND AL,AL JS M1 JZ M2 INC PLUS JMP NEXTM1: INC MINUS JMP NEXTM2: INC ZERO JMP NEXTNEXT: LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END START 5. 求压缩BCD码的和。已知从BUF1和BUF2单元开始,

9、存放两个各为10个字节的BCD数,求这两个数的和,并将结果存入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 SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,10 LEA SI,BUF1 LEA DI,BUF2 LEA BX,BUF3AGAIN: MOV AL,SI AD

10、C AL,DI DAA MOV BX,AL INC SI INC DI INC BX LOOP AGAIN ADC AH,0 MOV BX,AH MOV AH,4CH INT 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,90H OUT DX,AL BG: MOV DX,P8255A ;将A口状态从C口输出 IN AL,DX MOV DX,P8255C OUT DX,AL JMP BGCODE ENDS END START

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

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

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