整理微型计算机原理与接口技术.docx

上传人:b****2 文档编号:11507801 上传时间:2023-06-01 格式:DOCX 页数:39 大小:28.06KB
下载 相关 举报
整理微型计算机原理与接口技术.docx_第1页
第1页 / 共39页
整理微型计算机原理与接口技术.docx_第2页
第2页 / 共39页
整理微型计算机原理与接口技术.docx_第3页
第3页 / 共39页
整理微型计算机原理与接口技术.docx_第4页
第4页 / 共39页
整理微型计算机原理与接口技术.docx_第5页
第5页 / 共39页
整理微型计算机原理与接口技术.docx_第6页
第6页 / 共39页
整理微型计算机原理与接口技术.docx_第7页
第7页 / 共39页
整理微型计算机原理与接口技术.docx_第8页
第8页 / 共39页
整理微型计算机原理与接口技术.docx_第9页
第9页 / 共39页
整理微型计算机原理与接口技术.docx_第10页
第10页 / 共39页
整理微型计算机原理与接口技术.docx_第11页
第11页 / 共39页
整理微型计算机原理与接口技术.docx_第12页
第12页 / 共39页
整理微型计算机原理与接口技术.docx_第13页
第13页 / 共39页
整理微型计算机原理与接口技术.docx_第14页
第14页 / 共39页
整理微型计算机原理与接口技术.docx_第15页
第15页 / 共39页
整理微型计算机原理与接口技术.docx_第16页
第16页 / 共39页
整理微型计算机原理与接口技术.docx_第17页
第17页 / 共39页
整理微型计算机原理与接口技术.docx_第18页
第18页 / 共39页
整理微型计算机原理与接口技术.docx_第19页
第19页 / 共39页
整理微型计算机原理与接口技术.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

整理微型计算机原理与接口技术.docx

《整理微型计算机原理与接口技术.docx》由会员分享,可在线阅读,更多相关《整理微型计算机原理与接口技术.docx(39页珍藏版)》请在冰点文库上搜索。

整理微型计算机原理与接口技术.docx

整理微型计算机原理与接口技术

(6)列出选定的评价方法,并作简单介绍。

以森林为例,木材、药品、休闲娱乐、植物基因、教育、人类住区等都是森林的直接使用价值。

3)规划实施的经济效益、社会效益与环境效益之间以及当前利益与长远利益之间的关系。

1.建设项目环境影响报告书的内容

(2)辨识和分析评价对象可能存在的各种危险、有害因素,分析危险、有害因素发生作用的途径及其变化规律。

综合性规划

(1)土地利用的有关规划;

(3)专项规划环境影响报告书的内容。

除包括上述内容外,还应当包括环境影响评价结论。

主要包括规划草案的环境合理性和可行性,预防或者减轻不良环境影响的对策和措施的合理性与有效性,以及规划草案的调整建议。

二、安全预评价

(1)可能造成重大环境影响的建设项目,编制环境影响报告书,对产生的环境影响应进行全面评价;

第一节 环境影响评价4.9练习题

 

10、写一个宏定义,要求能把任意一个寄存器的最低位移至另一个存储器的最高位中。

DATASEGMENT

VAR1DB4,6

VAR2DD200DUP(?

DATAENDS

STACKSSEGMENT

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATA,SS:

STACKS

START:

MOVAX,DATA

MOVDS,AX

XTYMACROX,Y

MOVAX,X

ANDAX,1

RORAX,1

MOVY,AX

ENDM

MOVDX,1

MOVAX,0

XTYDX,AX,

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

11、利用DOS功能调用从键盘输入60个字符到缓冲区BUF中,在按下ENTER键后在屏幕上显示这些字符。

请写出程序段。

DATASEGMENT

ST1DB'Pleaseinput60charactersfromkeyboard.',0DH,0AH,'$'

BUFDB61DUP(?

DATAENDS

CODSEGMENT

ASSUMECS:

COD,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDL,07H

MOVAH,2

INT21H

MOVDX,OFFSETST1

MOVAH,9

INT21H

LEASI,BUF

MOVCX,60

LP:

MOVAH,7

INT21H

MOV[SI],AL

CMPAL,0DH

JZEXIT

INCSI

LOOPLP

EXIT:

MOVBX,60

SUBBX,CX

MOVCX,BX

LEASI,BUF

LP2:

MOVDL,[SI]

MOVAH,6

INT21H

INCSI

LOOPLP2

MOVAH,4CH

INT21H

CODENDS

ENDSTART

12、试写一段程序,要求先给出一声铃响提示,屏幕上显示:

“Pleaseinputaalphabet:

”,然后从键盘输入一个字母送BL。

DATASSEGMENT

ST1DB'PleaseInputaalphabet:

',0DH,0AH,'$'

ST2DB?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

MOVDL,7

MOVAH,2

INT21H

MOVDX,OFFSETST1

MOVAH,9

INT21H

MOVAH,1

INT21H

MOVBL,AL

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

第五章汇编语言程序设计

例5-1:

试用8086CPU的指令实现Y=(X1+X2)/2的程序设计。

DATASSEGMENT

X1DB34H

X2DB89H

YDW?

DATASENDS

STACKSSEGMENT

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVAX,0

MOVAL,X1

MOVBL,X2

ADDAL,BL

ADCAH,0

SARAX,1

MOV[Y],AX

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

例5-1(老书):

编制实现两个三十二位数相乘的程序。

DATASEGMENT

MULNUMDW1234H

DW0B8FDH

DW0DFE6H

DW78FFH

DW4DUP(?

DATAENDS

CODSEGMENT

ASSUMECS:

COD,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

XORAX,AX

LEABX,MULNUM

MUL32:

MOVAX,[BX]

MOVSI,[BX+4]

MOVDI,[BX+6]

MULSI;B*d

MOV[BX+8],AX

MOV[BX+0AH],DX

MULDI;B*C

ADDAX,[BX+0AH]

ADCDX,0

MOV[BX+0AH],AX

MOV[BX+0CH],DX

XORAX,AX

XORDX,DX

MOVAX,[BX+2]

MULSI;A*D

ADDAX,[BX+0AH]

ADCDX,[BX+0CH]

PUSHF

MOVAX,[BX+0AH]

MOVDX,[BX+0CH]

XORAX,AX

XORDX,DX

MOVAX,[BX+2]

MULDI;A*C

POPF

ADCAX,[BX+0CH]

ADCDX,0

MOV[BX+0CH],AX

MOV[BX+0EH],DX

XORAX,AX

MOVAH,4CH

INT21H

CODENDS

ENDSTART

例5-2:

将一位十六进制数转换成与它相对应的ASCII码。

DATASSEGMENT

TAB

DB30H,31H,32H,33H,34H,35H,36H,37H

DB38H,39H,41H,42H,43H,44H,45H,46H

HEXDB8

ASCDB?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

MOVBX,OFFSETTAB

MOVAL,HEX

XLAT

MOVASC,AL

MOVAX,4C00H

INT21H

CODESENDS

ENDSTART

例5-3:

要求对不足250个的学生成绩进行统计分析,统计出优秀、及格和不及格的人数。

DATASSEGMENT

BUFDB15

DB64,78,89,55,69,98,45,67,96,99,92,89,85,91,45

NUMDB3DUP(?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVSI,OFFSETBUF

MOVCH,[SI]

MOVCL,0

MOVBX,0

INCSI

LP:

MOVAH,[SI]

CMPAH,90

JBBLOW90

INCBH

NEXT:

INCSI

DECCH

JNZLP

MOVSI,OFFSETNUM

MOV[SI],BH

MOV[SI+1],BL

MOV[SI+2],CL

MOVAH,4CH

INT21H

BLOW90:

CMPAH,60

JBBLOW60

JMPABOV60

ABOV60:

INCBL

JMPNEXT

BLOW60:

INCCL

JMPNEXT

CODESENDS

ENDSTART

例5-5利用表内地址跳转法来实现使键盘上A、B、C、D4个字母键成为4条输入命令,使之分别对应4个具有不同算法的控制子程序。

DATASSEGMENT

BASEDB'pa','pb','pc','pd'

KEYDB?

DATASENDS

STACKSSEGMENT

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

LOP:

XORAX,AX

MOVAH,1

INT21H

CMPAL,41H

JBLOP

CMPAL,44H

JALOP

SUBAL,41H

MOVBX,OFFSETKEY

MOVAH,0

ADDBX,AX

JMPWORDPTR[BX]

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

例5-6:

试编写一程序,统计出某一字数据中“1”的个数。

DATSEGMENT

XDADW3AD8H

CONTDB?

DATENDS

CODSEGMENT

ASSUMECS:

COD,DS:

DAT

START:

MOVAX,DAT

MOVDS,AX

MOVCL,0

MOVAX,XDA

LOP:

CMPAX,0

JZEXIT

SHLAX,1

JNCNEXT

INCCL

NEXT:

JMPLOP

EXIT:

MOVCONT,CL

INT20H

CODENDS

ENDSTART

例5-7:

编写程序将两个n字节的无符号数相加,结果存入SUM开始的n+1字节存储区中。

DATSEGMENT

DAT1DB12H,34H,56H,71H,23H,45H,67H

DAT2DB76H,54H,32H,17H,65H,43H,21H

SUMDB8DUP(?

DATENDS

CODSEGMENT

ASSUMECS:

COD,DS:

DAT

START:

MOVAX,DAT

MOVDS,AX

XORAX,AX

MOVBX,OFFSETDAT1

MOVSI,OFFSETDAT2

LEADI,SUM

MOVCX,7

CLC

LP:

MOVAL,[SI]

ADCAL,[BX]

MOV[DI],AL

INCBX

INCSI

INCDI

LOOPLP

ADCBYTEPTR[DI],0

MOVAH,4CH

INT21H

CODENDS

ENDSTART

例5-8:

编制程序用单字符输出的DOS功能调用向屏幕输出以“%”结束的字符串。

DATSEGMENT

ST1DB'Howareyou?

%'

DATENDS

CODSEGMENT

ASSUMECS:

COD,DS:

DAT

START:

MOVAX,DAT

MOVDS,AX

LEASI,ST1

AGAIN:

MOVDL,[SI]

CMPDL,'%'

JZENDOUT

MOVAH,2

INT21H

INCSI

JMPAGAIN

ENDOUT:

MOVAH,4CH

INT21H

CODENDS

ENDSTART

例5-9:

设有16个内存单元需要修改,修改规律是第1、3、6、9、12号单元均加5,其余单元均加10,试用循环结构变成实现。

DATASSEGMENT

XDADB16DUP(?

LRULERDW0A490H

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

MOVSI,0

MOVCX,16

MOVBX,OFFSETXDA

MOVDX,LRULER

AGAIN:

MOVAX,BX[SI]

SHLDX,1

JCADD5

ADDAX,10

JMPSHORTRESULT

ADD5:

ADDAX,5

RESULT:

MOVBX[SI],AX

INCSI

LOOPAGAIN

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

例5-10:

设某一数组的长度为N,各元素均为字数据,试编制一个程序使该数组中的数据按照从小到大的次序排列。

DATASSEGMENT

DATDB25,68,86,98,34,67,12,4,49,27

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

MOVBX,0

MOVCX,10

DECCX

LOP1:

MOVDX,CX

LOP2:

MOVAL,DAT[BX]

CMPAL,DAT[BX+1]

JBECONTI

XCHGAL,DAT[BX+1]

MOVDAT[BX],AL

CONTI:

ADDBX,1

LOOPLOP2

MOVCX,DX

MOVBX,0

LOOPLOP1

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

例5-11:

定义一个显示两个十六进制数的子程序:

DATASSEGMENT

BUFDB12H

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

LEASI,BUF

MOVBL,[SI]

CALLDISPP

MOVAH,4CH

INT21H

DISPPPROCNEAR

PUSHDX

PUSHCX

MOVDL,BL

MOVCL,4

ROLDL,CL

ANDDL,0FH

CALLDISP1

MOVDL,BL

ANDDL,0FH

CALLDISP1

POPCX

POPDX

RET

DISPPENDP

DISP1PROCNEAR

ORDL,30H

CMPDL,3AH

JBDDD

ADDDL,07H

DDD:

MOVAH,2

INT21H

RET

DISP1ENDP

CODESENDS

ENDSTART

例5-12:

编制显示四位十六进制数的子程序。

DATASSEGMENT

BUFDW1234H

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

LEASI,BUF

MOVAX,[SI]

CALLDISP4

MOVAH,4CH

INT21H

DISP4PROCNEAR

PUSHBX

PUSHCX

PUSHDX

PUSHAX

MOVAL,AH

CALLDISP2

POPAX

CALLDISP2

POPDX

POPCX

POPBX

RET

DISP4ENDP

DISP2PROCNEAR

MOVBL,AL

MOVDL,AL

MOVCL,4

ROLDL,CL

ANDDL,0FH

CALLDISP1

MOVDL,BL

ANDDL,0FH

CALLDISP1

RET

DISP2ENDP

DISP1PROC

ORDL,30H

CMPDL,3AH

JBDDD

ADDDL,07H

DDD:

MOVAH,2

INT21H

RET

DISP1ENDP

CODESENDS

ENDSTART

例5-13:

已知数组由100个字数据组成,试变成求出这个数组元素之和。

DATASSEGMENT

ARYDW25DUP(12H,5DH,3CH,7AH)

SUMDW?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

CALLRADD

MOVAH,4CH

INT21H

RADDPROCNEAR

PUSHAX

PUSHBX

PUSHCX

PUSHDX

LEABX,ARY

MOVCX,100

XORAX,AX

MOVDX,AX

CL1:

ADDAX,[BX]

JNCCL2

INCDX

CL2:

ADDBX,2

LOOPCL1

MOVSUM,AX

MOVSUM+2,DX

POPDX

POPCX

POPBX

POPAX

RET

RADDENDP

CODESENDS

ENDSTART

例5-14:

已知数组A由100个字数据组成,数组B由50个字数据组成,试编程分别求出这两个数组元素之和。

DATASSEGMENT

CADW100

ARADW20DUP(34H,5FH,8DH,4AH,9BH)

SADD?

CBDW50

ARBDW10DUP(3DH,4CH,2EH,88H,1CH)

SBDD?

TABDW3DUP(?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVAX,OFFSETCA

MOVTAB,AX

MOVAX,OFFSETARA

MOVTAB[2],AX

MOVAX,OFFSETSA

MOVTAB[4],AX

MOVSI,OFFSETTAB

CALLRADD

MOVAX,OFFSETCB

MOVTAB,AX

MOVAX,OFFSETARB

MOVTAB[2],AX

MOVAX,OFFSETSB

MOVTAB[4],AX

MOVSI,OFFSETTAB

CALLRADD

MOVAH,4CH

INT21H

RADDPROCNEAR

MOVBX,[SI]

MOVCX,[BX]

MOVBX,[SI+2]

MOVDI,[SI+4]

XORAX,AX

MOVDX,AX

CL1:

ADDAX,[BX]

JNCCL2

INCDX

CL2:

ADDBX,2

LOOPCL1

MOV[DI],AX

MOV[DI+2],DX

RET

RADDENDP

CODESENDS

ENDSTART

5.8练习题(新书)

3、编程题

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

DATSEGMENT

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

PDW20DUP(?

MDW20DUP(?

ZDW20DUP(?

DATENDS

CODSEGMENT

ASSUMECS:

COD,DS:

DAT

START:

MOVAX,DAT

MOVDS,AX

XORBP,BP

LEASI,P;正数

LEADI,M;负数

LEABP,Z;零

PUSHSI

PUSHDI

PUSHBP

LEABX,STRING

MOVCX,20

LL:

MOVAX,[BX]

PUSHAX

ADDAX,AX

JZL1

POPAX

PUSHAX

SALAX,1

JCL2

POPAX

MOV[SI],AX

ADDSI,2

JMPLA

LA:

ADDBX,2

LOOPLL

XORCX,CX

MOVCX,2

POPAX

MOVDX,BP

SUBDX,AX

SHRDX,CL

MOV[BP],DX

POPAX

MOVDX,DI

SUBDX,AX

SHRDX,CL

MOV[DI],DX

POPAX

MOVDX,SI

SUBDX,AX

SHRDX,CL

MOV[SI],DX

MOVAH,4CH

INT21H

L1:

POPAX

MOV[BP],AX

ADDBP,2

JMPLA

L2:

POPAX

MOV[DI],AX

ADDDI,2

JMPLA

CODENDS

ENDSTART

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

DATSEGMENT

D1DB2,3,4,5,6,7,8,3,4,5

D2DB?

DATENDS

CODSEGMENT

ASSUMECS:

COD,DS:

DAT

START:

MOVAX,DAT

MOVDS,AX

LEASI,D1

XORAX,AX

MOVCX,10

L1:

ADDAL,[SI]

AAA

INCSI

LOOPL1

MOVAH,4CH

INT21H

CODENDS

ENDSTART

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

DATASSEGMENT

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

BINDB'1101101110011110'

BUFDB4DUP(?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

LEABX,TAB

LEASI,BIN

LEADI,BUF

MOVCX,4

LP1:

MOVAX,[SI+2]

PUSHCX

XORCX,CX

MOVCL,8

RORAX,CL

SUBAX,3030H

MOVDX,[SI]

RORDX,CL

SUBDX,3030H

SHLAH,1

ADDAH,AL

MOVCL,2

SHLDL,CL

MOVCL,3

SHLDH,CL

A

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2