汇编基本指令.ppt_第1页
汇编基本指令.ppt_第2页
汇编基本指令.ppt_第3页
汇编基本指令.ppt_第4页
汇编基本指令.ppt_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、16位机根据指令字长、操作数不同可划分为如下5种指令格式: 1单字、无操作数指令 基本指令 PSHF; 状态标志(C、Z、V、S、Pl、P0)入栈 P0PF; 弹出栈顶数据送状态标志寄存器 RET; 子程序返回 扩展指令 CLC; 清进位标志位C0 STC; 置进位标志位Cl EI; 开中断,置中断允许位INTE1 DI; 关中断,置中断允许位INTE0 IRKTl 中断返回,2单字、单操作数指令 基本指令 DEC DR; DRDR1 1NC DR; DRDR十1 SHL DR; DR逻辑左移,最低位补0,最高位移入C SHR DR; DR逻辑右移,最高位补0,最低位移入C JR ADR; 无

2、条件跳转到ADR,ADR原PC值十0FFSET JRC ADR; 当C1时,跳转到ADR,ADR原PC值+0FFSET JRNC ADR;当C0时,跳转到ADR,ADR原PC值+0FFSET JRZ ADR; 当Z1时,跳转到ADR,ADR原PC值+0FFSET JRNZ ADR; 当Z0时,跳转到ADR,ADR原PC值十0FFSET IN I/0 P0RT; R0I/0 P0RT,从外设I/0 P0RT端口读人数据到R0 0UT I/0 P0RT;I/0 P0RTlR0,将R0中的数据写入外设I/0 P0RT端口 PUSH SR; SR人栈 P0P DR; 弹出栈顶数据送DR,(3)扩展指令

3、 RCL DR; DR与C循环左移,C移人最低位,最高位移入C RCR DR; DR与C循环右移,C移人最高位,最低位移人C ASR DR; DR算术右移,最高位保持不变,最低位移人C N0T DR; DR求反,即DRDR JMPR SR; 无条件跳转到SR指向的地址 CALR SR; 调用SR指向的子程序 JRS ADR; 当Sl时,跳转到ADR,ADR原PC值十0FFSET JRNS ADR;当S0时,跳转到ADR,ADR原PC值十0FFSET,3单字、双操作数指令 基本指令 ADD DR,SR; DRDR十SR SUB DR,SR; DRDRSR AND DR,SR; DRDR and

4、SR CMP DR,SR; DRSR X0R DR,SR; DRDR xor SR TEST DR,SR; DR and SR 0R DR,SR; DR4DR 0r SR MVRR DR,SR; DRSR LDRR DR,SR; DRSR STRR DR,SR; DR4SR 扩展指令 ADC DR,SR; DRDR十SR十C SBB DR,SR; DRDRSRC,4双字、单操作数指令 基本指令 JMPA ADR; 无条件跳转到地址ADR CALA ADR; 调用首地址为ADR的于程序,5双字、双操作数指令 基本指令 MVRD DR,DATA; DRDATA 扩展指令 LDRA DR,ADR;

5、DRADR STRA ADR,SR; ADRSR LDRX DR,0FFSETSR; DR0FFSET十SR STRX DR,0FFSETSR; 0FFSET十SRDR,16位教学计算机的简单汇编程序设计举例 例31 在显示器屏幕上循环显示95个可打印ASCII字符。 2000: MVRD R1,7E ;向寄存器传送直接数 2002: MVRD R0,20 2004: 0UT 80 ;通过串行接口输出R0低位字节内容 2005: PUSH R0 ;保存R0寄存器的内容到堆栈中 2006: IN 81 ;读串行接口的状态寄存器的内容 2007: SHR R0 ;R0寄存器的内容右移位 2008:

6、 JRNC 2006 ;当标志位C不是l时就转移到2006地址 2009: P0P R0 ;从堆栈中恢复R0寄存器的原内容 200A: CMP R0,R1 ;相同则标志位z1 200B: JRZ 2000 ;当标志位z为1时就转移到2000地址 200C: INC R0 ;把R0寄存器的内容增加l 200B: JR 2004 ;无条件转移指令,转移到2004地址 200F: RET ;子程序返回指令,例32 把字符“A” “F”写到内存的20402045几个单元, 之后再读出来并显示到屏幕上。 2020: MVRD R3,06 ;给出写内存操作的次数 2022: MVRD R2,203F 20

7、24: MVRD R1,40 2026: INC R2 ;给出写内存操作的内存地址 2027: INC R1 ;给出写内存操作的数据内容 2028: STRRR2,R1 2029: LDRR R0,R2 ;读出内存单元的数据到R0寄存器 202A:0UT 80 202B:IN 8l 202C:SHR R0 202D:JRNC 202B 202E:DEC R3 ;检查6次写内存操作是否完成 202F:JRNZ 2026 ;末完则开始下次写内存操作 2030:RET ;程序结束,例33 从键盘输入字符并送到显示器屏幕显示。 利用子程序将大写英文字母变为小写并将其显示出来。 2040: IN 81 ;检查有无敲击过键盘上的一个键 2041: SHR R0 2042: SHR R0 2043: JRNC 2040 2044: IN 80 2045: 0UT 80 ;输出R0低位字节内容到显示器屏幕 2046: PUSH R0 2047: IN 8l 2048: SHR R0 2049: IRNC 2047 204A: P0P R0 204B: CALA 2050 ;调用子程序 204D: JMPA 2040 ;转移指令,转移地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论