微机原理编程题.doc_第1页
微机原理编程题.doc_第2页
微机原理编程题.doc_第3页
微机原理编程题.doc_第4页
微机原理编程题.doc_第5页
已阅读5页,还剩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,4CH 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: 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 JMP 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,BUF 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:DATASTART: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 SEGMENTASSUME 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 ?MINUS 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单元开始,存放两个各为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 ADC 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论