
汇编
twtzw
我
展开
-
汇编之寄存器
AX、BX、CX、DX用来存在一般性的数据,称为通用寄存器CX用于存放 loop 的循环次数CS为代码段寄存器,IP为指令指针寄存器 CS:IP指向的内容为当前要执行的指令 CS:IP=CS*N+IP(N为CPU的字长) 修改CS,IP的内容,要用JMP,而不能用MOV,MOV可以修改通用寄存器的内容,但不能修改CS,IP的内容 如:jmp 2000:3,执行后,CS=20原创 2008-11-27 20:38:00 · 321 阅读 · 0 评论 -
jmp 偏移地址的计算方法
E9的jmp距离计算:距离=目的地址-(当前地址+5)(加5是因为JMP命令共占5个字,实际是目的地址减去JMP命令的尾地址,即当前地址+5如目标地址为 f1e0b63e 当前地址为 8093c6d8距离=f1e0b63e -8093c6d8-5=714cef61jmp为当前地址 当前编码 汇编指令8093c6d8 e961ef4c71(按字倒着写原创 2008-12-03 12:53:00 · 2914 阅读 · 0 评论 -
汇编debug命令
r 查看 改为CPU寄存器的内容r 修改 ax寄存器的值 改完后AX=1000 d 查看内存中的内容 命令格式 d 段地址:偏移地址 结尾偏移地址 没有结尾偏移地址的话,就从开始输出128个字节的内容 e 改写内存的内容 u 查看内存中机器码的含义 t 执行当前CS:IP指向的指令 当前1000:0000的指令是 MOV AX,000原创 2008-12-03 12:59:00 · 1632 阅读 · 1 评论 -
汇编之条件转移指令
jcxz 如果CX=0,跳转指令 含义 检测的相关标志位je 等于则转移 ZF=1jne 不等于则转移原创 2008-12-12 16:10:00 · 506 阅读 · 0 评论 -
汇编加减乘除
加add 寄存器 数据 add ax,8add 寄存器,寄存器 add ax,bxadd 寄存器,内存单元 add ax,[0]add 内存单存,寄存器 add [0],bx adc带进位加法指令 adc 操作对象1,操作对象2,则结果等于 操作对象1=操作对象1+操作对象2+CF 减sub 寄存器 数原创 2008-12-12 10:16:00 · 609 阅读 · 0 评论 -
标志寄存器
按位起作用15 14 13 12 11 OF 10 DF 09 IF 08 TF 07 SF 06 ZF05 04 AF 03 02 PF 01 00 CF原创 2008-12-12 14:57:00 · 592 阅读 · 0 评论