随笔分类 - 汇编语言(王爽)
摘要:汇编语言——王爽 第一章 基础知识 第二章 寄存器 第三章 寄存器(内存访问) 第五章 [BX]和loop指令 第六章 包含多个段的程序【栈段】 第七章 更灵活的定位内存地址的方法【大小写转换方法及应用方式】 第八章 数据处理相关操作[div mul dd dup] 第九章 转移指令的原理【jmp和
阅读全文
摘要:内中断的产生 来源及中断码 除法错误:0 单步执行:1 执行into指令:4 执行int n指令:n 中断向量表 中断过程 CPU收到中断信息后,根据中断向量表,跳转到相应的中断程序中处理中断,这一过程称为中断过程 从中断信息中取得中断向量码N 标志寄存器入栈(因为中断过程中要改变标志寄存器的值)
阅读全文
摘要:int指令 格式:int n :n是中断向量码,引发一个中断 作用:等价于下面的代码【中断流程】 1. 取中断向量码N 2. pushf 3. IF=0,TF=0 4. push CS , push IP 5. (IP)=(N*4) ; (CS)=(N*4+2) iret指令 格式: iret 从中
阅读全文
摘要:概述 依据位移进行转移的jmp jmp short/near ptr 标号 的机器码中,并不包含转移的目的地址,而是包含转移的位移,也就是ip的偏移量 为什么算的是jmp后一条指令和标号的偏移量?取值执行 实际上, jmp short 标号 的功能为 (IP)=(IP)+8位位移 补码表示:-128
阅读全文
摘要:概述 标志位寄存器有三种作用 存储相关指令的某些执行结果 为CPU执行相关指令提供行为依据 控制CPU的相关工作方式 标志位寄存器中存储的数据叫做程序状态字。含义如下: ZF标志:零标志位 位置:第6位 作用:查看结果是否为0 结果为0: ZF=1 结果为1: ZF=0 PF标志:奇偶标志位 位置:
阅读全文
摘要:ret和retf ret pop ip retf pop ip pop cs call和call far ptr call push ip jmp near ptr 标号 jmp near ptr的跳转范围是 -32768~32767 上述程序执行后,ax=6 call压入的ip是返回地址,即cal
阅读全文
摘要:数据处理的两个基本问题 处理的数据在哪里 cpu内部:寄存器,指令缓冲器(立即数) 内存 端口 处理的数据有多长 通过寄存器指明 通过标注指明: inc byte ptr [bx] inc word ptr [bx] 有些指令默认指明: push [1000H] 只进行 字操作 div指令 运算数
阅读全文
摘要:以字符(串)的形式给出数据 assume cs:code data segment db 'unIX' db 'foRK' data ends code segment start: mov al,'a' mov bl,'b' mov ax,4c00h int 21h code ends end s
阅读全文
摘要:loop指令实现循环 执行过程: ①(cx)=(cx)-1 ②判断 cx 中的值,不为零则转至标号处执行程序,如果为零则向下执行。 例:计算2^12 assume cs:codeseg codeseg segment mov ax,2 # 做11次add ax,ax mov cx,11 s: add
阅读全文
摘要:在代码段中使用数据 可以写出下面的程序 assume cs:code code segment dw 0123h,0456h,0789h,0abch,0cedfh,0fedh,0cbah,0987h mov bx,0 mov ax,0 mov cx,8 s: add ax,cs:[bx] add b
阅读全文
摘要:内存视图 内存由低至高从上往下画 栈的生长方向:高地址向低地址 小端存储:高位存放在高地址,低位存放在低地址 书写的时候高位在左边。 4E20H 存储单元高地址在右边。 0 - 3 : 20 4E 12 00 mov指令 mov ax,1000h mov ds,ax mov [0],bx #传送字型
阅读全文
摘要:14个寄存器,都是16位 AX BX CX DX SI DI SP BP IP CS SS DS ES PSW 通用寄存器:AX BX CX DX 段寄存器:CS DS SS ES cpu分段寻址 8086是16位机,寄存器,运算器,寄存器与运算器的通路都是16位的,那么又是如何达到20位的地址总线
阅读全文
摘要:汇编语言的组成 汇编指令:机器码的助记符,有相应的机器码 伪指令:没有对应的机器码,由编译器执行,计算机不执行 其他符号:如+ - * / 由编译器识别,没有对应的机器码 汇编指令是汇编语言的核心 指令与数据是应用上的概念,在x86架构中,指令和数据存放在内存或磁盘中没有任何区别,是指令还是数据取决
阅读全文

浙公网安备 33010602011771号