汇编
untilyouydc
月份未到你也得接受
展开
-
汇编实验一 用表格形式显示字符
基础知识:1. 汇编中的几个常用标志符号 CF是进位标志, PF是奇偶标志 AF是辅助进位标志 ZF是零标志 SF是符号标志 OF是溢出标志.2. cmp 的使用 cmp 是将两个操作数进行相减,但是不保存结果,只保存相关的标志(AF,ZF等),有了这些标志,可以辅助于转移语句中。 3. 条件转移指令及转移条件 je 等于则转移 ...原创 2018-09-27 14:59:57 · 3022 阅读 · 0 评论 -
汇编语言中标号和变量的区别
变量和标号都是用户定义的符号地址,标号有两个属性,段基地址、偏移地址变量有三个属性,段基地址、偏移地址和数据类型一般来说,标号只在代码段中被定义,而变量则可以被定义在数据段和代码段中。标号是个死数,指的是一个固定的值,一般指向的目标不是程序段就是数据段 而且定义完就不能变了。编译程序的时候,编译器把标号统统用具体的立即数替换。变量就是活的了,想怎么用就怎么用,一般这个指向的地址是RAM...原创 2018-10-07 14:16:49 · 5856 阅读 · 1 评论 -
汇编语言 数值回送操作符(type,size,length)
1. type 格式为 type expression 如果该表达式是变量,则返回该变量的以字节数表示的类型,DB为1,DW为2 ,DD为4,DF为8.... 如果表达式是标号,则返回代表该标号的数值类型,NEAR是-1,FAR为-2。如果表达式是常数,则应该回送0 。 2 length 对于变量中使用DUP 的情况,返回分配的单元数(例如 3 dup(?))...原创 2018-10-07 15:05:16 · 18038 阅读 · 1 评论 -
rep movsd ,repz CMPSB , CMPSW , CMPSD ,cld std用法
CLD指令功能:将标志寄存器Flag的方向标志位DF清零。在字串操作中使变址寄存器SI或DI的地址指针自动增加,字串处理由前往后。相反功能指令是STD,将方向标志位DF置1,在字串操作中使SI或DI的地址指针自动递减,字串处理由后往前。 movsd是把ds:[si]开始的DWORD传送到es:[di]开始的内存中(将ds:[si]处的4个字节数据送到es:[di]处),如果DF标...原创 2018-10-19 11:09:26 · 2433 阅读 · 0 评论 -
汇编(实现32位 加法,并调用int 10h 输出结果)
定义双子类型: A DD 21111112H B DD 11111111H上面的A和B都是32位,而ax,dx都是16位,所以需要把高16位和低16位分开进行加法。其中先处理低16位,用add。高16位可能会有进位,所以用adc。A 32位数在内存中的表示 21 11 11 11 12 A+1即为 11,A+4即为21至于输出,使用了xlat表,先自己建立...原创 2018-10-31 16:34:36 · 3741 阅读 · 0 评论 -
汇编学习笔记
1. 多项式加减乘除运算。重要知识点:A:1字节(byte)=8 bit ,4个通用寄存器 AX,BX,CA,DX都是16位(bit)的寄存器,它们对应的32位寄存器位EAX,EBX,ECX,EDX。16位代表可以存4个16进制数(1个16进制数由4位二进制数来表示),字的大小取决于机器型号,如16位机器,那就是2个字节=1字。例如1234H在16位机器上的存储格式为:34 12...原创 2018-11-02 23:26:15 · 302 阅读 · 0 评论 -
汇编复习2
汇编复习2 串处理指令1. MOVS:传送字节,字,双字,从SI所指的串中,复制到DI所指的串,传递以后,SI,DI的值都会被修改,向前或向后取决于DF的值。2. MOVSB,MOVSW,MOVSD则直接指定了一次传输的大小(他们已经默认了使用SI,DI),MOVS需要自己设定,他们与REP配合使用,可以将整个串都复制,REP的循环次数,取决于CX。3. CLD 使DF为0,STD使D...原创 2018-11-08 22:37:33 · 402 阅读 · 0 评论