李伯成《微型计算机原理及应用》课后习题答案(3)

2019-04-23 20:09

REMAIN

DB ?;

3.5 在DATA1之下顺序存放着以ASCII码表示的千位数,将其转换成二进制数。

MOV MOV MOV CLD XOR XOR AND CMP

CL,4; 移位次数 CH,CL; 循环次数 SI,OFFSET ASCBIN AX,AX DX,DX AL,7FH AL,'0'

ASCB1: LODSB

;不大于?0‘结束转换

JL ERR

CMP AL,'9' JG ASCB2 ;大于?9‘转ASCB2 SUB AL,30H ; 数字形式二进制数减30H

JMP ASCB3

ASCB2: CMP AL,'A' ;大于?9‘又小于?A‘结束转换

JL ERR

CMP AL,'F' JG ERR SUB

AL,37H

;大于?F‘为不合理数,结束转换 ;字符形式ASCII数减37H

ASCB3: OR DL,AL

ROL DX,CL DEC CH

JNZ ROL MOV

ASCB1 DX,CL

BIN,DX;存储转换结果

ERR: NOP HLT

ASCBIN DB '1','B,'4','3'

BIN DW

?

3.7 编写程序将MOLT中的一个8位数乘以20,乘积放在ANS中(用3种方式)。

解:第一种方法:常规乘法运算

ORG 100h

MOV AL,MOLT MOV MUL MOV

BL,20 BL

ANS,AX

HLT

MOLT DB 2 ANSDW ?

第二种方法,将MOLT连加20次

ORG 100h

MOV MOV XOR

CX,20

BX,MOLT AX,AX

CLC

ADD1:ADC AX,BX

LOOP ADD1 MOV ANS,AX HLT

MOLT DW 5

ANSDW ?

第三种方法,将―20‖连加MOLT次

ORG 100h

MOV CX,MOLT MOV BX,20 XOR AX,AX

CLC

ADD1:ADC AX,BX LOOP ADD1

MOV ANS,AX HLT

MOLT DW 5 ANSDW ?

在DATA之下存放100个无符号的8位数,找出其最大者并将其存放在KVFF单

3.8 元。

ORG 100h XOR DL,DL

DI,KVFF;

SI,BUFFER; CL,99;

LEA

NEXT0: LEA MOV

比较次数为N-1次

NEXT1: MOV

AL,[SI];

DL中始终存目前最大值

INC CMP SI; DL,AL;

JNC NEXT2; MOV DL,AL;

NEXT2: DEC CL; JNZ NEXT1; MOV [DI],DL; 最大值存储

HLT

BUFFER DB ;自行定义100个数据 KVFF DB

?

3.9 若将数据按大小顺序排序,试编写程序..

解:此处采用 ―冒泡法‖予以处理:

ORG 100h LEA MOV

DI,BUFFER; 数据区 BL,99; 外循环次数

NEXT0:

NEXT3:

MOV SI,DI; MOV CL,BL; 内循环次数 MOV AL,[SI]; 读数 INC SI; 移动指针

CMP AL,[SI]; 比较 JNC NEXT5; 大于转NEXT5 MOV

DL,[SI];

NEXT5:

MOV [SI-1],DL; MOV [SI],AL; 不大于互换 DEC CL; 内循环次数减一

JNZ DEC JNZ HLT

NEXT3; BL; 外循环次数减一 NEXT0

BUFFER DB 自行定义100个字节型数据

3.10 在BVFF单元中有一个BCD数A,试根据下列关系编写程序,计算结果存在DES中.

A<20,Y=3*A; A<60,Y=A-20; A>=60,Y=80.

EX1:

EX2:

ORG 100h MOV CMP

AL,BVFF AL,20

JL EX1

CMP AL,60 JL EX2

MOV AL,80 JMP MOV MUL JMP

STOP BL,3 BL STOP

SUB AL,20

STOP: MOV DES,AL

HLT

BVFF DB 8 DES DB ?

3.11址为DATAB开始的80个单元中,存放某班80个学生的某课程成绩,要求:

统计>=90分、80~89分、70~79分、60~69分、60分以下的人数,结果存放在BTRX开始的5个单元中

求平均成绩,结果存放在LEVEL中。

解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,总分、均分都在[DI]。

goon:

ORG 100h XOR AH,AH XOR DX,DX XOR BX,BX LEA LEA MOV MOV ADC

;统计结果清零 ;统计结果清零

SI,DATA DI,LEVEL

CL,CONT; 总人数送循环计数器 CX AL,[SI] ;读原始数据 [DI], AL;累加总分

ADC [DI+1],0 ;计算进位 CMP AL,90

JL PP8 ; 不高于90分者转PP8 INC DH ; 90--100分的人数加一 JMP STOR

PP8:

PP7:

PP6:

CMP AL,80 JL PP7 ;不高于80分转PP7 INC DL ;80----89分的人数加一 JMP STOR CMP AL,70 JL PP6 ;不高于70分者转PP6 INC BH ;70---79分的人数加一 JMP STOR CMP AL,60 JL PP5 ;不高于60分者转PP5 INC BL ;60---69分的人数加一

JMP STOR

PP5: INC AH ;低于60分的人数加一 STOR: INC SI ;读下一个分数

LOOP GOON ;CX=CX-1,CX不为零转GOON,继续统计 LEA MOV INC SI

MOV [SI],DL INC SI

MOV [SI],BH INC SI

MOV [SI],BL INC SI

MOV [SI],AH

MOV AX,WORD PTR [DI] ;计算平均成绩 MOV CL,CONT DIV CL

MOV LEVEL,AL ;回存平均成绩

SI,BUFFER ;回存统计结果 [SI],DH

HLT CONT DB 10

DATA DB 30,65,99,80,75, 89,100,45,60,70 BUFFER DB ?,?,?,?,? LEVEL DB ? ,?

3.12 求两个有符号数(DATA1,DATA2)差的绝对值,结果存入DATA3.

ORG 100h

MOV AL,DATA1;读入被减数 SUB AL,DATA2;减去减数 JC CHANGE;


李伯成《微型计算机原理及应用》课后习题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:硕士学位论文—智能建筑火灾自动报警系统的研究 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: