微机原理与接口实验指导书(2010版)(4)

2019-04-09 21:16

第四章 软件实验部分

实验一 两个多位十进制数相减实验

一、实验要求:将两个多位十进制数相减,要求被减数,减数均以ASCII码形式按顺序存放在以DATAI

和DATA2为首的5个内存单元中(低位在前),结果送回DATAI处。

二、实验目的:1.学习数据传送和算术运算指令的用法。

2.熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。

三、实验步骤:连好实验箱后接通电源,打开上位机软件HK88TE进入软件调试界面:点击“文件\\打开”

文件路径为C:\\HK88TE\\cai\\asm\\Ruanjian\\Rjexp1.asm。具体操作如图所示:

15

点击编译连接生成可执行的exe文件。

通过单步运行调试程序,打开寄存器查看其变量变化情况。

16

四、实验程序框图: 五、实验程序:

文件路径为C:\\HK88TE\\cai\\asm\\Ruanjian\\Rjexp1.asm DATA SEGMENT

DATA1 DB 33H,39H,31H,37H,38H ;第一个数据(作为被减数) DATA2 DB 36H,35H,30H,38H,32H ;第二个数据(作为减数) MES1 DB '-','$'

开 始 MES2 DB '=','$' DATA ENDS

显示减数和被减数 STACK SEGMENT ;堆栈段 STA DB 20 DUP(?)

TOP EQU LENGTH STA 被减数和减数转换成十六进制数 STACK ENDS CODE SEGMENT

设 置 计 数 值 ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA

消除最低进位数 MOV DS,AX

MOV ES,AX

MOV AX,STACK 制进位减 MOV SS,AX MOV AX,TOP

结果送被减数区 MOV SP,AX

MOV SI,OFFSET DATA1

调整偏移量 MOV BX,05

CALL DISPL ;显示被减数 MOV AH,09H 计数值-1=10 LEA DX,MES1 INT 21H

结果转换成ASCII码字符串 MOV SI,OFFSET DATA2

MOV BX,05 ;显示减数 CALL DISPL 显示结果 MOV AH,09H LEA DX,MES2

结果 INT 21H

MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2

CALL SUBA ;减法运算 MOV SI,OFFSET DATA1

MOV BX,05 ;显示结果 CALL DISPL MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H

17

INT 21H INT 21H

MOV AX,4C00H INT 21H

DISPL PROC NEAR ;显示子功能 DSI: MOV AH,02

MOV DL,[SI+BX-1] ;显示字符串中一字符 INT 21H

DEC BX ;修改偏移量 JNZ DSI RET DISPL ENDP

SUBA PROC MOV MOV MOV SU1: SUB SUB DEC JNZ MOV MOV MOV CLC SU2: MOV MOV SBB AAS MOV INC INC LOOP MOV MOV MOV SU3: ADD ADD DEC JNZ RET SUBA ENDP CODE ENDS END NEAR DX,SI BP,DI BX,05

BYTE PTR[SI+BX-1],30H BYTE PTR[DI+BX-1],30H

BX ;将ASCII 码表示的数字串 SU1 ;转化为十六进制的数字串 SI,DX DI,BP

CX,05 ;包括进位,共5位 ;清进单位 AL,[SI] BL,[DI]

AL,BL ;带进位相减

;非组合BCD码的减法调整 [SI],AL ;结果送被减数区 SI

DI ;指向下一位 SU2 ;循环 SI,DX DI,BP BX,05

BYTE PTR [SI+BX-1],30H BYTE PTR [DI+BX-1],30H

BX ;十六进制的数字串转化ASCII码表示的数字串 SU3 START

18

实验二 两个数相乘的实验

一、实验要求:

实现十进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,算式结果在屏幕上显示出来。 二、实验目的:掌握乘法指令和循环指令的用法。 三、实验程序框图: 四、实验程序: DATA SEGMENT

DATA1 DB 32H,39H,30H,35H,34H DATA2 DB 34H MES1 DB '*','$' MES2 DB '=','$'

RESULT DB 6 DUP (00H) DATA ENDS

STACK SEGMENT

STA DB 20 DUP (?)

TOP EQU LENGTH STA STACK ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,TOP LEA SI,DATA1 MOV BX,05H L1: MOV AH,02H

MOV DL,[SI+BX-1] INT 21H

DEC BX JNZ L1

MOV AH,09H LEA DX,MES1 INT 21H

LEA SI,DATA2 MOV AH,02H MOV DL,[SI] INT 21H

MOV AH,09H LEA DX,MES2 INT 21H

MOV SI,OFFSET DATA2 ;显示算式

MOV BL,[SI] ;乘数DATA2→BL

AND BL,00001111B ;屏蔽高4位,ASCII码转化为十六进制数 MOV SI,OFFSET DATA1 MOV DI,OFFSET RESULT

19


微机原理与接口实验指导书(2010版)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2019届中考化学第一轮复习知识点跟踪检测1

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

马上注册会员

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