汇编语言
正_午
这个作者很懒,什么都没留下…
展开
-
Inc指令和dec指令中出现进位时CF标志位不会置1--Intel的规定
转自:https://zhidao.baidu.com/question/170829942.html1.INC,DEC指令不影响CF标志位bai,这个是Intel规定的!其原因是硬件设du计造成的,总之,zhi对软件人员来说不重要!2.INC,DEC指令不影响CF标志位,这表明执行INC/DEC指令之后,CF不能反映进位情况INC 00000000111111110000000011111111+1当然要进位,但不设置CF为1。所以,进位与CF不能等同看待CF被称为进位标志位,在多数情况下,它转载 2020-07-15 16:55:26 · 1851 阅读 · 0 评论 -
XLAT指令解析
查表指令XLAT–主要用于字节查表转换,如:把一种代码转化为另一种代码,数字0~9转化为7段显示器件所需要的驱动代码等。指令的汇编格式:XLAT opr 或 XLAT,一般写作XLAT,而XLAT opr 的写作方式只是为了程序的易读性指令的特殊要求:所建字节表格的长度不能超过256字节,因为存放位移量的是8位寄存器AL下面是摘自百度百科的3个例子:ex1:X DW 1122H,3344H,5566H,7788H;假设X变量就是一个用于转换的表LEA BX,X;这是个地址传送指令,一般执行XLA原创 2020-07-13 17:13:48 · 10579 阅读 · 1 评论 -
一道小小的汇编题目
关于汇编伪指令,逻辑移位操作的一道题目:DA3 EQU WORD PTR DA4 DA4 DB 0ABH,89H SHR DA3,1 MOV DX,DA3 SHL DA4,1 MOV CX,DA3 上述程序段运行后,CX= ,DX= DA3 EQU WORD PTR DA4 ;DA3和DA4相当于是数值相等的2个变量,其中一个发生变化时,另外一个也会立刻发生变化;此条伪指令相当于用DA3这个变量占用一个字(2个字节)的空间DA4 DB 0ABH,原创 2020-07-02 15:56:39 · 1638 阅读 · 2 评论 -
逻辑左移、逻辑右移、算术左移、算术右移区别
第一种观点:逻辑左移=算数左移,右边统一填0 ,最高位移入cf逻辑右移,左边统一添0 ,最低位移入cf特殊:算数右移,左边添加的数和符号位有关,最低位移入cfe.g:1010101010,其中[]是添加的位逻辑左移一位:010101010[0]算数左移一位:010101010[0]逻辑右移一位:[0]101010101算数右移一位:[1]101010101算术右移的2种实现方式(结果是相同的):1.符号位不变,数值位右移,最低位移入cf,最高位数值位填符号位的值(1或0);2原创 2020-06-30 16:52:58 · 11282 阅读 · 3 评论 -
常用汇编指令对标志位的影响
加法指令 ADD (addition)指令对标志位的影响: CF=1 最高有效位向高位有进位 CF=0 最高有效位向高位无进位 OF=1 两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反。 OF=0 两个不同符号数相加,或同符号数相加,结果符号与其相同。 带进位加法指令 ADC (add with car转载 2020-06-30 16:24:41 · 7651 阅读 · 1 评论 -
汇编学习笔记
汇编指令学习mov al,byte ptr x ;内存向通用寄存器传送数据shl al,1 ;al中的数据进行逻辑左移一位,针对无符号数的*2运算dec al ;对al寄存器中的值进行自减一之后再把结果放到al寄存器中,其中涉及对al寄存器进行数据读,并将数据传送到运算寄存器中,并将运算器结果通过线路传送到al寄存器,并写入,整个过程由CPU控制完成,非软件所能控制mov byte ptr y,al ;通用寄存器向内存传送数据dec是抽象过的自减一指令,其实可以推测,所有汇编指令也是原创 2020-06-10 14:57:30 · 600 阅读 · 0 评论