首页 > 编程语言 >关于汇编的一点东西

关于汇编的一点东西

时间:2023-10-19 13:01:21浏览次数:30  
标签:汇编 16 ip 地址 关于 cs ax 一点 bx

1,低位高位相加产生进位时互不影响,该舍掉还是舍掉。

2, 100和10(十进制)都是小于255(FF),就是说使用8位二进制,2位16进制就可以表示了,AX,BX等等那些位上的都是16进制。在汇编里mul乘法不是 mul ax,bx这种,由于越界问题,所以8*8情况下,al里保存1个8位数,另一个存在bl里,然后mul bl,系统就会把bl*al的结果放在ax里。然后8*16的情况按照16*16去做就ok,同理,ax里放一个16位数,然后bx里放一个16位数,mul bx,系统会把ax*bx的结果的高位存在(前四位算高16位,后四位算低16位,对于乘出的16进制结果而言)DX里,低位存在AX里。 另外这种方法是不会溢出的因为对于8*8,最大是FF*FF,得到FE01,可以放下,FFFF*FFFF得到FFFE 0001,也可以放下。

2, 对于div除法的话,如果是16位除8位的话,16位放在AX里,8位放在bl,div bl即可,得到的商在al,余数在ah。如果是32位除16位的话,32位高4位(指4个16进制位)放在dx,低4位放在ax,16位放在bx,得到的商放在AX,余数放在DX。
注意 bl或者bx,这些换成cl,cx,d什么的可以,但是div,mul bl...是默认ax/bl,所以被除数存在ax里是不会变的。

2, 关于二进制的and or运算,前者同为1才得1,后者只要有1就为1,

3,shl shift left左移,shr 同理为右移, nop指令没有什么用会占空间,然后inc和dec指令分别为++和--,xchg指令作用为交换,neg的作用就是把那个数对应 的二进制取反+1. 1字是2字节16位。

3, 如果div 除了0,那么就会引发int 0 这个中断,会使cs,ip改变,就会使指向代码的指针指向这个段地址+偏移地址指向的地方,也就是指向 BIOS ROM 中断例程的入口点。这样处理器就能够进入指定的异常处理代码来处理除法错误。应该是对的。。。。。 int 21是一个常用的中断指令。

4, 物理地址=段地址*16+偏移地址。对于16进制数而言*16就是左移1位。
所以1个物理地址可以不止1种表示。对于ds寄存器而言它是数据段寄存器。mov ds 0FF0这种都是不可以的,只能拿ax,bx啥的去mov。另外0000H,D,O,B后面跟的这四个代表了是16进制还是10进制还是8进制还是2进制的意思。
mov(等操作) ax(...) [数字] 就是对以ds为段地址,以数字为偏移地址的哪里的内存进行操作,由于大端序小端序的原因,如果想给al搞[50],ah搞[51],就不要直接ax的弄可能会反过来,最好指定al,ah分开弄即可。

5, 好神奇的汇编,首先-t执行的是cs ip指向的物理地址的机器码,也就是我当前输入的汇编指令所转换成机器能看懂的机器码,并且随着执行cs ip会接着变化,那么我之前执行过了很多汇编指令那么那些cs ip所对应的物理地址的哪一行机器码其实就是我们当初写的汇编指令了,如果我们-r 修改cs ip回到当初,执行-t的话应该是会继续输出的。另外比如2000:0000 对应的就是2000左移1为+0000,得到的20000的物理地址。 -u如果没有参数默认查看当前cs ip对应的物理地址的那些机器码并且翻译为对应汇编指令, -d就是可以看对应cs ip的那些机器码。

5, cs ip 表示了代码要执行的指针。不能直接mov ip 0000啥的格式问题吧就和 不能 mov ds 0000一样,jmp 1000:0000就是改掉cs和ip相当于跳转功能进而可以实现那个位置的代码,jmp k 就是把当前的ip改成k 。也是跳转。

7, bx有特殊的意义,它还可以做偏移地址。ax,cx不行,si,di也可以像bx一样做偏移地址[],并且可以[bx+1]啥的,但是不能[bx+ax]这种。[bx+si+data],[bx+di+data]可以但是不能[bx+si+di+data]这种,并且可以实现mov [],cx 这种赋给内存。
总之就是只有4个寄存器可以进行内存单元的寻址 bx,si,di,bp.
利用bx可以进行的寻址,bp也可以。它们唯一的区别就是[bx]表示以ds为段地址,bx为偏移地址, [bp]表示以ss为段地址,bp为偏移地址。没有[bp]就以默认ds为段地址。

标签:汇编,16,ip,地址,关于,cs,ax,一点,bx
From: https://www.cnblogs.com/NiShu7777/p/17774465.html

相关文章

  • 关于 js ajax readyState 的阐述
    为了弄清楚ajaxreadyState的具体意义,做了如下测试:index.html1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8"/>5<metaname="viewport"content="width=device-width,init......
  • 关于 npoi 的 DateUtil.IsCellDateFormatted(cell) 为true,取cell.DateCellValue却报
    NPOI中数字和日期都是NUMERIC类型的,这里对其进行判断是否是日期类型所以当 DateUtil.IsCellDateFormatted为true时,理论是应该可以取到  cell.DateCellValue但实际上,cell.DateCellValue可能会报异常,而取 cell.NumericCellValue却是正常的,HSSFWorkbook是excel2007以前......
  • Windows下VC++编译器32位memcpy、memmove函数汇编代码详解
    整理者:赤勇玄心行天道QQ号:280604597微信号:qq280604597QQ群:511046632博客:www.cnblogs.com/gaoyaguo  blog.csdn.net/cyz7758520?type=blog大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的!你可以随意转载,无需注明出处!写文档实属不易,我希望大家能支......
  • 关于java的常见异常处理
    Java中常用的异常处理包括以下几种类型的异常:编译时异常、运行时异常和错误。在Java中,异常处理是通过异常处理机制来进行的。当程序运行过程中出现异常时,程序会根据异常处理机制来决定如何处理异常,以保证程序的稳定运行。 1.编译时异常(CheckedExceptions)编译时异常在程序编......
  • vue2.x和vue3.x关于获取表格某一行的写法真的不同绝了
    vue2.x<el-table-columnlabel="测试"align="center"prop="ce"><templateslot-scope="scope"><span>{{scope.row.ce}}</span></template>vue3.x<el-table-columnprop=&q......
  • 易语言关于微信收款监控软件写法的思考
    想写微信收款监控,正规途径是企业认证申请sdk。可是这个确实是有门槛的,好像每年都要交不少的钱,好像是,具体我也不记得了。如果能够监控收款,就可以利用微信写自动成交工具。很多卖虚拟的,就可以实现自动发卡。所以很多人就想走其他的捷径,看能不能绕过官方,自己监控。最简单的......
  • 关于项目管理的若干建议
    今天整理电脑,发现自己去年年初给老板写的这个很好,拿出来和大家分享一下《关于项目管理的若干建议》1、人尽其才,成本优先技术开发型公司最主要的管理就是人员的管理,如何最大程度的利用好现有人才,发挥其最大作用,也是成本控制的重要参数。技术开发人员按初级、中级、高级三个级别进......
  • 关于devops系统的搭建
    1.Docker的安装1.下载Docker依赖组件yum-yinstallyum-utilsde2023-09-1213:54:03星期二vice-mapper-persistent-datalvm22.设置下载Docker的镜像源为阿里云yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装Do......
  • 关于 K 维空间中整点之间曼哈顿距离最短路径计数问题
    约定\(K\)维空间中,整点的坐标以\(K\)个整数表示,形如\[Point\left(X_1,X_2,\cdots,X_k\right)\]定义两个点的曼哈顿距离为每一维坐标差的绝对值之和,记为\[MD\left(A,B\right)=\sum_{i=1}^{K}\left|{X_{i_A}-X_{i_B}}\right|\]定义两个点\(A\),\(B\)相邻当且仅当......
  • 关于一款软硬一体的RTSP/Onvif协议视频平台EasyNVR安防视频监控平台的介绍
    EasyNVR是一种网络视频录像机(NetworkVideoRecorder),属于软硬一体的产品,支持RTSP/ONVIF协议接入,体积小巧,通电连网即可成功运行,部署操作简单,低功耗,支持7x24小时不间断运行,省去自建视频服务器的高额费用,专属视频服务,免除了与其他硬件的相互影响,可云端运维。作为一种专业的视频监......