版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言程序设计史新奕4.循环指令①
LOOP–格式:LOOP地址标号功能:(CX/ECX)=(CX/ECX)-1;如果CX/ECX不为0则转移到相应地址标号执行,否则顺序执行。标志位:不影响。②
LOOPZ/LOOPE格式:LOOPE
地址标号
或
LOOPZ
地址标号
功能:(CX/ECX)=(CX/ECX)-1;如果CX/ECX不等于0,并且ZF等于1,则转移至相应的地址标号,否则顺序执行。③
LOOPNZ/LOOPNE格式:LOOPNE
地址标号
或
LOOPNZ
地址标号
功能:(CX/ECX)=(CX/ECX)-1;如果CX/ECX不等于0,并且ZF等于0,则转移至相应的地址标号,否则顺序执行。
例3.80有一个首地址为ARRAY的M字数组,编写程序求出该数组的内容之和(不考虑溢出),并把结果存入
TOTAL中。
例3.81有一串L个字符的字符串存储于首地址为
ASCII_STR的存储区中。如要求在字符串中查找“空格”(ASCII码为20H)字符,找到则继续执行;如未找到则转到NOT_FOUND去执行。4.3.3操作数项1.算数操作符–
+,-,*,/和MOD2.逻辑与移位操作符AND,OR,XOR,NOT,SHL,SHR3.关系操作符EQ,NE,LT,GT,LE,GE结果为真为0FFFFH,结果为假为0。4.数值回送操作符TYPELENGTHSIZEOFFSETSEG4.3.3操作数项5.属性操作符PTR段操作符SHORTTHISFIRST_TYPE
EQU
THIS
BYTEWORD_TABLE
DW
100
DUP(?)START
EQU
THIS
FARMOV
CX,100HIGH和LOW3.3.3逻辑指令1.逻辑运算指令ANDORNOTXORTEST操作数要求:和算术指令相同。(1)AND逻辑与指令格式:AND
DST,SRC执行操作:(DST)←(DST)∧(SRC)(2)OR逻辑或指令格式:OR
DST,SRC执行操作:(DST)←(DST)∨(SRC)(3)NOT逻辑非指令格式:NOT
OPR执行操作:(ORP)←(OPR)(4)XOR异或指令格式:XOR
DST,SRC执行操作:(DST)←(DST)∨(SRC)(5)TEST测试指令格式:TEST
OPR1,OPR2
执行操作:(OPR1)∧(OPR2)不保存结果,只根据其特征设置条件码。逻辑运算指令标志位影响:NOT指令不影响标志位,其他4种指令使CF位和OF位为0,AF位无定义,SF位、ZF位和PF位根据运算结果设置。例3.57要求屏蔽0、1两位,可用AND指令设置常数0FCH。MOV
AL,0BFHAND
AL,0FCH例3.58要求第5位值1,可用OR指令。MOV
AL,43HOR
AL,20H
例3.59要测试操作数的0,1,2,3,5,7位是否为0,可用TEST指令,同样把TEST指令的源操作数设置成一个立即数,其中需要测试的位设置
为1。MOV
AL,40HTEST
AL,0AFH结果如果不是0则说明AL的相应位不全为0。
例3.60要测试操作数的某位是否为1,可先把该操作数求反,然后用
TEST指令测试。如果测试AL寄存器中第2位是否为1。MOV
DL,ALNOT
DLTEST
DL,0000
0100B例3.61要使操作数的某些位变反,可以使用XOR指令,只要把操作数的立即数字段的相应位置成1就可以达到目的。如果求第0,1位变反,可使用如下指令:MOV
AL,11HXOR
AL,3例3.62
XOR指令可以用来测试某一操作数是否与另一操作数相等。4.移位指令SHLSALSHRSARROLRORRCLRCR
操作数要求:OPR用除立即数外任何寻址方式。移位次数由CNT决定,在8086中它可以是1或CL(将移位次数先存入CL中),在286及后继机型中CNT可以是8位的立即数
也可以使用CL。
标志位影响:CF根据各条指令的规定设置。SF、ZF和PF位根据结果设置,AF位无定义。当CNT>1时,OF无定义,当CNT=1时,在移位后最高有效位的值发生变化时OF=1,否则OF=0。(1)移位指令①
SHL逻辑左移指令格式:SHL
OPR,CNT执行操作:特殊功能:左移一位相当于乘2,可能会溢出。②
SAL算数左移指令格式:SAL
OPR,CNT执行操作:同SHL。特殊功能:同SHL。③
SHR逻辑右移指令格式:SHR
OPR,CNT执行操作:特殊功能:逻辑右移一位相当于无符号数除以2。④
SAR算数右移指令格式:SAR
OPR,CNT执行操作:特殊功能:算数右移一位相当于有符号数除以2。(2)循环移位指令①
ROL循环左移指令格式:ROL
OPR,CNT执行操作:–②
ROR循环右移指令格式:ROR
OPR,CNT执行操作:③
RCL带进位循环左移指令格式:RCL
OPR,CNT执行操作:–用途:完成多字左移④
RCR带进位循环右移指令格式:RCR
OPR,CNT执行操作:用途:完成多字右移例3.65
MOV
CL,5SAR
[DI],CL–
如指令执行前:(DS)=0F800H,(DI)=180AH,(0F980A)=0064H–
则指令执行后:(0F980A)=0003H,CF=0,相当于100d/32d=3d。例3.66
MOV
CL,2•SHL
SI,CL如指令执行前:(SI)=1450H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年浙江省临安市高二生物下册期末考试模拟卷带答案(培优A卷)
- 2026年安徽省桐城市高二生物下册期末考试测试卷【全优】附答案
- 2026年广东省罗定市高二生物下册期末考试检测卷(历年真题)附答案
- 五年级(上)数学 公式、单位换算进率大全
- 2026年云南省开远市高二生物下册期末考试测试卷及答案【名校卷】
- 2026年辽宁省海城市高二生物下册期末考试测试卷及参考答案【基础题】
- 2026年辽宁省海城市高二生物下册期末考试试卷含完整答案(考点梳理)
- 2025年山东省莱州市高二生物下册期末考试模拟卷及完整答案【典优】
- 2025年吉林省龙井市高二生物下册期末考试检测卷附完整答案【名师系列】
- 2026年四川省简阳市高二生物下册期末考试试卷含完整答案(典优)
- 2026年河南省八年级地理生物会考试卷题库及答案
- 2026关于开展学习教育整改整治工作情况的汇报
- 2026年小学五年级语文第二学期期末考试卷及答案(共七套)
- 2025年安徽省中考生物试卷真题(含答案)
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
- ITIL 4 基础级认证考前强化精练题库(含答案)
- 2023-2024年中医儿科学(副高)考试高频题库(历年考点版)带答案解析篇
- 2023年医技类-临床医学检验临床基础检验技术(正高)历年考试真题试卷摘选答案-1
- 2023学年完整公开课版棕刷的制作
- YY/T 1816-2022外科植入物合成不可吸收补片硬脑(脊)膜补片
- FZ/T 81013-2016宠物狗服装
评论
0/150
提交评论