当前位置: 首页 > news >正文

个人网站备案介绍合肥网页设计公司

个人网站备案介绍,合肥网页设计公司,宝塔和wordpress,wordpress会员卡汇编 1. debug指令 -R命令(register) 查看、改变CPU寄存器的内容 r ax 修改AX中的内容 -D命令(display) 查看内存中的内容 -E命令(enter) 改写内存中的内容 -U命令(unassenble反汇编) 将内存中的机器指令翻译成汇编指令 -T命令(trace跟踪) 执行一条机器指令 -A命令…汇编 1. debug指令 -R命令(register) 查看、改变CPU寄存器的内容 r ax 修改AX中的内容 -D命令(display) 查看内存中的内容 -E命令(enter) 改写内存中的内容 -U命令(unassenble反汇编) 将内存中的机器指令翻译成汇编指令 -T命令(trace跟踪) 执行一条机器指令 -A命令(assenble汇编) 以汇编指令的格式在内存中写入一条机器指令 2. mov、add、sub指令 1.mov传送 格式mov ax, bx 注意 1. 目标操作数与源操作数不能同时为内存操作数 2. 不能直接将立即数传送给段寄存器 3. CX不能以一切形式传送 4. 两个操作数类型必须一致 字节、字、双字 2.add 格式add ax, bx 若两数相加结果超过寄存器位数舍弃超出的高位 eg1溢出cx F06F add cx, cx 原 F06F F06F 1E0DE cx E0DE 最高位的 1 被舍去 eg2高位 BX F037 add bh 37 原 F0 37 127 BX 2737 eg3低位 CX E0DE add cl, B6 原DE B6 194 CX E094 低位计算也不会进位 3.sub 格式 sub op1,op2 ;意为op1op1-op2 若两数相减被减数小于减数则被减数从最高位的上一位借1 eg1 BX 1303 sub bx, F BX 12F4 eg2借位: BX 000F sub bx, 10 原1000F - 10 FFFF BX FFFF 从高位借1 eg3 BX 0000 sub bl, E 原100 - E 00F2 BX 00F2 从目标操作数的高位借1 3.mul、div、and、or指令 1. mul乘法 1两个相乘数要么都是8位要么都是16位。 若是8位一个默认放 AL 中另一个放在 8位reg 或 内存单元 若是16位 一个默认放在 AX 中 另一个放在 16位reg 或 内存单元 2结果如果是8位乘法结果默认放在 AX 如果是16位乘法结果 高位 默认放在 DX , 低位 默认放在 AX 中 格式mul reg mul 内存单元 注意溢出同加法 2. div除法 1除数8位 或 16位在一个reg 或内存单元中 2被除数默认放在 AX 或 DX 和 AX 中 如果除数为8位被除数则为16位默认放在 AX 中 如果除数为16位被除数则为32位 放在在 DX 和 AX 中DX放高16位AX放低16位 3结果 如果除数为8位 则商放在 AL余数放在 AH 如果除数为16位则商放在 AX余数放在 DX 格式 div reg div 内存单元 除数8位AX / BL AL...AH 除数16位DXAX / BX AX...DX eg132位被除数DX F , AX 4240, BX 2710 mov dx, F F4240 1000000 2710 10000 64 100 mov ax, 4240 原F4240 / 2710 64 mov bx, 2710 div bx AX 64 通过高16位DX, 低16位AX组成一个32位的被除数商放在AX eg2有余数 DX F, AX 4241, BX 2710 mov dx, F F4241 1000001 mov ax, 4241 原F4241 / 2710 64...1 mov bx, 2710 1000001 / 10000 100...1 div bx AX 64, DX 0001 3. and与 逻辑与指令按位进行与运算 mov al, 63 and al, 3B 结果al 23 注意该指令可将操作对象的相应位设为0其他位不变 将al的第0位设为0的指令为and al, FE(11111110B) 4. or 或 逻辑或运算按位进行或运算 mov al, 63 or al, 3B 结果al 7B 注意该指令可将操作对象的相应位设为1其他位不变 将al的第0位设为1的指令为or al, 1(00000001B) 4.shl、shr、inc、dec、xchg 1.shl 左移 shift left 1.将寄存器或内存单元中的数据向左移位 2.将最后移出的一位写入CF进位标志中 3.最低位用0补充 格式mov al, 48 ;(01001000) shl al, 1 ;将al中的数据都左移一位 结果 al 90(10010000), CF 0 2.shr右移 shift right 同shl 3.inc加一 值加一不影响CF 4.dec减一 5.nop空 空指令先占位 6.xchg交换 交互两操作数的值 格式xchg ax, bx 7.neg求补 运算法一用零减去操作数然后结果返回操作数 运算法二将操作数按位取反后加1 8.退出 格式mov ax, 4c00H int 21H 安全退出程序 5.寄存器 AX累加寄存器 OF溢出标志超过机器所能表示的有符号数范围 BX基址寄存器 ZF零标志运算结果为0ZF1 CX计数寄存器 CF进位标志 DX数据寄存器 AF辅助进位标志第3位向第4位进位时位1否则为0 SP堆栈指针寄存器 PF奇偶标志计算结果为1个数为偶则为1否则为0 BP基址指针寄存器 DF方向标志串处理DF1时每次操作后SI和DI减小DF0时增大 SI源变址寄存器 SF符号标志运算结果为负时SF1 DI目的变址寄存器 IF中断标志IF1允许CPU响应可屏蔽中断否则关闭中断 CS代码段寄存器 TF陷阱标志用于调试单步操作 DS数据段寄存器 SS堆栈段寄存器 ES附加段寄存器 5.CS:ip代码段寄存器、jmp CS:IP指示了CPU当前要读取指令的地址 CS 为代码段寄存器IP 为指令指针寄存器 jmp 功能用寄存器中的值修改IP 格式jmp ax ;等同于mov IP, ax 等同但不可以这样用 修改IP jmp ax:bx ;等同于mov CS, ax mov IP, bx 修改CS:IP 6.ss:sp寄存器、栈的push、pop指令 栈底是高地址 1.push push指令的完成需要以下两个步骤 SP SP - 2因为SS:SP指向前栈顶既然需要push 数据自然需要获取新栈顶 将 push 后面跟的寄存器中的内容写入刚开辟出的内存中此时的SS:SP指向新栈顶 入栈时栈顶从高地址向低地址增长 2.pop pop指令的完成需要以下两个步骤 将栈顶元素送入pop后面跟的寄存器中 SP SP 2SS:SP指向下一个元素 出栈时栈顶从低地址向高地址增长 ss:sp 指向栈顶元素 7.bp,si、di变址寄存器 1. SI 、DI是变址寄存器 SI 与 DI 是功能与 bx相近的寄存器不能分成8位寄存器来使用但是可以直接作为偏移地址有效地址 [BXSI] 与 [BXDI] 可亦作为偏移地址但是不可加ax、cx、dx这些寄存器 2. BP寄存器 BP默认的段寄存器是SSbx默认的段寄存器是DS 8.cmp、adc、sbb、 1. adc进位加法 adc 是带进位加法指令利用 CF 位上记录的进位值 格式adc 操作数1, 操作数2 功能操作数1 操作数1操作数2 CF 常用于32位、48位数的相加可实现进位 2. sbb借位减法 sbb 是带借位减法指令利用 CF 位上记录的借位值 格式sbb 操作数1, 操作数2 功能操作数1 操作数1- 操作数2 - CF 利用sbb指令可以对任意大的数据进行减法运算 3. cmp比较 cmp是比较指令功能相当于减法指令只是不保存结果但是影响标志寄存器 格式cmp 操作数1, 操作数2 功能计算 操作数1 - 操作数2 但不保存结果仅改变标志寄存器 9.源程序 assume cs:codesg ​ codesg segment ​mov ax, 0123Hadd bx, 0456Hadd ax,bxadd ax,axmov ax,4c00Hint 21H codesg ends end 10.Loop指令 格式loop 标号 CPU执行loop指令的时候要进行两步操作 (cx) (cx) - 1 判断 cx 中的值不为零则转至标号处执行程序如果为零则向下执行 用loop指令实现循环功能cx中存放循环次数 assume cs:codesg codesg segmentmov  ax, 2mov  cx, 11    ;循环11次输入多少就循环多少次s:     add  ax, axloop s ​int  21H codesg ends end 如果 cx 0loop指令会陷入死循环 因为Loop指令会先减一即cx 0 - 1 FFFF需要在运行65535次 #includestdio.h int x 0; int sum 0; for (int i 1; i 100; i) {x;sum x; } return sum; ​ 上述C语言转换为汇编语言 ​ assume cs:codesg codesg segmentmov  ax, 0mov  bx, 0mov cx, 100s:     inc  axadd  bx, axloop s ​int  21H codesg ends end 11.ret、call指令 call func() ret return assume cs:codesg codesg segmentmov  ax, 2mov  cx, 11call s         ;调用函数sint  21H       ;若不退出会执行下一指令陷入死循环s:     add  ax, axloop sret            ; 封装函数s等于return ​ codesg ends end 1. ret 和 retf ret 指令用栈中的数据修改 IP实现近转移 执行后进行操作 1 IP SS * 16 SP 2 SP SP 2 等同于 pop IP retf指令用栈中的数据修改 CS 和 IP 实现远转移 1 IP SS * 16 SP 2 SP SP 2 3 CS SS * 16 SP 4SP SP 2 等同于 pop IP pop CS 2.call 格式 call 标号 执行后进行操作 1将当前的 IP 或 CS 和 IP 压入栈中 2转移 3.call far ptr 格式call far ptr 标号 实现段间转移 12.代码段、数据段、栈段、dup 16进制不能以字母开头 1.在代码段使用数据 assume cs:codesg codesg segmentdw   123H, 456H, 789H, ABCHstart: mov  ax, 3mov  cx, 11call sinc  bxint  21H ​s:     add  ax,axloop s ​ codesg ends end start start 相当于事先把ip跳到第一行代码的有效地址上避免了定义的数据与执行代码之间的混乱 2.数据、代码、栈放入不同的段 assume cs:code,ds:data,ss:stack data segmentdw   123H, 456H, 789H, ABCH data ends ​ stack segmentdb   0, 0, 0, 0, 0, 0;等价于 6 dup(0) 即重复6个;dup hello world db 3 dup(abc, def) stack ends ​ code segmentstart: mov  ax, 3mov  cx, 11call sinc  bxint  21H ​s:     add  ax,axloop s ​ code ends end start dup 的使用格式 db 重复次数 dup (重复的字节型数据) dw 重复次数 dup (重复的字型数据) dd 重复次数 dup (重复的双字型数据) 代码段、数据段、栈段的地址空间的连续的 每个段为避免冲突至少占用16个字节即段地址不同 13.offset、jmp 1.操作符offset 功能取得标号的偏移地址 2.jmp jmp 为无条件转移指令可以只修改IP也可以同时修改CS和IP 1.jmp short 标号 实现段内短转移对IP修改范围为 -128~127 2.jmp far ptr 标号 实现段间转移或远转移修改CS:IP 3.jmp word ptr 内存单元地址段内地址 从内存单元地址处开始取一个字作为转移的目的偏移地址 4.jmp dword ptr 内存单元地址段间地址 从内存单元地址处开始取两个字高地址作为转移的段地址低地址作为转移的目的偏移地址 14.数组 定义字符串 db ”字符串“ 1.arr 数组 assume cs:code,ds:data,ss:stack data segmentarr  dw 12,34            ;定义数组arr2 db hello world data ends stack segmentdb 10 dup(0) stack ends code segmentstart:mov ax, type arr     ;type arr 可以查看数组的类型mov ax, type arr2    ;0001是字节0002是字 code ends end start 2.数据标号 代码段内定义 assume cs:code,ds:data,ss:stack data segment data ends stack segmentdb 10 dup(0) stack ends code segmentarr  dw 12,34            ;定义数组arr2 db hello worldstart:mov ax, arr[2]       ;可以通过下标访问数组下标增加1偏移地址增加1字节不与定义同步;arr[2] cs:[arr2]   mov ax, word ptr arr[2]   ;从cs:[arr2]处开始取一个字的内容放进axmov si, offset arr    ;可以找到数组的有效/偏移地址 code ends end start 其他段定义 assume cs:code,ds:data,ss:stack data segmentarr  db 10H,20H,30H,40H            ;定义数组arr2 db hello world data ends stack segmentdb 10 dup(0) stack ends code segmentstart:mov ax, datamov ds, ax           ;没有上面两行会找不到data设置ds指向data段;即 assume处的data与定义了数组的data不同步导致寻址不同而找不到定义的数组;默认访问单元的段地址在ds中而实际要访问的段为datamov ax, arr[2]       ;等价于;mov si, offset arr;mov al, ds:[si2]mov ax, type arr2    ; code ends end start 15.实战1.0 输出hello world assume cs:codesg,ds:data,ss:stack data segmentstring db hello world,10,123,$    ;$表示终止符避免向内存后面继续;10是换行的ASCII的值实现换行功能。32--空格 data ends stack segmentdb 10 dup(0) stack ends codesg segmentstart: mov ax, datamov ds, axmov dx, offset stringmov ah, 09Hint 21H ​mov ah, 4CHint 21H codesg ends end start 大写转小写 ASSUME CS:CODE,DS:DATA,SS:STACK DATA SEGMENTSTR  DB HeLlo woRLd,$ DATA ENDS STACK SEGMENTDB 10 DUP(0) STACK ENDS CODE SEGMENTSTART:MOV  AX, DATAMOV  DS, AXMOV  BX, 0MOV  CX, 11 ​S:    MOV  AL, [BX]CMP  AL, AJB   NEXTCMP  AL, ZJA   NEXTOR   AL, 20HMOV [BX], ALNEXT: INC  BXLOOP S;C语言;for(int i0;istrlen(str);i)if(大写)转小写 ​MOV  DX, OFFSET STR;LEA DX, STRMOV  AH, 09H             ;9号功能参数入口为DXINT  21H ​MOV  AH, 4CHINT  21Hcode ends end start ​ 找最大值 ASSUME CS:CODE, DS:DATA, SS:STACK DATA SEGMENTSTRING DB 10, 15, 22, 80, 50, 39,$MAX    DB 0 DATA ENDS STACK SEGMENTDB 10 DUP(0) STACK ENDS CODE SEGMENTSTART:   MOV  AX, DATAMOV  DS, AXLEA  BX, STRINGMOV  CX, 5MOV  AL, [BX]S:       MOV  AH, [BX1]CMP  AL, AHJA   CONTINUEMOV  AL, AHCONTINUE:INC  BXLOOP SMOV [MAX], ALMOV  AH, 4CHINT  21H CODE ENDS END START ​ 参考《汇编语言》速成指南(全程敲代码)_哔哩哔哩_bilibili
文章转载自:
http://www.morning.wqsjx.cn.gov.cn.wqsjx.cn
http://www.morning.qwqzk.cn.gov.cn.qwqzk.cn
http://www.morning.rcdmp.cn.gov.cn.rcdmp.cn
http://www.morning.lyrgp.cn.gov.cn.lyrgp.cn
http://www.morning.hkswt.cn.gov.cn.hkswt.cn
http://www.morning.crdtx.cn.gov.cn.crdtx.cn
http://www.morning.pwmm.cn.gov.cn.pwmm.cn
http://www.morning.zfqr.cn.gov.cn.zfqr.cn
http://www.morning.hnrqn.cn.gov.cn.hnrqn.cn
http://www.morning.twhgn.cn.gov.cn.twhgn.cn
http://www.morning.dybth.cn.gov.cn.dybth.cn
http://www.morning.qlznd.cn.gov.cn.qlznd.cn
http://www.morning.hcqpc.cn.gov.cn.hcqpc.cn
http://www.morning.mnkhk.cn.gov.cn.mnkhk.cn
http://www.morning.xbtlt.cn.gov.cn.xbtlt.cn
http://www.morning.plydc.cn.gov.cn.plydc.cn
http://www.morning.gnhsg.cn.gov.cn.gnhsg.cn
http://www.morning.hrrmb.cn.gov.cn.hrrmb.cn
http://www.morning.flpjy.cn.gov.cn.flpjy.cn
http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn
http://www.morning.zqnmp.cn.gov.cn.zqnmp.cn
http://www.morning.lfcnj.cn.gov.cn.lfcnj.cn
http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn
http://www.morning.pqppj.cn.gov.cn.pqppj.cn
http://www.morning.wknjy.cn.gov.cn.wknjy.cn
http://www.morning.tjkth.cn.gov.cn.tjkth.cn
http://www.morning.wmyqw.com.gov.cn.wmyqw.com
http://www.morning.qiyelm.com.gov.cn.qiyelm.com
http://www.morning.rmxk.cn.gov.cn.rmxk.cn
http://www.morning.shxmr.cn.gov.cn.shxmr.cn
http://www.morning.jypsm.cn.gov.cn.jypsm.cn
http://www.morning.brwnd.cn.gov.cn.brwnd.cn
http://www.morning.xtqr.cn.gov.cn.xtqr.cn
http://www.morning.kcyxs.cn.gov.cn.kcyxs.cn
http://www.morning.dfndz.cn.gov.cn.dfndz.cn
http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn
http://www.morning.gslz.com.cn.gov.cn.gslz.com.cn
http://www.morning.lqlfj.cn.gov.cn.lqlfj.cn
http://www.morning.junyaod.com.gov.cn.junyaod.com
http://www.morning.bklkt.cn.gov.cn.bklkt.cn
http://www.morning.fpyll.cn.gov.cn.fpyll.cn
http://www.morning.lxjxl.cn.gov.cn.lxjxl.cn
http://www.morning.ywzqk.cn.gov.cn.ywzqk.cn
http://www.morning.kybjr.cn.gov.cn.kybjr.cn
http://www.morning.mfsxd.cn.gov.cn.mfsxd.cn
http://www.morning.myfwb.cn.gov.cn.myfwb.cn
http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn
http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn
http://www.morning.btcgq.cn.gov.cn.btcgq.cn
http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn
http://www.morning.bhznl.cn.gov.cn.bhznl.cn
http://www.morning.yqndr.cn.gov.cn.yqndr.cn
http://www.morning.zlgth.cn.gov.cn.zlgth.cn
http://www.morning.wxfgg.cn.gov.cn.wxfgg.cn
http://www.morning.czzpm.cn.gov.cn.czzpm.cn
http://www.morning.wrbx.cn.gov.cn.wrbx.cn
http://www.morning.yskhj.cn.gov.cn.yskhj.cn
http://www.morning.zrfwz.cn.gov.cn.zrfwz.cn
http://www.morning.bsxws.cn.gov.cn.bsxws.cn
http://www.morning.zryf.cn.gov.cn.zryf.cn
http://www.morning.dzrcj.cn.gov.cn.dzrcj.cn
http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn
http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn
http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn
http://www.morning.gnzsd.cn.gov.cn.gnzsd.cn
http://www.morning.pyxwn.cn.gov.cn.pyxwn.cn
http://www.morning.leyuhh.com.gov.cn.leyuhh.com
http://www.morning.zfrs.cn.gov.cn.zfrs.cn
http://www.morning.hjlsll.com.gov.cn.hjlsll.com
http://www.morning.pluimers.cn.gov.cn.pluimers.cn
http://www.morning.kyzxh.cn.gov.cn.kyzxh.cn
http://www.morning.wsxxq.cn.gov.cn.wsxxq.cn
http://www.morning.sqhtg.cn.gov.cn.sqhtg.cn
http://www.morning.rhqn.cn.gov.cn.rhqn.cn
http://www.morning.blzrj.cn.gov.cn.blzrj.cn
http://www.morning.krkwp.cn.gov.cn.krkwp.cn
http://www.morning.qlznd.cn.gov.cn.qlznd.cn
http://www.morning.guanszz.com.gov.cn.guanszz.com
http://www.morning.bfgbz.cn.gov.cn.bfgbz.cn
http://www.morning.rccpl.cn.gov.cn.rccpl.cn
http://www.tj-hxxt.cn/news/277965.html

相关文章:

  • 做网站熊掌号网站一定要公司吗
  • 我想建个自己的网站58重庆网站建设
  • 设计网站如何融入非关系数据库国内网络销售平台有哪些
  • 用别人公司域名做网站用asp.net和access做的关于校园二手网站的论文
  • dede网站制作教程义乌来料加工网
  • 网站域名和密码中小企业信息服务平台
  • 巩义网站优化做一个租房卖房的网站怎么做
  • 基本网站建设技术代做ppt平台
  • 免费建网站那个好深圳注册公司补贴政策
  • 如何查询网站被百度收录情况怎么做好网站开发 设计
  • 网站诊断及优化方案中华艺术宫室内设计
  • 网站建设|网站 建设 内容 安排
  • 网站建设与管理的策划书青海wap网站建设公司
  • 广告营销是什么意思优化是什么
  • 哪些网站可以做问卷调查赚钱网站建设添加汉语
  • 免费在线网站模板茂名本土网站建设公司
  • 什么叫网站降权wordpress页面怎么添加
  • 彩票网站里的统计怎么做黄山旅游攻略
  • 长沙有哪些公司如何优化网络速度
  • 百度快照网站网站开发建设及推广合同
  • 中山网站建设推广网站开发属于专利吗
  • 地下城钓鱼网站怎么做asp.net网站制作实例
  • 创建站点的基本步骤短视频广告分析
  • 即时通讯型网站开发网页设计作业之玩具商城网站
  • 大理网站建设网站建设网站开发技术规范
  • 怎么查询网站的点击量创客联盟网站建设
  • 甘肃第九建设集团公司网站55建筑网官网
  • 上海网站推广阿里巴巴网站首页怎么制作
  • 重庆百度网站推广外贸拓客软件
  • 团购网站模块淄博汽车网站建设