![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编
CtrlZ1
浮天水送无穷树,带雨云埋一半山。
展开
-
Win10安装Dosbox和masm实现汇编环境
话不多说,首先下载安装Dosbox,然后下载masm(其实就是一个文件夹,里面有很多exe文件,也可以自动生成)然后进入Dosbox输入 mountd E:\dos\MASM (因为我的masn里面的exe都放在里面了。然后d:可以正常用了,例如进入debug可以用了,不过这样有一个不好的事情就是每次打开都要输一遍mound。。。,所以我们需要写进文件里。...原创 2019-04-27 23:39:47 · 4623 阅读 · 0 评论 -
关于汇编语言的int 20h和int 21h
int 20h 程序终止本中断只适用于ms-dos,建议不要使用int 20h终止程序,应当利用dos功能调用4ch来适当地终止程序。本中断入口参数:CS=程序PSP的段地址返回:无INT是interupt中断的缩写,INT 21H是指DOS的中断调用命令,最常用的包括:01H、07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设...转载 2019-05-20 10:42:53 · 8677 阅读 · 0 评论 -
汇编语言将双字(DX,AX)左移4 位
a100mov cl,04;cl=4shl dx,cl;dx左移四位,如果dx=8765,那就挤掉8,=8760mov bx,0000;bx寄存器清零mov bl,ah;ax的高八位给bx的低八位shr bx,cl;bx右移四位,导致ax的高八位只剩高四位,也就是如果ax=4321,那么本来转过去的43只剩4,达到目的and dl,f0;dx的第八位的后四位清零add ...原创 2019-05-07 14:35:30 · 7515 阅读 · 1 评论 -
汇编语言编一程序段,求双字(DX,AX)的绝对值
a100mov ax,ffff;把双字长数的低字放到AX中mov dx,ffff;把双字长数的高字放到DX中test dx,8000;测试双字长数的符号jz 0113;如果是非负数,则直接保存neg dx;如果是负数,则求补neg ax;求补sbb dx,0int 3g=073f:0100 0113运行附图如下:...原创 2019-05-07 14:26:10 · 4920 阅读 · 0 评论 -
汇编问题rep movsb 和 cld 是什么意思
先说说MOVSB(MOVe String Byte):即字符串传送指令,这条指令按字节传送数据。通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比如DS:SI这段地址的N个字节复制到ES:DI指向的地址,复制后DS:SI的内容保持不变。而REP(REPeat)指令就是“重复”的意思,术语叫做“重复前缀指令”,因为既然是传递字符串,则不可能一个字(节)一个字(节)地传送,所以需要有一个寄存...转载 2019-05-06 11:42:15 · 7954 阅读 · 1 评论 -
汇编语言数据串搬家程序
验证:数据串搬家程序: 1)用A命令键入下列程序: MOV SI,1000 ;源地址寄存器MOV DI,1500 ;目的地址寄存器MOV CX,0F ;设置循环次数15次(因为字符串有15个字符)LOP: MOV AL,[SI] ;寄存器间接寻址MOV [DI],AL ;从si倒腾到diINC SI ;增加siINC DI ;增加di(因...原创 2019-05-06 11:35:54 · 1513 阅读 · 0 评论 -
利用查表方法把DX的内容(16进制数)转换成ASCII码
1)、用A命令键入下列程序: MOV BX,1000 ;初始地址MOV DI,2000 ;目标地址MOV CX,4 ;设置循环次数(一共16位,分四次)LOP: PUSH CX ;保护现场MOV CL,4ROL DX,CL;左循环DX的四位,补到最后面POP CX MOV AL,DL;把DX的低八位给ALAND AL,O...原创 2019-05-06 11:17:15 · 5839 阅读 · 0 评论 -
关于汇编指令CLD和STD指令
CLD指令功能:将标志寄存器Flag的方向标志位DF清零。在字串操作中使变址寄存器SI或DI的地址指针自动增加,字串处理由前往后。例如,以下三条指令执行后,SI自动加1,更新为0001H:CLDMOV SI,0000HLODSB ;将字串中的SI指针所指的一个字节装入AL.又如,以下三条指令执行后,SI自动加2,更新为0102H:STDMOV SI,0100HLODSW ;将...转载 2019-05-06 11:16:58 · 22488 阅读 · 2 评论 -
汇编语言的AX,BX,CX,DX,分别表示什么
汇编语言中的AX、BX、CX、DX是CPU内部的通用寄存器中的数据寄存器助记符。数据寄存器用来存放参与运算的数据或是存储运算的结果。这四个数据寄存器都是16位的,实际由两个8位寄存器组合而成,这是为了灵活处理8位数据。每个寄存器可以将高、低8位分别作为独立的8位寄存器使用。其中的高8位用AH、BH、CH、DH表示,低8位用AL、BL、CL、DL表示。这四个数据寄存器除了作为通用寄存器使用外,还...原创 2019-05-06 11:13:38 · 38241 阅读 · 0 评论 -
XLAT指令的用法
X DW 1122H,3344H,5566H,7788HLEA BX,XMOV AL,03HXLAT结果AL为33HXLAT作用:将((BX)+(AL))送给(AL)----简单:将BX为首地址的,偏移地址为AL的内容送给AL.在运行XLAT之前,AL=3 BX=(X的首地址)这时BX+AL就是33....为什么?注意高地址放在下面也就是--------------22----...原创 2019-05-06 10:38:02 · 17379 阅读 · 3 评论 -
汇编语言ROL和RCL之区别
AL=10100000时,ROLAL,1就把最高位的1移到最后,使AL变成01000001,同时移出的1送CF;ROLAL,CL(CL=2),相当于2次ROLAL,1,所以AL变成10000010,最后移出的0送CF。RCLAL,1则把AL的最高位1送给CF,使CF=1,AL其它位相应左移,成为0100000X,最后空下的X位被CF原来的值补齐;同样,ROLAL...转载 2019-05-06 10:36:11 · 10027 阅读 · 0 评论 -
SpringBoot使用Webjar管理前端静态文件
关于webjars资源,有一个专门的网站http://www.webjars.org/,我们可以到这个网站上找到自己需要的资源,在自己的工程中添加入maven依赖,即可直接使用这些资源了。使用webjars管理一些js、css等静态文件,这里展示的是管理jquery,就不用放在springboot里了。那怎么引用的?因为我用的是themeleaf,所以应该这么写:<...原创 2019-05-08 12:40:14 · 447 阅读 · 0 评论 -
段寄存器概念及字符串传送指令练习
1)用A命令键入下列程序: MOV SI,0 MOV DI,0 MOV AX,1000 MOV DS,AX MOV AX,1500 MOV ES,AX MOV CX,0F CLD REP MOVSB INT 20 注意段寄存器不能用立即数传址Movsb,将ds:si转到es:di,这里ds:si是1000:00...原创 2019-05-07 18:38:29 · 1145 阅读 · 0 评论