




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理编程题1.分支程序设计1.编写一段程序,已知 BUF1 单元中有一带符号字节数据 X, BUF2 中有一带符号 字节数据丫,根据以下函数关系编写程序求 Z 的值,结果存入 RESULT 单元。Z=|X-Y| ;DATASEGMENTBUF1 DB05HBUF2 DB02HRESULTDBDATAENDSCODESEGMENTASSUMCES:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AXMOVAL,BUF1MOVBL,BUF2SUBAL,BLJNC GREATNEGALGREATM: OVRESULT,ALEXIT: MOVAH,4CHINT 21HCODE
2、ENDSENDSTART2编写一段程序,已知 BUF 单元中有一无符号字节数据 X,假设为 8,根据以下函数关系编写程序求丫的值,结果存入 RESULT 单元。Z=5X X=10;DATASEGMENTBUF DB8RESULTDBDATAENDSCODESEGMENTASSUMCES:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AXMOVAL,BUF CMPAL,10JAE GREMOVBL,ALADDAL,ALADDAL,ALADDAL,BLJMP DONEGRE: SUBAL,5DONE:MOVRESULT,ALMOVAH,4CHINT 21HCODEENDSE
3、NDSTART3.在内存单元 BUF 中存放一个带符号字节数据 X,假定为-2,试根据以下函数 关系编写程序求丫的值,结果存入 RESULT 单元。丫=1 X0,0 X=0,-1 X0;DATASEGMENTBUF DB-2RESULTDBDATAENDSCODESEGMENTASSUMCES:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,BUFCMPAL,0JGE L1MOVAL, -1JMP L3L1:JZ L2MOVAL,1JMP L3L2: MOVAL, 0L3:MOVRESULT,ALMOVAH,4CHINT 21HCODEENDSENDSTAR
4、T2. N 个数中求最大值、最小值.假定 N=10,已知原始数据存放在 BUF 开始的内存 单元中,将结果存入 MAX MIN 内存单元中。DATASEGMENTBUF DB3,5,7,8,5,3,9,7,13,1COUNTEQU$-BUFMAXDBMIN DBDATAENDSCODESEGMENTASSUMCES:CODE,DS:DATA START:MOVAX,DATAMOVDS,AXMOVCX,COUN-T1MOVAL,BUFMOVMAX,ALMOVMIN,ALLEASI,BUFAGAIN:MOVAL,SI+1CMPAL,MINJGE S1MOVMIN,ALS1: CMPAL,MAXJL
5、E S2MOVMAX,ALS2: INC SILOOP AGAINMOVAH,4CHINT 21HCODEENDSENDSTART 3.编写程序求 1+2+3+NV100 时最大的 N 值,将 N 值送 NUM单元中,同时将 1+2+3+N 的和送到 SUM 单元中。DATASEGMENTNUMDBSUMDBDATAENDSCODESEGMENTASSUMCES:CODE,DS:DATASTART: M OVAX,DATAMOVDS,AXMOVAL,0MOVBL,0AGAIN:INC BLADDAL,BLCMPAL,100JB AGAINSUBAL,BLDECBLMOVNUM,BLMOVSUM
6、,ALMOVAH,4CHINT 21HCODEENDSENDSTART4.统计字符,正数,负数,零的个数。1若自 STRING 单元开始存放一个字符串,以$结尾,试编写程序, 统计字符串的长度,并将结果存入 COUN 单元。DATASEGMENTSTRINGDBabcdefg$COUNT DWDATAENDSCODESEGMENTASSUMCES:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,STRINGMOVCX,0NEXT: MOVAL,SICMPAL, $JZ DONEINC CXINC SIJMP NEXTDONE:MOVCOUNT,CXMOVAH
7、,4CHINT 21HCODEENDSENDSTART2.自 BUF 单元开始存放 10 个带符号字节数据,将其中的正数、负数和零选出 来,并统计其个数,分别存入 PLUS MINUS 和 ZERO 单元中。DATASEGMENTBUF DB5, -2,0, -1,4,0, - 4,8,0, -7PLUS DBMINUSDBZERO DBDATAENDSCODESEGMENTASSUMCES:DATA,DS:DATASTART: MOVAX,DATAMOVDS,AXLEASI,BUFMOVCX,10 AGAIN:MOVAL,BXINC BXANDAL,ALJS M1JZ M2INC PLUSJ
8、MP NEXTM1: INC MINUSJMP NEXTM2: INC ZEROJMP NEXTNEXT: LOOP AGAINMOVAH,4CHINT 21HCODEENDS ENDSTART5.求压缩 BCD 码的和。已知从 BUF1 和 BUF2 单元开始,存放两个各为 10 个字节 的BCD 数,求这两个数的和,并将结果存入 BUF3 单元中。DATASEGMENTBUF1 DB01H,01H,01H,01H,01H,01H,01H,01H,01H,01HBUF2 DB03H,03H,03H,03H,03H,03H,03H,03H,03H,03HBUF3 DB11 DUP()DATAE
9、NDSCODESEGMENTASSUMCES:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,10LEASI,BUF1LEADI,BUF2LEABX,BUF3AGAIN:MOVAL,SIADCAL,DIDAAMOVBX,ALINC SIINC DIINC BXLOOP AGAINADCAH,0MOVBX,AHMOVAH,4CHINT 21HCODEENDSENDSTART6. 8255编程题:(课后实验)8255 工作于方式 0,此时 PA PB PC 均为可独立输入/输出的并行口。8255 的各寄存器对应的口地址为: PAD:200H, PB 口: 202H, PC 口: 204H,控制口: 206H要求 8255 工作于方式 0, PA 口设置为输入,PC 口设置为输出。DATA SEGMENTC8255 EQU 206HP8255A EQU 200HP8255C EQU 204HDATA ENDSCODE SEGMENTASSUMECS:C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论