二进制码转换为BCD码.docx
- 文档编号:23757437
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:18
- 大小:483.86KB
二进制码转换为BCD码.docx
《二进制码转换为BCD码.docx》由会员分享,可在线阅读,更多相关《二进制码转换为BCD码.docx(18页珍藏版)》请在冰豆网上搜索。
二进制码转换为BCD码
实验三二进制码转换为BCD码(三课时)
实验日期:
2011.10.26指导教师:
刘波星期:
三节次:
3,4实验课时:
3
姓名:
李飞学号:
09168011专业、班级:
09通信〈1〉班得分:
一、实验目的
1、掌握数码转换基本方法,加深对数码的理解。
2、用于十进制BCD码显示。
二、实验内容
将AX的内容转换为十进制BCD码。
三、实验程序框图
四、实验程序清单
采用COM模板
Movsi,1000h
movdx,0000h
movax,0FFFFH
movcx,10000
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位数
mov[si+4],dl;得ge位数
movah,4ch
int21h
五、实验运行结果
六、实验思考题
1、上面的程序中,转换的结果保持在什么地方?
截图显示ax的内容已经转换后的结果。
2、设ax中存放的是有符号的数,其值可能是-32768—+32767
试编程实现在数据段3000H开始的地方,保持ax的BCD码值
如:
若ax的内容是FF51H,则结果(-175)
3000h单元的内容是2dh,‘-’的ASCII码
3001h单元的内容是00h’
3002h单元的内容是00h
3003h单元的内容是01h
3004h单元的内容是07h
3005h单元的内容是05h
实验程序清单
Movsi,3001h
movdx,0000h
movax,0FF51h
movcx,10000
TESTax,8000h
JZZHENGSHU:
FUSHU:
NEGAX
MOV[3000H],2DH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ZHENGSHU:
MOV[3000H],2BH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ENDDD:
movah,4ch
int21h
实验运行结果:
如:
若ax的内容是3333H,则结果(+13107)
3000h单元的内容是2bh,‘+’的ASCII码
3001h单元的内容是01h’
3002h单元的内容是03h
3003h单元的内容是01h
3004h单元的内容是00h
3005h单元的内容是07h
实验程序清单
Movsi,3001h
movdx,0000h
movax,3333h
movcx,10000
TESTax,8000h
JZZHENGSHU:
FUSHU:
NEGAX
MOV[3000H],2DH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ZHENGSHU:
MOV[3000H],2BH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ENDDD:
movah,4ch
int21h
提示:
先判断AX的最高位,若为0,表示AX是正数,可以直接利用上面的程序转换,注意3000H单元要先保存‘+’,数据部分从3001h单元开始存放。
若AX的最高位为1,表示AX是负数,则先对AX求负,(此结果是求AX的绝对值),利用上面的程序转换,注意3000h单元要先保持‘—’
,数据从3001h单元开始存放。
编制程序,运行两个程序结果(AX=D8F0H,AX=2710H),并截图。
Movsi,3001h
movdx,0000h
movax,0D8F0h
movcx,10000
TESTax,8000h
JZZHENGSHU:
FUSHU:
NEGAX
MOV[3000H],2DH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ZHENGSHU:
MOV[3000H],2BH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ENDDD:
movah,4ch
int21h
Movsi,3001h
movdx,0000h
movax,2710h
movcx,10000
TESTax,8000h
JZZHENGSHU:
FUSHU:
NEGAX
MOV[3000H],2DH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ZHENGSHU:
MOV[3000H],2BH
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位数
mov[si+4],dl;得ge位数
JMPENDDD
ENDDD:
movah,4ch
int21h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二进制码 转换 BCD