- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章指令系统课件
第3章 指令系统 3.1 指令格式和寻址方式 一、汇编语言指令格式: [标号:]操作码 操作数1,操作数2 [;注释] 换行表示一条指令结束。 例: LOOP: MOV A,#40H ;取参数 二、机器语言指令格式: 操作码 [操作数1] [操作数2] 有单字节、双字节和三字节指令。 三、指令寻址方式 (寻址:如何指定操作数的所在单元) (一)操作数类型: 位 (bit) ─ 位寻址区中的一位二进制数据 字节(Byte)─ 8位二进制数据 字 (Word) ─ 16位双字节数据 2.直接寻址方式: 指令操作数是存储器单元地址,数据放在存储器单元中。 MOV A,40H ;A?(40H) 3.寄存器寻址方式: 4.寄存器间接寻址方式: 指令的操作数为寄存器名,寄存器中为数据地址。 存放地址的寄存器称为间址寄存器或数据指针。 例: MOV A,@R0 ;A?((R0)) 设指令执行前 A=20H,R0=40H,地址为40H 存储器单元内容如图所示。执行指令后, A= ? ,R0 = ? , (40H)= ? 5.变址间接寻址方式: 例: MOVC A,@A+DPTR ;A?((A+DPTR)) 设指令执行前 A=09H,DPTR=2000H,存储器单元内容如图所示。执行指令后, A= ? DPTR= ? 6.位寻址方式: 7. 相对寻址方式: 目的地址=转移指令地址+转移指令字节数+rel (rel为偏移量) 指令功能分类: 数据传送、数据操作、布尔处理、程序控制。 (一)内部传送指令: 实现片内数据存储器中数据传送。 指令格式: MOV 目的操作数,源操作数 寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间址。 例: MOV A,#30H MOV 4FH,A MOV R0,#20H MOV @R0,4FH MOV 21H,20H 说 明: (二) 外部RAM传送指令: (MOVX) 指令格式:MOVX 目的操作数,源操作数 寻址方式:片外数据存储器用寄存器间址方式。 DPTR作16位数据指针,寻址64KB片外RAM空间: MOVX A,@DPTR ;A←((DPTR)) (读) MOVX @DPTR,A ;(DPTR)←A (写) 2. Ri作8位数据指针,寻址256B片外RAM空间 (页内寻址): MOVX A,@Ri ;A←((P2Ri)) (读) MOVX @Ri,A ;(P2Ri)←A (写) 例:实现片外数据存储器数据传送(2000H)?(2100H)。 (三) ROM传送指令(查表指令):(MOVC) 1.DPTR为基址寄存器: MOVC A,@A+DPTR ;A?((A+DPTR)) (读) 查表范围为 64KB 程序存储器任意空间, 称为远程查表指令。 2.PC为基址寄存器: MOVC A,@A+PC ;A?((A+PC)) (读) 常数表只能在查表指令后256B范围内, 称为近程查表指令。 例1:以查表方法把累加器中的十六进制数转换 为ASCII码,并送回累加器中。 例2: 程序: ORG 1000H SQU: MOV DPTR,#3000H ;确定表首地址(基地址) MOV A,20H ;取 X(变量:偏移量) MOVC A,@A+DPTR ;查表求Y=X2 MOV 21H,A ;保存Y(结果) RET ;子程序结束 … ;其它程序段 ORG 3000H ;常数表格首地址 TAB: DB 00,01,04,09,… ,225 ;平方表 END 例2: 指令地址 源程序 ORG 1000H ;程序起始地址 1000H SQU: MOV A,20H ;取X 1002H ADD A,#3 ;修正偏移量 1004H MOVC A,@A+PC ;查表求Y=X2 (PC=1005H) 1005H MOV 21H,A ;存结果 1007H RET ;子程序结束 1008H
文档评论(0)