微机原理整理后Word文件下载.docx

上传人:b****4 文档编号:18059592 上传时间:2022-12-13 格式:DOCX 页数:12 大小:16.96KB
下载 相关 举报
微机原理整理后Word文件下载.docx_第1页
第1页 / 共12页
微机原理整理后Word文件下载.docx_第2页
第2页 / 共12页
微机原理整理后Word文件下载.docx_第3页
第3页 / 共12页
微机原理整理后Word文件下载.docx_第4页
第4页 / 共12页
微机原理整理后Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理整理后Word文件下载.docx

《微机原理整理后Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理整理后Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理整理后Word文件下载.docx

DATA

MAINPROC

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEAAX,BUF1

MOVSRCADR,AX

MOVLEN,100

CALLMVDAT

MOVAX,4CH

INT21H

MAINENDP

MVDATPROC

MOVSI,SRCADR

MOVDI,DSTADR

MOVCX,LEN

CLD

CMPSI,DI

JADONE

STD

ADDSI,CX

DECSI

ADDDI,CX

DECDI

DONE:

REPMOVSB

RET

MVDATENDP

CODEENDS

ENDSTART

4.编写一个程序,实现SUM=a1+a2+……+a20。

已知a1~a20依次存放在以BUF为首址的数据区,每个数据占两个字节,SUM也是两个字节。

DATDW2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2

SUMDW?

MAINPROCFAR

MOVAX,0

MOVSUM,AX

MOVSI,OFFSETDAT

MOVCX,20

LP1:

ADDAX,[SI]

INCSI

LOOPLP1

MOVAH,4CH

5.试编写一程序,将AX中的各位去反,然后统计出AX中“0”的个数,将结果存到CL中。

CODE

MOVAX,0E001H

MOVDL,0

MOVCL,16

NOTAX

RETEST:

ANDAX,AX

JSSKIP

INCDL

SKIP:

SHLAX,1

LOOPRETEST

MOVCL,DL

EXIT:

6.在内存数据段存储器中,从ADDR单元开始存有一个字符串,它以“$”符号作为结束标志,试编写程序统计该字符串的长度($字符不计入长度),并把长度值存入LETH字单元。

ADDRDB'

LIUBIN$'

LETHDW?

STACKSEGMENTPARASTACK'

DB100DUP(?

STACK

MOVBX,OFFSETADDR

MOVCX,0

LP:

MOVAL,[BX]

CMPAL,'

$'

JEDONE

INCCX

INCBX

JMPLP

MOVADDR,CX

7.试编写一程序,要求实现将ASCII码表示的两位十进制数转换为一字节二进制数,其中高地址单元存放十位数。

课本200页

8.编程在显示器上输出你自己的汉语拼音姓名的子程序。

课本155页

.9将数据0-63置入到内存中以BUF为首址的连续64个字节单元中。

课本198页

10.试编写一程序,把数组STRING中存放的20个8位二进制数分成正数数组和负数数组,并统计正数、负数和零的个数,结果分别存放到P、M、Z三个单元。

STRINGDW2DUP(3045H,0FD34H,0D3DH,9899H,0,3DF2H,0,0FFDEH,93FDH,0DE6CH)

PDW20DUP(?

MDW20DUP(?

ZDW20DUP(?

XORBP,BP

LEASI,P;

正数

LEADI,M;

负数

LEABP,Z;

PUSHSI

PUSHDI

PUSHBP

LEABX,STRING

LL:

MOVAX,[BX]

PUSHAX

ADDAX,AX

JZL1

POPAX

SALAX,1

JCL2

MOV[SI],AX

ADDSI,2

JMPLA

LA:

ADDBX,2

LOOPLL

XORCX,CX

MOVCX,2

MOVDX,BP

SUBDX,AX

SHRDX,CL

MOV[BP],DX

MOVDX,DI

MOV[DI],DX

MOVDX,SI

MOV[SI],DX

L1:

MOV[BP],AX

ADDBP,2

L2:

MOV[DI],AX

ADDDI,2

CODENDS

11、试编写一程序,完成10个一位十进制数累加,累加结果以分离式BCD码形式存放于AH(高位)、AL(低位)寄存器中。

DATASSEGMENT

TABDB41H,42H,43H,44H,45H,46H

BINDB'

1101101110011110'

BUFDB4DUP(?

DATASENDS

CODESSEGMENT

CODES,DS:

DATAS

MOVAX,DATAS

LEABX,TAB

LEASI,BIN

LEADI,BUF

MOVCX,4

MOVAX,[SI+2]

PUSHCX

MOVCL,8

RORAX,CL

SUBAX,3030H

MOVDX,[SI]

RORDX,CL

SUBDX,3030H

SHLAH,1

ADDAH,AL

MOVCL,2

SHLDL,CL

MOVCL,3

SHLDH,CL

ADCDH,DL

ADCAH,DH

CMPAH,0AH

JBLP2

SUBAH,0AH

MOVAL,AH

XLAT

LP3:

MOV[DI],AL

ADDDI,1

ADDSI,4

POPCX

LP2:

ADDAH,30H

JMPLP3

CODESENDS

12、试编写一程序,将2个字节二进制数,变换成用ASCII码表示的四位十六进制数(用四字节表示)。

13.试用串操作指令SCAS,在10个字节的数据块BLOCK中,搜索与2EH相等的数,若找到,则将该数地址存放于ADR中,并在SIGNAL单元中做标记0FFH;

否则,SIGNAL单元中为00H。

BLOCKDBNDUP(0)

SINGALDB00H

ADRDB00H

ASSUMEDS:

DATA,CS:

CODE,ES:

MOVDIOFFSETBLOCK

MOVCX,10

MOVSL,IEH

REPNISCASB

JNZAAA

MOVSIGNAL,0FFH

MOVADR,IEH

AAA:

MOVSIGNAL,00H

14.编写一程序,计算100个16位正整数之和,如果和不超过16位值的范围,则保存其和到SUM,如果超过则显示“Overflow”。

DATSEGMENT

DAT1DW25DUP(2D4EH,5611H,1234H,7891H)

BUFDW?

STR1DB'

overflow!

!

'

0DH,0AH,'

DATENDS

CODSEGMENT

COD,DS:

DAT

MOVAX,DAT

MOVSI,OFFSETDAT1

MOVBX,OFFSETBUF

MOVCX,100

XORAX,AX

JCDISP

LOOPL1

MOV[BX],AX

DISPPROCNEAR

MOVDX,OFFSETSTR1

MOVAH,9

DISPENDP

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1