


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
标志寄存器 先来总结一下以前的寄存器的作用:1 存储相关指令的执行结果2 为cpu执行相关指令提供的行为依据3 控制cpu的相关工作方式。 本课学习的标志寄存器也是 16位的,其中存储的信息通常被称为程序状态字(psw)标志寄存器的16位有9位分别表示了不同的状态 如下0 cf 1 2 pf34 af5 6 zf7 sf8 tf9 if10 df11 of12131415没有表示空白 ,不具备任何含义 ,下面了解一下非空白区的各个含义 zf 零标志位。记录相关指令执行后其结果是否为零,若是结果为零 那么zf=1,否则zf=0;pf 标志位 奇偶标志位,记录相关指令执行后,其结果的所有二进制位中1的个数是否为偶数,若是偶数那么pf=1,不是偶数那么pf=0;sf 标志位 符号标志位,记录相关指令执行后,其结果是否为负,如果结果为负,那么sf=1,不为负,sf=0cf 标志位 进位标志位。一般在无符号运算的情况下,它记录了运算结果的最高有效为向更高位的进位值,或者从更高位的借位值,cf标志位就是标志了是否进行了借位或进位运算,但一定记得是最高有效位。of 标志位 溢出标志位,我们这里说的溢出仅适用于有符号数,例如对于8位寄存器能表示的数值范围是-128-127,若是超出了这个范围那么就是溢出了。若是有溢出,则of=1,否则of=0; adc指令-带进位加法指令,他利用了cf为上记录的进位值。指令格式 adc 操作数一,操作数二 功能 操作对象1=操作数1+操作数2+cf值 例如 mov ax, 2mov bx, 1sub bx,axadc ax,1那么 ax最终存储的结果是4由于进行减法运算的时候进行了借位,那么再次进行带进位的加法的时候就要考虑cf的值了。 其实cpu进行数值运算的时候,跟我们进行的运算方法是一样的 ,例如我们进行加法运算的时候,我们先将低位进行相加,在进行高位相加,高位想家的时候我们会把低位运算产生的进位或借位应用到高位上去,例如指令 add ax,bx ;可以分解为add al,bl adc ah,bh那么虽然寄存器是16位的,我们也可以进行更高位的运算,例如下面的程序举例:计算1EF000H+201000H,结果存放到ax(高16位)和bx(低16位)中,分析 :显然这两个数都超过了寄存器的数值表示范围,用add指令无法进行运算,我们可以将他们分步运算。程序如下:assume cs:code ,ss:stackstack segment db 16 dup(?)stack endscode segmentstart: mov ax,stackmov ss,axmov sp,16push axpush cxpush bxmov ax,001ehmov bx,0f00hmov cx,1000hadd cx,1ee0hadc bx,1000hadc ax,0020hpop bxpop cxpop axcode endsend start当然我们在程序中本不用去进行进栈出战的操作但是为了保留程序中所用寄存器的原来信息我们就必须进行数据的保存, 另外需要说明的是,inc loop指令不会影响标志位的数值,其他的指令就难说了,同理我们也会用到带进位的减法指令,add 不作详细说明,我们需要掌握的一个比较重要的指令就是cmp指令 比较指令 cmp 操作数一 ,操作数二 功能操作数1-操作数2,仅仅进行减法比较并不对运算结结果进行保留,用运算结果来影响标志位。例如cmp ax,bx如果 ax=bx 那么zf=0如果 axbx 那么zf!=0 进而会有 cf=1呵呵 由此可见一个表达式的值,不仅仅会影响一个标志位, 我们进行cmp指令的比较得到了相应的标志位数值,cpu就会有相应的指令来去进行下一步的运算处理。下面是根据无符号数的比较结果进行转移的条件转移指令 je 等于则转移 zf=1jne 不等于则转移 zf=0jb 低于则转移 cf=1jnb 不低于则转移cf=0ja 高于等于则转移 zf=0且cf=1jna 不高于则转移 cf=1或zf=1其实j代表了jmp e=equal a=above b=blew 都是相应的英文单词的解释,相应的应用格式 条件转移指令 标号(要想转移到的标号地址) 举例如下编程实现如下功能 如果 ah=bh 那么ah=ah+ah 否则 ah=ah+bh程序小段 cmp ah ,bh je s add ah,bh mov ax, 4c00h int 21h ends:add ah,ah mov ax, 4c00h int 21h end这样我们就实现了转移,当然这种比较也可以应用到内存单元上,例如 cmp byte ptr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62541-18:2025 EN OPC unified architecture - Part 18: Role-Based Security
- 人教版八年级英语上册单元同步知识点与语法训练 unit5 section B
- 儿童创伤急救核心要点:早期处理的专业路径
- 暑假培优练:连接体模型(学生版)-2025高一物理暑假专项提升(人教版)
- 重卡销售培训知识点总结课件
- 统编版小升初语文专项复习:修改病句(有解析)
- 外研版必修一~必修三词汇(专项训练)解析版
- 老年人养老课件
- 配餐技能培训知识课件
- 老干部业务知识培训课件
- YS/T 921-2013冰铜
- GB/T 17622-2008带电作业用绝缘手套
- 笔记本电脑的组成与常用维护维修方法
- 低压电气基础知识培训课件
- 学会沟通学会表达课件
- 针灸血肿课件
- 人教部编版道德与法治九年级下册教材解读及单元目标
- 财务尽职调查工作方案
- 焊接和切割作业的防火、防爆措施
- 人事任命书红头文件模板
- 探讨恶性肿瘤患者化疗后口腔溃疡治疗及护理的有效措施
评论
0/150
提交评论