微机原理程序Word下载.docx

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

微机原理程序Word下载.docx

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

微机原理程序Word下载.docx

cmpax,70

jlsix

cmpax,80

jlseven

cmpax,90

jleight

cmpax,100

jnenine

incs10

jmpshortchange_addr

nine:

incs9

eight:

incs8

seven:

incs7

six:

incs6

five:

incs5

change_addr:

addbx,2

loopcompare

ret

prognamends

endstart

2、统计用户输入字符串中数字个数。

用户输入字符串,统计其中数字’0’~’9’字符的个数

输入一个字符串,将小写字符变成大写字符/将大写字符变成小写字符,并输出字符串

完成用户输入字符串,给出用户输入中ASCII最小/最大的小写字母/大写字母/数字/字母等字符

strinlabelbyte

maxdb30

actdb30

strdb30dup(?

numdb0

movax,datarea

movds,ax

leadx,strin

movah,0ah

int21h

movdl,0

leabx,str

movcl,act

again:

cmpbyteptr[bx],'

0'

jbnext

9'

janext

incdl

next:

deccl

incbx

cmpcl,0

jnzagain

movnum,dl

movah,4ch

int21h

3、将DAT字单元中的16位二进制数分成四组,每组4位,然后将这4组放到DAT1、DAT2、DAT3、DAT4这4个字节单元中

DATDW0A5D2H

DAT1DB?

DAT2DB?

DAT3DB?

DAT4DB?

MOVAX,DAT

MOVBX,0F0FH

ANDBX,AX

MOVDAT1,BL

MOVDAT3,BH

MOVBX,0F0F0H

MOVDAT2,BL

MOVDAT4,BH

4、已知数据区中有一数组ARRAY,其元素类型为单字节,现统计其中正数、0、个数。

数据区结构见下,请写出程序主体部分。

DATASEGMENT

ARRAYDB23,-15,0,67,-19,0,-12,89,120,55

CNEQU$-ARRAY

DATAENDS

LEASI,ARRAY

MOVCX,CN

XORAX,AX

XORBX,BX

PZN0:

CMP[SI],0

JLPZN1

JZZN

INCAX

JMPPZN1

ZN:

INCBX

PZN1:

INCSI

LOOPPZN0

5、已知两个整数变量A和B,试编写下述操作程序:

(1)若两个数有一个是奇数,则将奇数存入A,偶数存入B中

(2)若两个数均为奇数,则两个数分别加1,并存回原变量

(3)若两个数均为偶数,则两个变量不变,写出程序主体部分

MOVAX,A

MOVBX,B

XORAX,BX

TESTAX,1

JZCLASS

TESTBX,1

JZEXIT

XCHGBX,A

MOVB,BX

JMPEXIT

CLASS:

TESTBX,1

INCB

INCA

EXIT:

6、按下列子程序说明信息编制子程序

子程序名:

CMPA

子程序功能:

比较两个长度相同的无(带)符号数x和y

入口参数:

x和y的首地址分别放在SI和DI中,数据长度在CL中

出口参数:

x>

y时,CF=0;

x<

y时,CF=1;

x=y时,ZF=1

受影响的寄存器:

标志寄存器

•Cmpaproc

•pushax

•pushdi

•pushsi

•pushcx

•movch,0

•Abc:

•moval,[si]

•cmpal,[di]

•jabig

•jbsmall

•incsi

•incdi

•deccx

•jnzabc

•xorax,ax

•jmpexit

•Big:

•clc

•Small:

•stc

•Exit:

•popcx

•popsi

•popdi

•popax

•ret

•Cmpaendp

带符号:

•jgbig

•jlsmall

•jzbvd

•bvd:

Cmpaendp

7、已知2个无符号数据X和Y,分别存放在ADRX和ADRY单元,编制程序,若X是Y的倍数,Y是X的倍数,显示1,否则显示0

MOVAX,ADRX

CMPAX,ADRY

JZDISP1

MOVBX,ADRY

JANEXT

MOVAX,ADRY

MOVBX,ADRX

NEXT:

MOVDX,0

DIVBX

CMPDX,0

MOVDL,‘0’

MOVAH,1

INT21H

HLT

DISP1:

MOVDL,‘1’

8、已知一多字节数据存放在内存DATA开始的连续单元中,求绝对值放在RESULT开始的多字节数据

DATADB12H,34H,56H,78H,9AH,BCH,DEH,F0H

CNEQU$-DATA

RESULTDB20DUP(?

LEADI,RESULT

DECDI

MOVAL,[DI]

TESTAL,80H

JNZF

CLD

LEASI,DATA

REPMOVSB

F:

LEASI,DATA

CLC

AGAIN:

MOVAL,0

SBBAL,[SI]

MOV[DI],AL

INCSI

INCDI

LOOPAGAIN

9、若BLOCK开始的内存缓冲区中,有100个16位带(无)符号数,要把其中最大值存放在MAX单元中

MOVBX,OFFSETBLOCK

MOVAX,[BX]

INCBX

MOVCX,99

CMPAX,[BX]

JGNEXT

MOVMAX,AX

10、请求出AL中“1”的个数,结果存入AH中。

解:

MOVAH,0

Again:

SHLAL,1

ADCAH,0

CMPAL,0

JNZAgain

HLT

MOVAH,0

MOVCL,8

SHLAL,1

JNCNext

INCAH

Next:

DECCL

JNZAgain

HLT

11、若有一个ASCII字符串,它的起始地址放在单元STRING内,要求从串中取出每一个字符,加偶(奇)校验。

datasegment

stringdb'

1234567890'

countequ$-string

dataends

……

leasi,string

movcx,count

lodsb

andal,al

jpenext

oral,80h

mov[si-1],al

deccx

12、要求测试字节变量STATUS,如果第1位和第3位同时为1,则转移到ROUTINE_2;

如果第1位和第3位同时为0,则转移到ROUTINE_3;

除了上面2种情况,如果第1位或第3位,或第5位为1,则转移到ROUTINE_1;

此外其它情况,继续执行ROUTINE_4。

MOVAL,STATUS

NOTAL

TESTAL,00001010B

JZROUTINE_2

 

JZROUTINE_3

TESTAL,00101010B

JNZROUTINE_1

JMPROUTINE_4

13、试编写程序,对BUF字节存储区中的3个数进行比较,并按比较结果显示如下

(1)如果3个数都不相等则显示0

(2)如果3个数有2个数相等则显示1

(3)如果3个数都相等则显示2

BUFDB68,89,-5

MOVAL,BUF

MOVBL,BUF+1

MOVCL,BUF+2

CMPAL,BL

JZZERO12

CMPAL,CL

JZNEXT

CMPBL,CL

;

显示0

ZERO12:

CMPAL,CL

JZZERO123

;

显示1

ZERO123:

显示2

14、已知DATA1和DATA2是两个长度相同的多字节数据,其中数值小的字节放在地址小的单元中,DATA1和DATA2相加,结果放在SUM多字节数据

DATA1DB85H,27H,4AH

DATA2DB93H,87H,65H

LEGHDW3

SUMDB0,0,0

LEASI,DATA1

LEABX,DATA2

LEADI,SUM

MOVCX,LEGH

MOVAL,[SI]

ADCAL,[BX]

15、如果AL的第i位(从右向左依次为:

0位、1位……)状态与BL的第j位(从右向左依次为:

0位、1位……)状态相同,则AH清0,否则AH置为全1,i和j的值分别放在CL和CH中

MOVDL,AL

SHRDL,CL

PUSHCX

MOVDH,BL

MOVCL,CH

SHRDH,CL

POPCX

ANDDX,101H

XORDL,DH

JZZERO

MOVAH,0FFH

ZERO:

MOVAH,0

EXIT

16、将寄存器AH的第i位(从右向左依次为:

0位、1位……)的反码写入AL的第j位(从右向左依次为:

0位、1位……),AL的其余位保持不变,i和j的值分别在CL和CH中

MOVDX,AX

SHRAH,CL

ANDAH,1

NOTAH

RORAL,CL

ORAL,AH

ROLAL,CL

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

当前位置:首页 > PPT模板 > 动态背景

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

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