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

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

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

MOV CX,05 LOOP1: MOV AL,[SI]

AND AL,00001111B ;取被乘数DATA1,ASCII变十六进制数 INC SI ;指向被乘数1的下一字符单元 MUL BL ;相乘

AAM ;AAM调整

ADD AL,[DI] ;结果低位与前次计算的进位相加 AAA ;AAA调整 MOV [DI],AL

INC DI ;结果送存到下一单元 MOV [DI],AH

LOOP LOOP1 MOV CX,06 MOV SI,DI DISPL: MOV AH,02 MOV DL,[SI] ADD DL,30H INT 21H DEC SI

LOOP DISPL MOV AX,4C00H INT 21H CODE ENDS END START

;计算结果高位进位送存 ;显示结果 ;结束 20

实验三 BCD码相乘实验

一、实验要求:

实现BCD码的乘法,要求被乘数和乘数以组合的BCD码形式存放,各占一个内存单元,乘积存入在另外两个内存单元中,由于没有组合的BCD码乘法指令,程序中采用将乘数1作为计算器,累加另一个乘数的方法得到计算结果。 二、实验目的:

掌握用组合的BCD码表示数据,并熟悉怎样实现组合BCD码乘法运算。 三、实验程序框图:(附后) 四、实验程序:

DATA SEGMENT FIRST DB 99H SECOND DB 25H

THIRD DB 2 DUP(?) MES1 DB '*','$' MES2 DB '=','$' DATA ENDS

STACK SEGMENT PARA STACK 'STACK' STAPN DB 100 DUP(?) TOP EQU LENGTH STAPN STACK ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV BL,FIRST ;被乘数送BL MOV CL,SECOND ;乘数送CL MOV DX,0 ;部分积清0 MOV AL,BL

AGAIN: OR AL,AL JZ DONE ;被乘数减到0则转结果显示 MOV AL,DL ADD AL,CL DAA ;乘数于部分积低位相加后调整 MOV DL,AL MOV AL,DH ADC AL,0 DAA ;往部分积高位送进位后调整 MOV DH,AL MOV AL,BL DEC AL

21

DAS ;组合BCD码减法调整 MOV BL,AL JMP AGAIN DONE: LEA BX,THIRD MOV [BX],DX LEA SI,FIRST CALL DIS XOR AX,AX MOV AH,09H LEA DX,MES1 ;* INT 21H LEA SI,SECOND CALL DIS XOR AX,AX LEA DX,MES2 MOV AH,09H INT 21H LEA SI,THIRD INC SI CALL DIS DEC SI CALL DIS MOV AX,4C00H INT 21H

DIS PROC NEAR MOV AL,[SI] MOV CL,04H SHR AL,CL ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,[SI] AND AL,0FH ADD AL,30H MOV DL,AL MOV AH,02H INT 21H RET DIS ENDP CODE ENDS END START

;= ;返回DOS ;显示子程序 22

实验四 排 序 实 验

一、实验要求:使用DEBUG程序,从首址为1000H的内存区开始存放50个数,要求设计程序将这些数由小到大排序,排序后的数,仍放在该区域中。

二、实验目的:掌握用汇编语言编写气泡排序程序的思路和方法。 三、实验程序框图: 开始 初始化 读键盘输入的段址(ES)和偏移量(SI) 外循环数SORTNUX-1送CX,BX清0 [SE+BX]送AL 交换单元指针AH=BL CX入栈 计算内循环数送CX 内循环控制变量DX初始化 DX+1 AL>DX指示单元的值 DX指示单元的值送AL, 修改指针AH CX-1=0000 交换[SI+BX]单元和[AH]单元的值 显示提示信息 BX+1 显示排序信息 CX出栈

四、实验程序: CRLF MACRO

CX-1=0000 返回DOS 23

MOV AH,02H MOV DL,0DH INT 21H

MOV AH,02H MOV DL,0AH INT 21H ENDM

DATA SEGMENT SORTNUM EQU 50

MESS DB '1000:0起50个数由小到大排列如下:',0DH,0AH,'$' DATA ENDS

STACK SEGMENT STA DW 32 DUP(?) TOP DW ? STACK ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX

MOV SP,TOP ;初始化 MOV SI,0 ;偏移量 MOV AX,1000H ;段址 MOV DS,AX

MOV CX,SORTNUM ;排序数的长度 DEC CX ;外循环次数 XOR BX,BX ;偏移指针清0 III: MOV AL,[SI+BX] ;取数

MOV AH,BL ;AH为交换单元指针 PUSH CX

MOV DX,BX ;初始化内循环控制变量 JJJ: INC DX ;内循环控制变量值增1 PUSH BX ;入栈保存 MOV BX,DX CMP AL,[SI+BX]

JBE UUU ;若AL较小,则不必交换,转UUU MOV AL,[SI+BX]

MOV AH,DL ;置AL为新的较小值并修改AH指针 UUU: POP BX

LOOP JJJ ;内循环 MOV CL,[SI+BX] MOV [SI+BX],AL MOV DL,AH PUSH BX MOV BX,DX MOV [SI+BX],CL

POP BX ;交换

INC BX ;偏移量加1

24

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理与接口实验指导书(2010版)(5)在线全文阅读。

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