微型计算机实验代码,微型计算机原理实验1-数据传送

《微型计算机原理实验1-数据传送》由会员分享,可在线阅读,更多相关《微型计算机原理实验1-数据传送(14页珍藏版)》请在人人文库网上搜索。

1、实验一数据传送一、实验目的1.熟悉8086指令系统的数据传送指令及8086的寻址方式。2.利用Turbo Debugger调试工具来调试汇编语言程序。二、实验预习要求1.复习8086指令系统中的数据传送类指令和8086的寻址方式。2.预习Turbo Debugger的使用方法:a如何启动Turbo Debugger;b如何在各窗口之间切换;c如何查看或修改寄存器、状态标志和存储单元的内容;d如何输入程序段;e如何单步运行程序段和用设置断点的方法运行程序段。3.按照题目要求预先编写好实验中的程序段。三、实验任务1.通过下述程序段的输入和执行来熟悉Turbo Debugger的使用,并通过显示器屏。

2、幕观察程序的执行情况。练习程序段如下:MOV BL,08HMOV CL,BLMOV AX,03FFHMOV BX,AXMOV DS:0020H,BX2.用以下程序段将一组数据压入(PUSH堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。压栈程序段如下:MOV AX,0102HMOV BX,0304HMOV CX,0506HMOV DX,0708HPUSH AXPUSH BXPUSH CXPUSH DX1、POP DXPOP CXPOP BXPOP AX2、POP AXPOP BXPOP CXPOP DX3、POP CXPOP DXPOP AXPOP BX3.指出下列指令的错误并加。

3、以改正,上机验证之。(1 MOV BX,SI原因:两个操作数不能同时为存储器操作数修改:改为MOV BX,SI(2 MOV AH,BX原因:MOV操作指令中两个操作数字长必须相同修改:改为MOV AX,BX(3 MOV AX,SIDI原因:源操作数中同时出现两个变址寄存器修改:改为MOV AX,BXDI(4 MOV BYTE PTRBX,2000H原因:MOV操作指令中两个操作数字长必须相同修改:改为MOV WORD PTRBX,2000H(5 MOV CS,AX原因:一般情况下,代码寄存器CS不能作为目标操作数修改:改为MOV AX,CS(6 MOV DS,2000H原因:不能用立即数直接给。

4、段寄存器赋值修改:改为MOV DX,2000HMOV DS,DX4. 设置各寄存器及存储单元的内容如下:(BX=0010H,(SI=0001H(10010H=12H,(10011H=34H,(10012H=56H,(10013H=78H (10120H=0ABH,(10121H=0CDH,(10122H=0EFH说明下列各条指令执行完后AX寄存器中的内容,并上机验证。(1M OV AX,1200H执行后AX=1200H(2M OV AX,BX执行后AX=0010H(3M OV AX,0120H执行后AX=CDABH(4M OV AX,BX执行后AX=3412H(5M OV AX,0110HBX。

5、执行后AX=CDABH(6M OV AX,BXSI执行后AX=5634H(7M OV AX,0110HBXSI执行后AX=EFCDH5. 将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。直接寻址:MOV AX,1000HMOV 2020H,AX寄存器间接寻址:MOV SI,1000HMOV AX,SIMOV SI,2020HMOV SI,AX变址寻址:MOV BX,1000H MOV SI,0HMOV AX,BXSI MOV SI,1020H MOV BXSI,AX寄存。

6、器相对寻址: MOV BX,1000HMOV AX,0HBXMOV 1020HBX,AX6. 设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:0010H 单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:0010H单元中的内容进行交换。试编写程序段,并上机验证结果。MOV AX,1111HMOV BX,2222HMOV 0010H,3333HXCHG AX,BXXCHG BX, 0010H7. 设(DS1000H,(ES2000H,有关存储器的内容如下图所示。要求将 DS 段的内容传送到 AX 寄存器, 段的内容传。

7、送到 BX 寄存器, ES 试编写程序段。 MOV CX,1000H MOV DS,CX MOV CX,2000H MOV ES,CX MOV DS:0000H,0EEFFH MOV ES:0000H,0CCDDH MOV AX,DS:0000H MOV BX,ES:0000H 程序运行结果如下: 四、 小结 Turbo Debugger 的使用方法 Turbo Debugger 界面分为以下几个部分: 菜单栏:实现打开、保存、运行等操作 代码段区:可以在 cs:ip 指定的内存位置输入指令 寄存器区:可以设置或者查看寄存器的值 标志寄存器区:可以设置或者查看标志寄存器中各标志位的值 数据段或。

8、附加段区:可以在 ds:段内偏移地址指定的内存位置设置或者查 看存储器单元的值,以字节为单位 堆栈段区:可以设置或者查看堆栈中的值,以字为单位 操作方式如下: (1) 在代码段区光标所在位置每输入一条指令, 就单击回车或者 OK 键完成该 指令的输入 (2) 如果采用单步执行方式,则每按一次 F7 或 F8,将执行 CS:IP 所在位置的 一条指令, 同时光标移到下一条指令所在位置,已执行指令影响到的寄存 器将被突显出来 (3) 由于当前数据段区所显示的内容未包含最后一条指令所访问的存储单元, 因此没有看到执行结果, 可以连续按 Tab 键或者点击鼠标定位到数据段区, 再按 Alt-F10,打。

9、开局部菜单,然后选择 Goto 命令,输入要查看的存储单 元的地址,按回车或者点击 OK 按钮完成地址的输入 (4) 如果要再次执行程序, 需要先定位到代码段区第 1 条指令所在位置,然后 单击 Alt-F10,打开局部菜单并选择 New CS:IP 命令,此时代码区的光 标和指针符号都停留在第 1 条指令所在位置,寄存器区 IP 的值由于受到 该操作的影响会被重新赋值,并被突显出来 (5) 如果要执行整个程序段, 可以将代码区的光标停留最后一条指令的下一行, 按 F2 键设置断点,按 F4 或 F9 可以一次从程序段的起始位置执行到断点 所在位置 宁可累死在路上,也不能闲死在家里!宁可去碰壁,也不能面壁。是狼就要练好牙,是羊就要练好腿。什么是奋斗?奋斗就是每天很难,可一年一年却越来越容易。不奋斗就是每天都很容易,可一年一年越来越难。能干的人,不在情绪上计较,只在做事上认真;无能的人!不在做事上认真,只在情绪上计较。拼一个春夏秋冬!赢一个无悔人生!早安!献给所有努力的人。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值