当前位置:范文大全 > 调查报告 > _微机实验报告 (2)

_微机实验报告 (2)

发布时间: 2021-10-31 12:08:00

.

..

微机实验报告

学 院: ###

专业班级: ##

序 号: ##

姓 名: ###

实验名称: 实验二:数码转码编程及程序调试

实验日期: 2016.04

实验二 数码转码编程及程序调试

一.实验目的

1.掌握不同进程数及编码相互转换的程序设计方法,加深对数码转换的理解;

2.进一步熟悉键盘使用方法;

3. 进一步熟悉调试程序的方法

二. 实验设备

装有汇编软件的IBMPC 机一台

实验内容

将ASCII码表示的十进制数转换为二进制数。这里我们规定:被转换的ASCII码十进制数存放在3500h~3504h单位中。而转换结果在3510~3511单位中。

将从键盘输入的五位十进制数的ASCII码已存在3500起始的内存单元中。把它转换成BCD码后,再按位分别存入3510起始的内存单元内。若输入的不是十进制的ASCII码,则显示FF.

将十六位二进制数转换为ASCII码表示的十进制数。十六进制数的值域为0~65535,最大可转换为五位十进制数。

十六进制数转换为ASCII码。设经过CPU处理后的十六进制存放在起始地址为3500H的内存中,把它们转换成ASCII码之后,再分别存入起始地址为3510的内存单元中。

BCD码转换为二进制码。设四个二位十进制的BCD码存放在起始地址为3500H的单元中,转换出的二进制数码存入起始为3510的内存单元中。

程序代码及运行结果

实验1

DATA SEGMENT

ORG 3500H

SOURCE1 DB 30H,30H,30H,31H,32H

ORG 3510H

RESULT DW ?

ORG 3520H

COUNT EQU 4

ORG 3530H

MULNUM DW 10

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA ,CS:CODE

START: MOV AX,DATA

MOV DS,AX

MOV CL,COUNT

MOV SI,OFFSET MULNUM

MOV AX,0

MOV DX,0

MOV BX,OFFSET SOURCE1

ADD AL,BYTE PTR[BX]

SUB AX,30H

NEXT:MUL WORD PTR[SI]

INC BX

ADD AL,BYTE PTR[BX]

XCHG AH,DH

LAHF

AND AH,01H

ADD AH,DH

SUB AX,30H

DEC CL

JNZ NEXT

MOV BX,OFFSET RESULT

MOV [BX],AX

RET

CODE ENDS

END START

运行结果:

3500~3504h单元存入30H,30H,30H,31H,32H,结果如下:

3500~3504h单元存入31H,32H,33H,34H,35H,结果如下:

实验2

DATA SEGMENT

ORG 3500H

SOURCE DB 41H,32H,33H,24H,35H

ORG 3510H

RESULT DB 5 DUP(?)

ORG 3520H

COUNT EQU 5

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

START:

MOV AX,DATA

MOV DS,AX

MOV CX,COUNT

MOV SI,OFFSET SOURCE

MOV DI,OFFSET RESULT

NEXT:

MOV DL,0FFH

MOV AL,[SI]

CMP AL,39H

JG NEXT1

SUB AL,30H

CMP AL,0

JL NEXT1

MOV [DI],AL

INC DI

INC SI

DEC CX

CMP CX,0

JNE NEXT

JE EXIT

NEXT1:

MOV [DI],DL

INC DI

INC SI

DEC CX

CMP CX,0

JNE NEXT

JE EXIT

EXIT:RET

CODE ENDS

END START

运行结果:

3500~3504h单元存入41H,32H,33H,24H,35H,结果如下:

3500~3504h单元存入31H,32H,33H,34H,35H,结果如下:

实验3

DATA SEGMENT

ORG 3500H

SOURCE DW 000CH

ORG 3510H

RESULT DB 5 DUP(?)

ORG 3520H

COUNT EQU 5

ORG 3530H

DIVNUM DW 10

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA ,CS:CODE

START: MOV AX,DATA

MOV DS,AX

MOV AX,SOURCE

MOV CL,COUNT

MOV BX,4

NEXT:

MOV DX,0

DIV DIVNUM

ADD DX,30H

MOV RESULT[BX],DL

DEC BX

DEC CL

JNZ NEXT

RET

CODE ENDS

END START

运行结果:

在3500~3501H单元中存入000CH,结果如下:

在3500~3501H单元中存入0A23H,结果如下:

实验4

DATA SEGMENT

ORG 3500H

SOURCE DW 203BH

ORG 3510H

RESULT DB 4 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

START:

MOV AX,DATA

MOV DS,AX

MOV DX,SOURCE

MOV DI,OFFSET RESULT

MOV CL,4

NEXT:

MOV AX,DX

AND AX,0FH

CMP AX,9

JG NEXT2

ADD AX,30H

MOV [DI],AL

INC DI

SHR DX,CL

CMP DX,0

JE EXIT

JNE NEXT

NEXT2:

ADD AX,37H

MOV [DI],AL

INC DI

SHR DX,CL

CMP DX,0

JE EXIT

JNE NEXT

EXIT:RET

CODE ENDS

END START

运行结果:

3500~3501H单元中存入四位16进制数203BH,结果如下:

3500~3501H单元中存入四位16进制数1AC3H,结果如下:

实验5

DATA SEGMENT

ORG 3500H

SOURCE DB 01H,02H,03H,04H,05H,06H,07H,08H

ORG 3510H

RESULT DW 4 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

START:

MOV AX,DATA

MOV DS,AX

MOV BL,0AH

MOV CX,4

MOV DI,OFFSET SOURCE

MOV SI,OFFSET RESULT

NEXT:

MOV AL,[DI]

MUL BL

INC DI

MOV AH,0

ADD AL,[DI]

MOV [SI],AX

INC SI

INC SI

INC DI

DEC CX

CMP CX,0

JNE NEXT

RET

CODE ENDS

END START

运行结果:

在3500~3507H单元中存入01H,02H,03H,04H,05H,06H,07H,08H,结果如下:

在3500~3507H单元中存入05H,05H,05H,06H,03H,02H,03H,04H,结果如下:

结果分析

在给定的储存单元存入不同的数值,执行以上程序后都能各自地输出正确的结果,说明以上程序功能符合题目要求。

相关热词搜索: 实验报告 微机 实验 报告

版权所有:杨帆范文网 2010-2024 未经授权禁止复制或建立镜像[杨帆范文网]所有资源完全免费共享

Powered by 杨帆范文网 © All Rights Reserved.。鲁ICP备16030136号