77范文网 - 专业文章范例文档资料分享平台

微机原理课后题目答案(6)

来源:网络收集 时间:2019-04-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

JNE ADDR

INC DX ADD SI, 2 LOOP COMP

ADDR: CMP DX, COUNT ;此数出现的次数最多吗? JLE DONE

MOV COUNT, DX ;目前此数出现的次数最多,记下次数 MOV NUM, AX ;记下此数

DONE: LOOP NEXT ;准备取下一个数 MOV CX, COUNT ;出现最多的次数存入(CX) MOV AX, NUM ;出现最多的数存入(AX) RET

MAIN ENDP

CODE ENDS ;以上定义代码段

END START

13. 将键盘上输入的十六进制数转换成十进制数,在屏幕上显示。 答:DATA SEGMENT

STRING DB 'INPUT 4 HEX NUM:',0AH,0DH,'$' NUM DB 10 DUP(?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

LEA DX,STRING ;显示提示信息 MOV AH,9 INT 21H

MOV BP,4 MOV DX,0

CONT: MOV CL,4 ;输入4 位十六进制数􀃆DX SHL DX,CL D1: MOV AH,1 INT 21H CMP AL,'0' JB D1

CMP AL,'F' JA D1 CMP AL,'A' JB A1 SUB AL,7 A1: SUB AL,30H MOV AH,0 ADD DX,AX DEC BP

JNZ CONT

MOV SI,0 ;将DX 转换成十进制数,再转换成ASCII 码—>NUM MOV AX,DX MOV DX,0 MOV BX,10 D2: DIV BX ADD DL,30H MOV NUM[SI],DL INC SI CMP AX,0 JZ EXIT MOV DX,0

JMP D2

EXIT: MOV DL,0AH ;显示十进制数 MOV AH,2 INT 21H MOV DL,0DH INT 21H D3: DEC SI MOV DL,NUM[SI] MOV AH,2 INT 21H JNZ D3

MOV AH,4CH INT 21H

CODE ENDS END START

14. 将AX 中的无符号二进制数转换成ASCII 字符串表示的十进制数。 答:将13 题输入过程和输出过程去掉即得。

DATA SEGMENT

NUM DB 10 DUP(?) ;转换后ASCII 码按倒序存放于NUM DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX, ×××× ;无符号二进制数

MOV SI,0 ;将AX 转换成十进制数,再转换成ASCII 码—>NUM MOV DX,0 MOV BX,10 D2: DIV BX ADD DL,30H

MOV NUM[SI],DL INC SI

CMP AX,0

JZ EXIT MOV DX,0 JMP D2

EXIT: MOV AH,4CH INT 21H CODE ENDS

END START

15. 从键盘输入20 个有符号数,将它们排序并在屏幕上显示。 答:DATA SEGMENT

NUM DW 20 DUP(?) ;存放20 个有符号数

ASC DB 10 DUP(?) ;输出时暂时保存每一个数的ASCII 码 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,20 MOV BX,10 MOV SI,0

MOV BP,0

BEGIN: MOV DX,0 ;输入20 个有符号数(十进制),并 A1: MOV AH,1 ;转化为二进制数存放于NUM 数组 INT 21H

CMP AL,' ' ;判断是否空格 JZ A2

CMP AL,0DH ;是否回车符 JZ A2

CMP AL,'-' ;是否?-? JZ A3 JMP A4

A3: MOV BP,1 JMP A1

A4: PUSH AX MOV AX,DX MUL BX MOV DX,AX POP AX

SUB AL,30H MOV AH,0 ADD DX,AX JMP A1

A2: CMP BP,1 JNZ A5

NEG DX ;若为负数,则取负 A5: MOV NUM[SI],DX MOV BP,0 ADD SI,2 LOOP BEGIN

MOV DL,0DH ;回车换行 MOV AH,2 INT 21H

MOV DL,0AH

INT 21H

MOV BX,0 ;对20 个有符号数按由小到大顺序排序 MOV CX,19 ;采用冒泡法,排序后依然存放于NUM 数组 L1: MOV DX,CX

L2: MOV AX,NUM[BX] CMP AX,NUM[BX+2] JLE CONT1

XCHG AX,NUM[BX+2] MOV NUM[BX],AX CONT1: ADD BX,2 LOOP L2 MOV CX,DX

MOV BX,0 LOOP L1

MOV CX,20 ;将20 个有符号数(二进制)转换为十进制数 MOV SI,0 ;再转换为ASCII 码并输出屏幕 D1: MOV AX,NUM[SI] ADD SI,2 TEST AX,1000H JZ D4 PUSH AX MOV DL,'-' MOV AH,2 INT 21H POP AX NEG AX

D4: MOV DI,0 MOV DX,0 MOV BX,10 D2: DIV BX ADD DL,30H MOV ASC[DI],DL INC DI CMP AX,0 JZ D3

MOV DX,0

JMP D2

D3: MOV DL,ASC[DI-1] MOV AH,2 INT 21H DEC DI JNZ D3 MOV DL,' ' MOV AH,2 INT 21H

LOOP D1

MOV AH,4CH ;返回DOS INT 21H CODE ENDS

END START

16. 编写多字节有符号数的加法程序,从键盘接收两个加数,在屏幕上显示结果。 答:DATA SEGMENT

STRING1 DB 'INPUT FIRST NUM(HEX):',0DH,0AH,'$' STRING2 DB 'INPUT SECOND NUM(HEX):',0DH,0AH,'$' STRING3 DB 'THE RESULT IS(HEX):',0DH,0AH,'$' NUM1 DW 0,0 ;存放加数1 NUM2 DW 0,0 ;存放加数2 RESULT DB 0,0,0,0 ;存放结果 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX

LEA DX,STRING1 ;输入第一个加数(4 位十六进制数) MOV AH,9 INT 21H MOV SI,2 MOV CX,8

CONT: PUSH CX CMP CX,4 JNZ B1 SUB SI,2

B1: MOV CL,4 SHL NUM1[SI],CL C1: MOV AH,1 INT 21H CMP AL,'0' JB C1

CMP AL,'F'

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理课后题目答案(6)在线全文阅读。

微机原理课后题目答案(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/561260.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: