合肥工业大学电气与自动化专业实验中心80X86微机原理及接口技术实验教程微机实验思考题详解.doc

合肥工业大学电气与自动化专业实验中心80X86微机原理及接口技术实验教程微机实验思考题详解.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 数据传送 1、子程序Move中为什么比较SI、DI? 源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。 源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。 2、编写一个程序,将DS段中的数据传送到实验仪B4区的61C256中。说明:B4区的61C256在I/O设备区,使用、读写。 实验二 数制转换实验 实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么? 最大65535(FFFF),最小为0.存储器只能存16位,即FFFF。 将一个十六位二进制数转换为ASCII码十进制数时,如何确定Di的值? Di:表示十进制数0~9 将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。 该位除以10取商,加30H。即加30H为对应的 ASCII码。 在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次? 取出存入四位十六进制数的下一位。腾出空间。 自编ASCII码转换十六进制、二进制转换BCD码的程序,并调试运行。 ASCII码转换十六进制 SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV CX,0004H MOV DI,3500H MOV DX,[DI] A1: MOV AX,DX AND AX,00FFH CMP AL,40H JB A2 SUB AL,07H A2: SUB AL,30H MOV [DI+0DH],AL DEC DI PUSH CX MOV CL,08H SHR DX,CL POP CX LOOP A1 MOV AX,4C00H INT 21H CODE ENDS 实验三 运算类编程实验 1. 求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H; 2. 多字节加法程序设计,参考原程序,编写个两个64位数的减法程序,结果保存到具体内存单元,调试并记录。 实验四 分支程序设计实验 1、将源数据首址改为3100H,目的数据地址改为310A,再加以验证(注意单步调试); 2、将源数据首址改为310AH,目的数据地址改为3100,再加以验证(注意单步调试)。 实验六 排序程序设计实验 1、注意两个循环是如何循环的,如果想减少判断次数,比如说几次交换后就不再有数据交换了,如何修改程序来减少程序执行时间; 000H-3009H中内容按从到排列 硬件一 静态存储器扩展实验(接线只有一种) 改变实验程序,按非规则字写存储器,观察实验结果。 规则字是低位地址为奇数,否者是非规则字,非规则字读取需要两个周期,而规则字只需要一个周期 在计算机中,一个字占两个字节。一个字在存储器中按字节存储,若高地址为偶数,低地址为奇数,则为规则字。相反,若高地址为奇数,低地址为偶数,则为非规则字。字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节1.在中断中完成BCD码转换为二进制数。 将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,每次中断完成一个二位十进制数的BCD码转换。 实验步骤:将四个二位十进制数的BCD码存入3500H~3507H中,即:先键入E3500,然后输入01 02 03 04 05 06 07 08.运行程序,按一次单次脉冲开关KK1+,查看3510内容,应为0ch。再按一次单次脉冲开关KK1+,查看3511内容,应为22。继续发中断,依次查看3512,3513内容。 在中断中完成BCD码转换为二进制数。 .MODEL TINY IO8259_0 EQU 0260H ;EUQ等值赋值语句0260H????端口地址 ? IO8259_1 EQU 0261H .DATA BUFFER DB 8 DUP(?) ReDisplayFlag DB 0 .STACK 100 .CODE START: MOV AX,@DATA MOV DS,AX ;ds整数段寄存器es附加段寄存器 MOV ES,AX PUSH DS CALL WriIntver CLI

文档评论(0)

boss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档