十进制数ASCII码的方法
二.实验内容
统计内存数组中大于0和小于0的元素个数,并将统计结果分别存放在LRESULT和HRESULT变量中,并显示个数
三.程序流程图
开始
数组元素个数CL
SI指向数组首地址
比较
是正数?
Y
HERSULT1
LERSULT1
SI1SI
NCL10?Y
显示提示信息显示正元素个数
显示负元素个数
结束
f四.参考程序
DATASEGMENT
ARYDB13126957813868972433
DB4778313685564574245754
DB257888765432112234567
NARY
LRESULTDW0
HRESULTDW0
TJJG
DBSTATISTICSRESULT0DH0AH
DATA
ENDS
CODE
SEGMENT
ASSUMECSCODEDSDATA
STARTMOVAXDATA
MOV
DSAX
MOV
ESAX
SHOW
MACROB
PUSHDX
PUSHAX
MOVAH02H
INT21H
POPAX
POPDX
ENDM
XORCXCX
MOVCXN
LEASIARY
LOP
MOVALSI
CMPAL0
JNSPLUS
INCLRESULT
JMPCONT
PLUSINCHRESULT
CONTINCSI
LOOPLOP
LEADXTJJG
MOVAH09H
INT21H
SHOW
MOVAXHRESULT
CALLDISPL
SHOW0DH
SHOW0AH
SHOW
fDISPL
DISPL1
DISPLCODE
MOVAXLRESULTCALLDISPLMOVAX4C00HINT21HPROCPUSHDXPUSHAXMOVCX10MOVDX00HMOVBX00HDIVCXMOVBXDXADDAL30HMOVDLALMOVAH02HINT21HMOVDLBLADDDL30HMOVAH02HINT21HPOPAXPOPDXRETENDP
ENDSENDSTART
五.实验过程
进入E盘的MASM子目录,打开编辑窗口将汇编语言源程序输入对源程序进行汇编链接,执行并调试可执行文件
六.思考题
试分析程序中语句“MOVCXN”执行后,赋给CX寄存器的值是多少?
f答:赋给CX的值是63
七、实验感想:
通过本实验,基本学会了数据传送和算术运算指令的用法及将多位十六进制数转换为多位十进制数ASCII码得方法,熟悉了DOS环境,并且对微机原理及接口技术这门课程有了更深的了解和认识。
f实验三直流电机测速实验
一实验目的:
1掌握8254的工作原理和编程方法2了解光电开关的使用方法,掌握用光电传感器测量电机转速的方法
二实验内容
光电测速的基本电路由光电传感器、计数器和定时器组成。测量时在被测电机主轴上固定一个圆盘,圆盘的边缘上打上小孔。传感器的红外发射端和接收端装在圆盘的两测,电机带动圆盘转到有孔的位置时,红外光通过,红外接收管导通,输出低电平。红外光被挡住时接收管截止,输出高电平。用计数器记录在一定时间内传感器发出的脉冲个数就可以计算出电机转速。
三线路连接
接线方法:8254计数器定时器0和2作为定时器,确定测速时间,定时器0的CLK0接1MHZ脉冲频率,OUT0作为定时器2的输入,与CLK2相连,输出OUT2与8255的PA0端相连。GATE0、GATE2均接5V,8254计数器定时器1作为计数器,输入CLK1与直流电机计数r