资源描述:
《二进制码转换为BCD码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三二进制码转换为BCD码(三课时)实验日期:2011.10.26指导教师:刘波星期:三节次:3,4实验课时:3姓名:李飞学号:09168011专业、班级:09通信〈1〉班得分:一、实验目的1、掌握数码转换基本方法,加深对数码的理解。2、用于十进制BCD码显示。二、实验内容将AX的内容转换为十进制BCD码。三、实验程序框图 四、实验程序清单采用COM模板Movsi,1000h movdx,0000h movax,0FFFFH movcx,100
2、00 divcx mov[si],al;除以10000,得wan位数 movax,dx movdx,0000h movcx,1000 divcx mov[si+1],al;除以1000,得qian位数 movax,dx movdx,0000h movcx,100 divcx mov[si+2],al;除以100,得bai位数 movax,dx movdx,0000h movcx,10 divcx mov[si+3],al;除以10,得shi
3、位数 mov[si+4],dl;得ge位数 movah,4chint21h五、实验运行结果六、实验思考题1、上面的程序中,转换的结果保持在什么地方?截图显示ax的内容已经转换后的结果。2、设ax中存放的是有符号的数,其值可能是-32768—+32767试编程实现在数据段3000H开始的地方,保持ax的BCD码值如:若ax的内容是FF51H,则结果(-175)3000h单元的内容是2dh,‘-’的ASCII码3001h单元的内容是00h’3002h单元的内容是00h3003h单元的内容是01h3004h单元的内容是07h3005h
4、单元的内容是05h实验程序清单Movsi,3001hmovdx,0000hmovax,0FF51hmovcx,10000TESTax,8000hJZZHENGSHU:FUSHU:NEGAXMOV[3000H],2DHdivcxmov[si],al;除以10000,得wan位数movax,dxmovdx,0000hmovcx,1000divcxmov[si+1],al;除以1000,得qian位数movax,dxmovdx,0000hmovcx,100divcxmov[si+2],al;除以100,得bai位数movax,dxmovdx,00
5、00hmovcx,10divcxmov[si+3],al;除以10,得shi位数mov[si+4],dl;得ge位数JMPENDDDZHENGSHU:MOV[3000H],2BHdivcxmov[si],al;除以10000,得wan位数movax,dxmovdx,0000hmovcx,1000divcxmov[si+1],al;除以1000,得qian位数movax,dxmovdx,0000hmovcx,100divcxmov[si+2],al;除以100,得bai位数movax,dxmovdx,0000hmovcx,10divcxmov
6、[si+3],al;除以10,得shi位数mov[si+4],dl;得ge位数JMPENDDDENDDD:movah,4chint21h实验运行结果:如:若ax的内容是3333H,则结果(+13107)3000h单元的内容是2bh,‘+’的ASCII码3001h单元的内容是01h’3002h单元的内容是03h3003h