- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 汇编基本指令
实验二 汇编程序基本指令
一、实验目的:
1、掌握操作数的存放位置和操作数的类型,加深对寄存器功能和访问内存过程的理解。
2、掌握各种寻址方式,进一步理解指令及操作数。
3、熟悉基本是数据传送指令的格式、功能及用法用DEBUG运行察看运行结果实验 MOV AX , 3069H
2、寄存器寻址 MOV AL , BH
3、直接寻址 MOV AX , [ 2000H ]
4、寄存器间接寻址 MOV AX , [ BX ]
5、寄存器相对寻址 MOV AX , COUNT [ SI ]
6、基址变址寻址 MOV AX , [ BP ] [ DI ]
7、相对基址变址寻址 MOV AX , MASK [ BX ] [ SI ]
四、实验内容
1、用不同的寻址方式完成将S1为起始地址的30个字符依次传送到同数据段的以S2为起始地址的一片字节存储单元里。
(1)、源程序
可以参考zjxz.asm和jcqjj.asm和jcqxd.asm和jzbz.asm和xdjzbz.asm这几个文件,访问内存单元的时候分别用了直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址。
DSEG SEGMENT
S1 DB ‘ABCDEFGHIJKLMNOPQRSTUVWXYZABCD’----------任意的30个字符都可以,但看结果的时候一定要和自己的程序对上。
S2 DB 30 DUP (?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG
START:
MOV AX, DSEG
MOV DS, AX
MOV AL,S1;直接寻址方式:
MOV S2,AL
MOV AL,S1+1;直接寻址方式:
MOV S2+1,AL
MOV AL,S1+2;直接寻址方式:
MOV S2+2,AL
……
MOV AX, 4C00H
INT 21H
CSEG ENDS
END START
寄存器间接寻址方式:
MOV SI,OFFSET S1
MOV DI,OFFSET S2
MOV CX,30
NEXT:MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
LOOP NEXT
寄存器相对寻址方式:
MOV SI,0
MOV CX,30
NEXT:MOV AL,S1[SI]
MOV S2[SI],AL
INC SI
LOOP NEXT
基址加变址寻址方式:
MOV BX,OFFSET S1
MOV BP,OFFSET S2
MOV SI,0
MOV CX,30
NEXT:MOV AL, [BX+SI]
MOV DS: [BP+SI],AL
INC SI
LOOP NEXT
相对的基址加变址寻址方式:
MOV [BX+SI+30],AL
(2)、汇编过程和连接过程
参考汇编运行步骤Word文件。
(3)在DEBUG调试环境下查看运行结果的过程。
直接寻址方式:
用同样的方式调试其它寻址方式编写的程序。
五、实验结论
1、为汇编程序运行结果。
2、用DEBUG 命令后显示的内容。
3、如何完成寻址的过程,用语言描述清楚。
六、实验讨论
1、在汇编过程中遇到的错误,及解决办法,从中学会的知识。
2、立即寻址和直接寻址的区别
3、寄存器寻址和寄存器间接寻址的区别。
4、与内存有关的寻址和其他寻址的区别。
参考书目
《80x86汇编语言程序设计》 廖建明主编 清华大学出版社
文档评论(0)