第一范文网 - 专业文章范例文档资料分享平台

汇编语言学习笔记

来源:用户分享 时间:2025/5/17 16:30:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

call和ret配合实现子程序机制

具有子程序的源程序框架: assume cs:code code segment main: : :call sub1 :mov ax,4c00h int 21h sub1: : call sub2

ret

sub 2: : ret code ends end main

:::mul指令

mul指令:两操作数指令 功能:完成两个数的相乘 格式:mul reg/mem

两个数要么都是8位,要么都是16位

若为8位,则一个默认在al中,另一个可以在一个8位寄存器中,也可以是一个字节单元,结果默认放在ax中

若为16位,一个默认放在ax中,另一个在一个16位寄存器中或一个字单元中,结果高位默认放在dx中,低位放在ax中

第十一章 标志寄存器

标志寄存器的作用:

1) 存储相关指令的某些执行结果; 2) 为CPU执行相关指令提供行为依据; 3) 控制CPU的相关工作方式

标志寄存器的结构

标志寄存器(简称flag)的1、3、5、12、13、14、15位在8086CPU中没有使用,不具有任何意义. ZF标志

flag的第六位是ZF,零标志位.记录相关指令执行后,结果是否为0,若结果为0,ZF=1,否则ZF=0. PF标志

flag的第二位是PF,奇偶标志位.它记录相关指令执行后,结果的所有二进制位中1的个数是否为偶数,是则PF=1,否则PF=0.

SF标志

flag的第七位是SF,符号标志位.它记录相关指令执行后,结果是否为负,若结果为负,则SF=1,否则SF=0.

SF标志,就是CPU对有符号数运算结果的一种记录,它记录数据的正负,若将数据当作有符号数来运算,可以通过它来得知结果的正负,若将数据当作无符号数来运算,SF的值没有意义。 例如:mov al,10000001B add al,1

执行后,SF=1表示:若进行的是有符号数运算,则结果为负 CF标志

flag的第0位是CF,进位标志位.一般情况下,在进行无符号数运算的时候,它记录了运算结果的最高有效位向更高位的进位值,或从更高位的借位值.

当两个数据相加的时候,有可能产生从最高有效位向更高位的进位.比如: 两个8位数据: 98H+98H

当两个数据相减时,有可能向更高位借位.比如:

两个8位数据:97H-98H,将产生借位,相当于计算197H-98H.

搜索更多关于: 汇编语言学习笔记 的文档
汇编语言学习笔记.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9a0ni9v2s34n25r6n285_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top