汇编学习
//查无此人
这个作者很懒,什么都没留下…
展开
-
ARM64指令快查
0x201。原创 2024-06-04 19:01:03 · 267 阅读 · 0 评论 -
6.DOS系统下的显示
1、dos系统的显示大小为80*25字符,内存地址空间为B8000H~BFFFFH共32KB的空间,向这里面陷入数据,内容会出现在显示器上。2、每个字符需要用2个字节的存储空间,高字节存储字符的属性(背景、前景、闪烁、高亮),低字节存储字符的ASCII码。3、由上可以算出第N行M列的字符(从第1行第1列开始算,而不是第0行0列)在内存中的首地址:(N-1)*160 + (M-1)*24、属性字节的格式:白底蓝字不闪烁不高亮: 0 111 0 001B = 71H注意:白色是111不是00原创 2020-07-01 11:02:25 · 567 阅读 · 0 评论 -
5.转移指令的原理(jmp详细讲解、jcxz/loop指令)
一、基础1、可以修改IP,或同时修改CS和IP的指令称为转移指令。2、8086CPU的转移 行为分为段内转移(只修改IP) 和 段间转移(同时修改CS和IP)。3、段内转移分为短转移(IP修改范围-128~127) 和 近转移(IP修改范围-32768~32767)。4、CPU转移指令分为:①无条件转移指令(jmp)②条件转移指令③循环指令(loop)④过程⑤中断二、操作符offset1、offset是操作符,而不是一个指令,它是用来取得标号的偏移地址。assume cs:code原创 2020-06-29 17:50:31 · 3534 阅读 · 0 评论 -
4.更灵活的定位内存地址的方法(and/or指令、字符形式数据、[bx+idata]、si/di/bp寄存器、数据处理长度、div指令、dd/dup伪指令)
一、and和or指令1、and指令是按位与操作:通过指令可以将操作对象相应位设置成0,其他位不变。mov al 11111110band al 11011110b上述代码将第五位设置成0,其他位不变2、or指令是按位或操作:通过指令可以将操作对象相应位设置成1,其他位不变。mov al 00000001bor al 00100001b上述代码将第五位设置成1,其他位不变3、and和or指令不可以对[bx]和段寄存器直接操作,要通过通用寄存器ax等中转。字符形式数据1、在汇编中,用原创 2020-06-24 13:35:32 · 660 阅读 · 0 评论 -
3.8086中的栈操作(push、pop)、[BX]和loop
一、栈1、栈是一种有特殊访问方式的存储空间,最后进去的数据最先出去,Last In First Out(LIFO).2、8086CPU提供入栈(PUSH)和出栈(POP)的操作,栈段最大64KB。3、8086中栈存放数据由高地址到低地址,且对于16位的数据,高地址存高8位,低地址存第8位。4、栈顶的地址由SS:SP两个寄存器决定,SS是存放栈的段地址,SP是栈的偏移地址。SS:SP无论何时,均指向栈顶。5、当栈为空时,SP指向栈空间中最高地址的下一地址:栈空间为 0x10000H-0x1000f原创 2020-06-23 21:30:17 · 6156 阅读 · 0 评论 -
2.汇编基础(字存储、DS:[addr]、mov、add、sub)
一、内存中的字存储1、内存单元是字节单元,因此需要两个地址连续的内存单元来存放一个字,这个字的低位字节放在低地址中,高位字节放在高地址中。2、4E20H和0012H分别在0地址字单元和2地址字单元中的存储:二、DS和[address]mov bx,1000hmov ds,bxmov al,[0]以上代码实现将1000:0(10000H)地址的内容送入ax的低8位寄存器,需注意的:①[0]中的0说明这个内存单元的偏移地址是0,段地址默认存放在ds中,执行指令时,8086CPU自动从ds中取原创 2020-06-21 10:41:37 · 2315 阅读 · 0 评论 -
1.汇编基础(8086基础、通用寄存器、物理地址寻址、CS和IP)
一、8086CPU基础和通用寄存器8086是一种16位的CPU,有20根地址线、16根数据线,最大寻址为1M,单次处理16位数据。8086的通用寄存器:AX、BX、CX、DX每个寄存器都是16位的,都可以当作两个8位寄存器使用。注意: 两个十六位寄存器相加时,超出范围后只留存最后十六位的数据,超出部分有地方保存(目前还不知道在哪),八位寄存器相加相同,如下:MOV AX,FFFFHMOV BX,0008HADD AX,BX # AX此后值为0007H二、8086CPU给出物理地址原创 2020-06-20 23:36:38 · 1970 阅读 · 0 评论 -
0.WIN10汇编学习环境搭建(两种方式)
这里介绍两种环境搭建方法,一种是DOSBOX模拟器,一种是VMware虚拟机跑一个DOS系统,其中虚拟机跑DOS系统是学习https://blog.csdn.net/vs9841/article/details/49047599 这篇文章。原创 2020-06-17 22:53:34 · 739 阅读 · 1 评论