收藏 分销(赏)

实验一--两个多位十进制数相加的实验.doc

上传人:仙人****88 文档编号:9120646 上传时间:2025-03-14 格式:DOC 页数:17 大小:905.50KB 下载积分:10 金币
下载 相关 举报
实验一--两个多位十进制数相加的实验.doc_第1页
第1页 / 共17页
实验一--两个多位十进制数相加的实验.doc_第2页
第2页 / 共17页


点击查看更多>>
资源描述
实验一 两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图 3-1 四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL AAA MOV [SI],AL DEC SI DEC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05H AD3: ADD BYTE PTR [SI],30H ADD BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD3 RET ADDA ENDP CODE ENDS END START 实验结果如图: 结果分析:两个数相加后结果放在内存中DS:0000处,且结果应给为84256,实验结果与理论分析一致。 实验二 排序实验 一、实验目的 掌握用汇编语言编写排序程序的思路和方法。 二、实验内容 将指定内存出开始的数据(最多为4位数)按从大到小的顺序排列。第一个数字表示数据的个数(不是要比较的数值!!!)。 三、程序流程图 图 3-2 四、程序清单 DATA SEGMENT ADDR DW 8,234,35,67,876,54,39,765,237 DATA ENDS STACK SEGMENT STA DW 32 DUP(?) TOP DW ? STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX MOV SP,TOP MOV CX,WORD PTR ADDR[0] DEC CX LOOP1: MOV DI,CX MOV BX,2 LOOP2: MOV AX,WORD PTR ADDR[BX] CMP AX,WORD PTR ADDR[BX+2] JGE CCC XCHG AX,WORD PTR ADDR[BX+2] MOV WORD PTR ADDR[BX],AX CCC: ADD BX,2 LOOP LOOP2 MOV CX,DI LOOP LOOP1 EXIT: MOV AX,4C00H INT 21H CODE ENDS END START 实验结果如图: 结果分析:此程序实现的是八个数据的排序,用了一个循环,首先第一个数与第二个数相比较,然后第三个数再与第一第二个数分别比较,依次类推,最终得到如图所示结果。 实验三 自编程序上机调试 一、实验目的 掌握用汇编语言编写排序程序的思路和方法。 二、实验内容 data segment x dw 600 y dw 25 z dw -2000 s dw ? data ends code segment assume ds:data,cs:code start:mov ax,data mov ds,ax mov ax,x mov bx,y mul bx mov bx,59D8H add ax,z sub bx,ax mov ax,bx mov bx,z idiv bx mov s,ax mov ah,4cH int 21H code ends end start 实验结果如图: 结果分析结果应该为-5,即FFFGB。 实验四 8255并行I/O口实验 一、实验要求 利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输入,PB口作输出。 二、实验目的 1、了解8255芯片结构及编程方法。 2、了解8255输入/输出实验方法。 三、预备知识 8255是Intel公司生产的与Intel8080/8085系列的MPU配套的可编程外围接口电路,简称PPI。它有A、B、C三个八位端口寄存器,通过24位端口线与外部设备相连,基中C口可分为上半部和下半部。这24根端口线全部为双向三态。三个端口可分二组来使用,可分别工作于三种不同的工作方式。 四、实验原理图及连线 1、本实验主要用到的模块:8255模块、开关量输出模块、0-1指示模块、实验译码单元等; 2、PA0-PA7分别接开关量输出模块S0-S7对应的插座; 3、PB0-PB7分别接0-1指示模块DO71-DO78对应的插座; 4、8255A的片选/CS接地址译码单元的2A0-2A7; 5、数据线XD0—XD7接系统数据线区的任一插座。 图 3-3 五、实验内容 将实验的线路连接好后,编程,将8255的A口作为输入,输入信号由8个逻辑电平开关提供,B口作为输出,其内容由发光二极管来显示。 六、程序框图 开始 延时 置8255工作方式 读8255PA口 置8255PB口 见图3-4。 图 3-4 七、实验步骤 1、参照图中的内容连好线; 2、运行上位机软件,装载并运行相应程序即可(联机请参考程序8255.asm)。 注意:同学们自己编写程序时,8255的/CS连线可以接地址译码单元的其他信号,其它连线相同。如果用的端口与本实验不一样,也可以改变IO口的连线。 八、仪器配置 ZY15MicInt12BB微机原理及接口实验箱 一台。 九、实验程序: L8255_CMD EQU 2A3H L8255_PA EQU 2A0H L8255_PB EQU 2A1H L8255_PC EQU 2A2H CODE SEGMENT ASSUME CS:CODE,DS:CODE BEGIN: MOV CX,0FFH AA: LOOP AA MOV DX,L8255_CMD MOV AL,9CH ;10011000 OUT DX,AL NOP NOP NOP NOP NOP BB: MOV DX,L8255_PA IN AL,DX XOR AL,0FFH MOV DX,L8255_PB OUT DX,AL JMP BB CODE ENDS END BEGIN 九、实验现象 A口的8个开关能控制其所对应的8个逻辑灯的亮和灭。 结果分析:通过对8255控制端口的方式设定,实现通过从A口输入高低点电平控制与B相连接的逻辑灯的亮与灭,当某个开关处于高电平时,对应的逻辑灯就会亮。 十、实验总结 通过这次实验我知道了8255并行I/O端口控制程序的写法,也了解了其控制过程。 实验五 8259A中断实验 一、实验要求 掌握用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。 二、实验目的 了解8088/86与8259之间的连接方法。 学习8088/86对8259的控制方法。 三、预备知识 8259A是Intel公司专为控制优先级中断而设计的NMOS芯片。它集中断源优先级排队、中断源识别、中断向量提供和中断屏蔽等功能电路于一体,因而中断系统无需附任何电路,只需对8259A进行编程,就可管理8级优先中断,且中断请求方式和优先级模式等中断结构可通过编程设定或变更,中断入口地址也可由用户任意指定。 四、实验原理说明及连线 1、本实验主要用到的模块:中断模块、单次脉冲源模块等; 2、IR6接单次脉冲的/Q端。 图 3-5 五、实验内容 用单脉冲发生器的输出脉冲作为中断源,每按一次按键产生一次中断申请,中断服务程序将在实验箱的显示屏显示一个字符“R”。 六、程序框图 主程序框图见图3-6; 中断程序框图见图3-7。 设置中断服务程序地址 中断允许 程序开始 等待中断 关中断 现场保护 现场恢复 中断返回 显示字符R 开中断 开始 图 3-6 图 3-7 七、实验步骤 1、确认连接好线路; 2、装载并运行程序(联机时请参考程序8259.asm)。 八、仪器配置 ZY15MicInt12BB微机原理及接口实验箱 一台。 九、实验程序: UCODE SEGMENT ASSUME CS:UCODE BEGIN: JMP BEGIN_ INT_SEG DW ? INT_OFF DW ? BEGIN_: CLI MOV AH,35H MOV AL,0EH INT 21H MOV INT_OFF,BX MOV INT_SEG,ES MOV AX,CS ADD AX,10H MOV DS,AX MOV AH,25H MOV AL,0EH MOV DX,OFFSET UINTR INT 21H IN AL,21H AND AL,0BFH MOV DX,21H OUT DX,AL STI JMP $ UINTR PROC FAR CLI MOV DX,88H MOV AL,'R' OUT DX,AL MOV AL,20H OUT 20H,AL IRET UINTR ENDP UCODE ENDS END BEGIN 实验结果分析:调用通过中断程序35H和25H功能显示程序中所设定的字符R。 十、实验现象 当中断发生时,及给一个有效点评脉冲时,实验箱屏幕将会显示字符R。 实验六 ADC0809A/D转换实验 一、实验目的 1、加深理解逐次逼近法模数转换器的特征和工作原理; 2、掌握A/D转换芯片与8088/86的接口方法; 3、了解A/D芯片ADC0809转换性能及编程方法。 二、预备知识 A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。 实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,做为转换完成的信号。 三、实验原理说明及连线 1、本实验的位置在实验箱的“ADC0809模块”; 2、本实验用芯片ADC0809的片选地址为2B8H,实验箱上已固定好,不需要再连线; 3、将该实验模块的CLOCK和“信号源模块”的1MHz信号连接起来; 4、用排线将“系统数据总线输出单元”中的任意一组数据线和本实验模块的“ADC0809:XD0-XD7”连接起来; 5、将通道0模拟量输入端IN0接模拟信号产生电路模块中的电位器R093的中心抽头,然后将R093的两端一端接地,另一端接VCC(+5V)。 图 3-8 四、实验内容 利用电位器输出一个幅值可调的直流电压信号,送入ADC0809的通道0,将转换后的结果在屏幕上显示出来,并验证它与输入电压的关系。 五、实验步骤 1、确认连接好线路; 2、装载运行程序(联机时请参考程序0809.asm)。 六、实验框图 图 3-9 七、仪器配置 ZY15MicInt12BB微机原理及接口实验箱 一台 八、实验现象 当用户扭动电阻器时,屏幕将显示相应的数值。 九、实验程序 CODE SEGMENT ASSUME CS:CODE START: MOV DX,2B8H ;2B0H-2B7H MOV AL,00H OUT DX,AL CALL DELAY IN AL,DX CALL SHOW CALL DELAY JMP START SHOW PROC NEAR PUSH DX PUSH AX MOV CL,4 SHR AL,CL AND AL,0FH CALL H2C JC SHOW_OUT MOV DX,88H OUT DX,AL POP AX AND AL,0FH CALL H2C JC SHOW_OUT MOV DX,88H OUT DX,AL MOV CX,0FFH DELA: LOOP DELA SHOW_OUT: POP DX RET SHOW ENDP H2C PROC NEAR CMP AL,0 JAE N0_9 JMP H2C_ERR N0_9: CMP AL,9 JBE N0_9_OK CMP AL,0AH JAE HEX_CMP JMP H2C_ERR HEX_CMP: CMP AL,0FH JBE HEX_CMP_OK JMP H2C_ERR HEX_CMP_OK: CLC ADD AL,37H JMP CMP_OUT N0_9_OK: CLC ADD AL,30H JMP CMP_OUT H2C_ERR: STC CMP_OUT: RET H2C ENDP DELAY PROC NEAR MOV CX,0FFH DELEA: LOOP DELEA RET DELAY ENDP CODE ENDS END START 实验结果分析:本实验运用0809模块把不同的模拟信号转换成数字信号,通过调节电位器控制不同的电压,在显示屏上得到不同的数字,即不同的数字信号。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服