数码码制转换程序实验
微机原理-数码转换实验报告

微机原理-数码转换实验报告-CAL-FENGHAI.-(YICAI)-Company One1实验九数码转换一、实验目的1、掌握计算机常用数据编码之间的相互转换方法。
2、进一步熟悉DEBUG软件的使用方法。
二、实验内容1、ACSII码转换为非压缩型BCD码2、BCD码转换为二进制码3、十六进制数转换为ASCII码三、实验1、ACSII码转换为非压缩型BCD码DATA SEGMENT PARA 'DATA'DATA1 DB 8 DUP()DATA2 DB 8 DUP()DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,SEG DATA1MOV DS,AXMOV DX,DATAMOV AH,0AHINT 21HLEA SI,DATA1MOV CL,[SI+1]LEA DI,DATA2ADD SI, 2CHK: MOV AL,[SI+2]CMP AL, '0'JB L01CMP AL, '9'JA L01SUB AL,30HMOV BL,ALMOV [DI], BLINC SIINC DIDEC CXJNZ CHKL01: MOV BL, 0FFHLOOP CHKMOV AH,4CH INT 21H CODE ENDSEND START2、BCD码转换为二进制码DATA SEGMENTBCD DB 1,2,3,4,5A DWDATA ENDSSTACK SEGMENT PARA STACK''STACK''STAPN DW 50 DUP()STACK ENDSCODE SEGMENTMAIN PROC FARASSUME DS:DATA,CS:CODE,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXCALL CONVERTMOV A,BXRETMAIN ENDPCONVERT PROC NEARPUSH SIPUSH CXPUSH AXMOV SI,4L1:MOV AL,BCD[SI]CBWXCHG AX, BXMOV CX,10DMUL CXXCHG AX,BXADD BX,AXDEC SIJNZ L1POP AXPOP CXPOP SIEXIT:MOV AH,4CH INT 21H CONVERT ENDP CODE ENDSEND START3、十六进制数转换为ASCII码DATA SEGMENTDATA1 DW 2010HDATA2 DB 4 DUP()DATA ENDSSTACKS SEGMENT PARA STACK 'STACK'STACKS ENDSCODES SEGMENTASSUME SS:STACKS,CS:CODESASSUME DS:DATASSTART: MOV AX, DATAMOV DS, AXLEA SI, DATA1MOV AX, [SI]MOV CL, 12SHR AX, CLMOV BL, ALCALL ASCMOV DATA2, BLCALL XSMOV AX, [SI]MOV CL, 8SHR AX, CLAND AX, 000FHMOV BL, ALCALL ASCMOV DATA2+1, BLCALL XSMOV AX, [SI]MOV CL, 4SHR AX, CLAND AX, 000FHMOV BL, ALCALL ASCMOV DATA2+2, BLCALL XSMOV AX, [SI]AND AX, 000FHMOV BL, ALCALL ASCMOV DATA2+3, BLCALL XSMOV AH, 4CHINT 21HASC PROCCMP BL, 0AH JC LPADD BL, 07H LP: ADD BL, 30H RETASC ENDPXS PROCMOV DL, BL MOV AH, 02H INT 21HRETXS ENDPCODE ENDSEND START4、六进制数转换为十进制DATAS SEGMENTSTRING1 DB 0DH,0AH,'$'STRING2 DB 0DH,0AH,'$'DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV DX,OFFSET STRING1MOV AH,9INT 21HMOV CL,10HMOV BX,0NEWCHAR:MOV AH,1INT 21HSUB AL,30HJB DISPCBWXCHG AX,BXMOV CH,0MUL CXXCHG AX,BXADD BX,AXJNC NEWCHARDISP:MOV DX,OFFSET STRING2MOV AH,9INT 21HMOV CX,10000AGAIN:MOV DX,0MOV AX,BXDIV CXMOV BX,DXMOV DL,ALADD DL,30HCMP DL,39HJLE NEXTADD DL,7H NEXT:MOV AH,2INT 21HMOV DX,0MOV AX,CXMOV CX,10DIV CXMOV CX,AXCMP CX,0JNZ AGAINMOV AH,4CH INT 21H CODES ENDS END START5、十进制转换成七段码DATA SEGMENTDATA1 DB 3,4TABLE DB 23H,56H,42H,75H,00H,24H,67H,39H,20H DATA2 DB 2 DUP()DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA ST: MOV DI, OFFSET BUFDAMOV CL, 80HMOV BX, OFFSET TABLE DISI: MOV BL, [DI+0]MOV AX, BXXLATMOV DX, PORTSEGOUT DX, ALMOV AL, CLMOV DX, PORTBITOUT DX, ALPUSH CXMOV CX, 30HDELAY: LOOP DELAYPOP CXCMP CL, 20HJZ QUITINC DISHR CL, 1JMP DISIQUITCODE ENDSEND ST。
(实验二)二进制码转换为BCD码实验报告

实验二二进制码转换为BCD码一、实验目的1、掌握数码转换基本方法,加深对数码的理解。
2、用于十进制BCD码显示。
二、实验内容将AX的内容转换为十进制BCD码。
三、实验程序框图四、实验步骤脱机模式:(1)在P.态,按SCAL键,输入2CE0,按EXEC键。
(2)复位RST键,由于AX中给定数为0FFFF,查看BCD码结果保留在4100H~4104H 单元中,故其值应为06、05、05、03、05。
联机模式:(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击S2.ASM 文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)复位“系统复位”键,由于AX中给定数为0FFFF,查看BCD码结果保留在4100H~4104H单元中,故其值应为06、05、05、03、05。
注:操作过程参照“实验一二进制多位加法运算”。
五、实验程序清单X:\DICE-8086K3微机原理与接口实验箱CDROM\CODE\86kasm\S2.ASM;将AX拆为5个BCD码,并存入Result开始的5个单元DATA SEGMENT AT 0 ;S2.ASM,BIN-->BCDORG 4000HRESULT DB 5 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATAORG 2CE0HSTART PROC NEARMOV AX, DATAMOV DS, AXMOV DX,0000HMOV AX, 65535MOV CX, 10000DIV CXMOV RESULT, AL ; 除以 10000, 得WAN位数MOV AX,DXMOV DX,0000HMOV CX, 1000DIV CXMOV RESULT+1, AL ; 除以 1000, 得QIAN位数MOV AX,DXMOV DX,0000HMOV CX, 100DIV CXMOV RESULT+2, AL ; 除以 100, 得BAI位数MOV AX,DXMOV DX,0000HMOV CX, 10DIV CXMOV RESULT+3, AL ; 除以 10, 得SHI位数MOV RESULT+4, DL ; 得GE位数JMP $CODE ENDSEND START。
实验二 数码转换编程及程序调试

实验二数码转换编程及程序调试一、实验目的1、掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解2、熟悉键盘使用方法3、熟悉调试程序的方法二、实验设备TDN86/51或TDN86/88教学实验系统一台三、实验步骤1、十进制转换为二进制1)输入程序并检查无误后,经汇编、连接后装入系统2)在3500-3504H单元存入十进制数12的ASCII码3)G=0000:2000↙,运行程序4)用D3510↙查看结果2、BCD码转换为二进制码1)输入程序并检查无误后,经汇编、连接后装入系统2)在3500-3507单元中存入四个十进制数的BCD码3)G=0000:2000↙,运行程序四、实验结果1、键入E3500进行数据修改:>0000:3500=00_30>0000:3501=00_30>0000:3502=00_30>0000:3503=00_31>0000:3504=00_32运行之后D3510↙查看结果:>0000:3510 0C 00 CC CC CC CC CC CC2、键入E3500进行数据修改:>0000:3500=00_01>0000:3501=00_02>0000:3502=00_03>0000:3503=00_04>0000:3504=00_05>0000:3505=00_06>0000:3506=00_07>0000:3507=00_08运行之后D3510↙查看结果:>0000:3510 0C 00 22 00 38 00 4E 00。
微机实验数码转换

微机原理实验报告实验九:数码转换电子信息工程150210班金峥15021005一、实验题目实验九——数码转换二、实验目的1、掌握计算机常用数据编码之间的相互转换方法。
2、进一步熟悉DEBUG软件的使用方法。
三、实验步骤1、编辑源文件,经汇编连接产生EXE文件。
2、用DEBUG调试、检查、修改程序。
四、实验流程图实验9——1流程图五、实验源代码实验(一)ASCⅡ码转换为非压缩型BCD码编写并调试正确的汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入DATA1单元中,按回车停止键盘输入。
将其转换成非压缩型(非组合型) BCD 码后,再存入DATA2开始的单元中。
若输入的不是十进制数,则相应单元中存放FFH。
调试程序,用D命令检查执行结果。
代码DATA SEGMENT PARA 'DATA' ;定义数据段DATA1 DB 16 DUP(0) ;输入的ACSII码DATA2 DB 16 DUP(0) ;转换后输出的BCD码DATA ENDSSTACK SEGMENT PARA STACK 'STACK' ;定义堆栈段STACK1 DB 256 DUP(0) ;为堆栈准备256字节STACK ENDSCODE SEGMENT ;定义代码段ASSUME SS:STACK,CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA SI,DATA1 ;DATA1首地址存入SILEA DI,DATA2 ;DATA2首地址存入DIMOV CX,16 ;循环次数STEP1: MOV AH,01H ;输入字符,AL=输入的ASCII码INT 21HMOV [SI],ALCMP AL,0DH ;与回车作比较JE STEP3 ;若为回车则跳转到STEP3CMP AL,'0' ;比较AL与0的大小JB STEP2 ;若AL<0,跳转到STEP2CMP AL,'9' ;比较AL与9的大小JA STEP2 ;若AL>9,跳转到STEP2SUB AL,30H ;将输入字符的ASCII码转换为十进制数MOV [DI],AL ;将结果存入DATA2中INC SIINC DI ;为下一次数码转换做准备LOOP STEP1 ;跳转到STEP1,进行循环STEP2: MOV [DI],0FFH ;若输入的不是十进制数,相应单元存入0FFH INC SIINC DILOOP STEP1 ;跳转到STEP1,进行循环STEP3: MOV AH,4CH ;带返回码的结束INT 21HCODE ENDSEND START代码截图实验(二)BCD码转换为二进制数编写并调试正确的汇编语言源程序,使之将一个16位存储单元中存放的4位BCD码DATA1,转换成二进制数存入DATA2字单元中调试程序,用D命令检查执行结果。
(一)码型变换实验

实验一码型变换实验一、实验目的1. 了解几种常用的数字基带信号。
2. 掌握常用数字基带传输码型的编码规则。
3. 掌握常用CPLD实现码型变换的方法。
二、实验内容1. 观察NRZ码、RZ码、AMI码、CMI码、HDB3码、BPH码的波形。
2. 观察全0码或全1码时各码型波形。
3. 观察HDB3码、AMI码的正、负极性波形。
4. .观察NRZ码、RZ码、AMI码、CMI码、HDB3码、BPH码经过码型反变换后的输出波形。
5. 自行设计码型变换电路,下载并观察波形。
三、实验器材1. 信号源模块2. ⑥号模块(码型变换)3. ⑦号模块(载波同步)4. 20M双踪示波器5. 连接线(若干)四、实验原理(一)基本原理1、数字通信中,有些场合可不经过载波调制解调而让基带信号直接进行传输。
例如,市区内利用电传机直接电报通信,或者利用中继长距离直接传输PCM 信号等。
这种不使用载波调制装置而直接传送基带信号的系统,称为基带传输系统。
它的基本结构如图1所示:图1 基带传输系统基本结构结构说明:(1)信道信号合成器:产生适合于信传输的基带信号。
(2)信道可以是允许基带信号通过的媒质,如能通过从直流到高频的有线线路。
(3)接收滤波器:用来接收信号和尽可能排除信道噪声和其他干扰。
(4)抽样判决器:在噪声背景下判定与再产生基带信号。
2、基带调制与解调(1)数字基带调制器:把数字基带信号变换成基带信号传输的基带信号。
(2)基带解调器器:把信道基带信号变换成原始数字基带信号。
(3)对传输用的基带信号的主要要求(4)对代码:将原始信息符号编制成适合于传输用的码型;(5)对码型的电波形:电波形适宜于在信道中传输。
(二)编码规则1、NRZ码NRZ (Noreturn-To-Zero)码,全称是单极性不归零码,在这种二元码中用高电平和低电平(这里为零电平)分别表示二进制信息“1”和“0”,在整个码元期间电平保持不变。
例如图2:图2 NRZ码2、RZ码RZ (Return-To-Zero)码,全称是单极性归零码,与NRZ码不同的是,发送“1”时在整个码元期间高电平只持续一段时间,在码元的其余时间内则返回到零电平。
实验二 数码转换程序实验

数码转换程序实验实验目的掌握不同进制数及编码相互转换的程序设计方法。
实验内容及说明计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。
因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。
计算机与外设间的数码转换关系如图1所示,数码对应关系如表1所示。
图1表11.将ASCII码表示的十进制数转换为二进制数十进制数可以表示为:D n×10n+D n-1×10n-1+…+D0×100=D i×10i其中D i代表十进制数1、2、3…9、0。
上式可以转换为:∑D i×10i=((…(D n×10+D n-1)×10)+D n-2)×10+…+D1)×10+D0由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位D n开始作乘10加次位的操作,依次类推,则可求出二进制数结果。
本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转换成二进制数,并将转换结果按位显示在屏幕上。
转换过程的参考流程如图2所示。
The ascii code of decimal code are:000C。
执行了几步单步之后才有结果的。
图22.将十进制数的ASCII码转换为BCD码本实验要求将键盘输入的一个五位十进制数54321的ASCⅡ码存放在数据区中,转换为 BCD 码后,并将转换结果按位分别显示于屏幕上。
若输入的不是十进制数的ASCⅡ码,则输出“FF”。
提示:一字节ASCⅡ码取其低四位即变为BCD码。
转换部分的实验流程参见图3。
The BCD code of decimal are:01 02 03 04 05.图33.将十六进制数的ASCII码转换为十进制数十六位二进制数的值域为0-65535,最大可转换为五位十进制数。
数码转换程序实验报告

数码转换程序实验报告实验报告:数码转换程序一、实验目的:本实验的目的是编写一个数码转换程序,能够将给定的十进制数转换为二进制数、八进制数和十六进制数。
二、实验原理:1. 十进制数转二进制数的方法:首先,将十进制数不断除以2,得到的商继续除以2,直到商为0为止。
然后,将每次得到的余数按照相反的顺序排列,即为转换后的二进制数。
2. 十进制数转八进制数的方法:将十进制数不断除以8,得到的商继续除以8,直到商为0为止。
然后,将每次得到的余数按照相反的顺序排列,即为转换后的八进制数。
3. 十进制数转十六进制数的方法:将十进制数不断除以16,得到的商继续除以16,直到商为0为止。
然后,将每次得到的余数按照相反的顺序排列,并将10、11、12、13、14、15分别表示为A、B、C、D、E、F,即为转换后的十六进制数。
三、实验过程:1. 设计数码转换程序的算法。
2. 使用Python编程语言实现该算法。
3. 运行程序,输入一个十进制数。
4. 程序将根据用户输入的十进制数,分别计算出对应的二进制数、八进制数和十六进制数。
5. 输出转换结果。
四、实验结果:例如,用户输入的十进制数为1776。
则转换结果为:二进制数:11011110000八进制数:3400十六进制数:6F0五、实验总结:通过本次实验,我学会了如何编写一个数码转换程序,能够将给定的十进制数转换为二进制数、八进制数和十六进制数。
此外,我还加深了对十进制数转换为其他进制数的原理的理解。
通过实际操作,我发现编写一个数码转换程序并不复杂,只需要遵循一定的转换方法,按照算法进行计算即可得到转换结果。
这次实验还增加了我对Python编程语言的实际应用能力。
总的来说,本次实验使我更加熟悉了程序设计与算法,提高了我解决类似问题的能力。
码制转换

实验二 码制转换
2)编译综合: 保存文件,点Processing 菜单中Start Compilation或直接点 Start Compilation快捷按 钮,就自动进行完全编译,编译过程中出现警告不影响电路功能的正常实现。 如出现错误提示,则需返回检查原理图文件,修正后重新编译。
实验二 码制转换
实验二 码制转换
将实验项目下载到实验板,CP接实验板逻辑实验箱1KHz脉冲, DPLD实验板和逻辑实验箱共地,用逻辑分析仪测量波形: 点击虚拟仪器快捷方式, 打开虚拟仪器界面 虚拟仪器0-7通道分别连接8个输入输出变量。
实验二 码制转换
打开虚拟仪器界面,先把扫描速率调到50K,点“GO”,虚拟仪器界面动态显示波形,再点一次 “GO”
实验二 码制转换
查看仿真结果:
认真观察图中10个时刻的状态, D3D2D1D0由0000递增到1001,Y3Y2Y1Y0由0011递 增至1100,根据波形图列出真值表。可以看到:每个时刻D3、D2、D1、D0和Y3、Y2、 Y1、Y0的关系符合题意,设计正确。
实验二 码制转换
4)下载 把实验板通过下载线连接到计算机并口, 实验板USB电源接口连接计算机USB
G3 B3B2B1B0 B3B2B1B0 B3B2B1B0 B3B2B1B0 B3B2B1B0 B3B2B1B0 B3B2B1B0 B3B2B1B0 B3
仿真波形满足真值表,
实验二 码制转换
4.用Quartus输入实验电路并编译仿真:
仿真波形图真值表唯一对应,设计满足要求。 5.静态逻辑功能测试方法同题目1 6.动态逻辑功能测试
实验二 码制转换
BCD码转换为余三码: 一、推导过程: 列出真值表:
由真值表可得:Y3Y2Y1Y0=D3D2D1D0+0011
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院
数学与计算机学院
专业
计算机科学与技术
班级
计科11XX
学号
20151162XXXX
姓名
林XX
日期
2017.11.9
实验题目
数码码制转换程序实验
这是微机接口的第2个实验,老师给了2个程序。
本实验主要是要在实验室那台实验机器上运行。
所以去实验室,随便找一台机器,按上次的步骤接好线之后,居然提示,“无法识别的USB设备”,心想可能线松了,于是插拔几次,结果还是一样,所以干脆换一台机器,问题解决。
C
D
评定项目
A
B
C
D
算法正确
界面美观
布局合理
程序结构合理
操作熟练
语法、语义正确
解析完整
实验结果正确
文字流畅
报告规范
解题正确
其他:
评价教师签名:
年月日
直接在环境中ctrl+O打开文件,然后直接编译,运行,也可以调试,单步执行。
可以在Bochs中查看运行时输出,可以查看寄存器内容,可以查看运行时内存内容(需要修改段地址,即把冒号左边的地址改成ds的内容)。
这个是第一个程序运行截图。
这个是第2个程序的运行时输出。
于是本次实验结束。
教
师
评
价Hale Waihona Puke 评定项目AB