两个多位
十进制数相加的实验
一、 实验目的
1、 熟悉DOS系统命令;学习数据传送和算术运算指令
的用法。
2、 熟悉在PC机上建立、汇编、连接、调试、和执行汇
编语言程序的过程。
3、 初步练习用DEBUG调试程序运行8086汇编语言的
过程。
二、 实验内容
将两个多为十进制数相加,要求加数河被加数均以BCD码形式各自顺序存放在DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、 对照程序框图完成下列程序
开始
调整偏移量 计数值5——CX 清楚最低位进位 执行ADC带进位相加 AAA调整 结果送被加数区 N
四、代码段如下: data segment
Y 结 束 CX-1=0 data1 db 03h,09h,01h,07h,04h data2 db 06h,05h,00h,08h,02h
data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov si,offset data1 mov di,offset data2 mov cx,5 clc ad: mov al,[si] mov bl,[di] adc al,bl aaa mov [si],al inc si inc di loop ad hlt code ends end start 运行结果为:
09 04 02 06 07
经分析,显示的结果正确。截屏的程序与结果如下:
实验四 统计学生成绩实验
一、实验目的
通过对学生成绩统计程序的编写,掌握多重分支程序的基本设计方法。 二、实验内容
将十个学生的成绩按不同分数档进行统计,并将结果存入相应单元中。
四、 参考程序框图完成下列程序。 成绩表首地址——SI 开始 循环计数值——CX 取一个成绩 <60 S5+1 <70 S6+5 <80 S7+1 <90 S8+1 S10+1 =100 S9+1 SI+1 CX-1= 结 束 五、 实验代码及运行结果截图如下:(截图说明:由于屏幕
的,后面还有几句代码没有截到: hlt
code ends
end start
从上面可以看出,实验结果为: 01 02 02 03 01 01
实验六 将ASCII码 转换为二进制数
一、 实验目的
掌握码制转换的基本原理及相应的转换程序的编写方法。 二、 实验内容
将ASCII数据转换为二进制数据;要求将内存中以ASCII码表示的十进制整数(范围0——32767),转换成二进制格式存储。 三、 参考框图完成下列程序。
开始 ASCII字符串偏移——SI;字符个数——BL AX 清 0 乘数10——DX
AX乘DX——AX
四、实验运行结果分析及截图如下:
结 束 AX——DATA1 BL=0? SI+1;BL-1 AX+DX DL AND 0FH 取一个ASCII——DL DH清 0
结果正确:
输入数据为:‘39’ 输出结果为:0F7C
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务