![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
连理o
负优化砖家
展开
-
汇编语言(一):环境搭建以及 Hello World 的编写
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第一次课内容目录程序语言分类汇编语言的意义应用搭建环境DOSBox挂载硬盘基本命令快捷键Hello World!汇编代码.model 伪指令.code 简化段定义伪指令.startup 程序开始伪指令利用系统调用显示信息.exit 0 程序退出伪指令定义字符串end 汇编程序结束标志生成可执行文件编译链接生成可执行文件运行 .com程序语言分类机器语言、汇编语言、高级语言汇编语言的意义与硬件关系密切,有助于理解计算机硬件与操作系统有利于理原创 2020-07-06 18:03:49 · 665 阅读 · 3 评论 -
汇编语言(二):数据在电脑中的存储形式
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第二次课内容目录数据在电脑中的存储形式原码:无符号数的表示补码:有符号数的表示数据在电脑中的存储形式原码:无符号数的表示用全部字长来表示数值大小,如unsigned char的取值范围是0~255(28−12^8-128−1)。由此可见,相同位数的有符号数和无符号数表示的取值范围不同补码:有符号数的表示如果要表示有符号数,可以将最高位定义为符号位,0为正数,1为负数但此时,如果继续用原码形式来表示有符号数就会出现如下问题:1 表示为原创 2020-07-17 16:09:20 · 1430 阅读 · 0 评论 -
汇编语言(三):高级语言程序的运行过程、8086CPU简介(寄存器组)、debug
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第三、四次课内容目录高级语言程序的运行过程反汇编跟踪程序运行过程8086CPU简介早期计算机系统8086CPU功能结构指令执行的基本过程8086的寄存器组8086的8个通用寄存器数据寄存器变址寄存器指针寄存器指令指针寄存器标志寄存器进位标志CF(Carry Flag)零标志ZF(Zero Flag)符号标志SF(Sign Flag)溢出标志OF(Overflow Flag)奇偶标志PF(Parity Flag)辅助进位标志AF(Auxiliary C原创 2020-07-07 12:09:39 · 2220 阅读 · 0 评论 -
汇编语言(四):内存管理(分段管理、寻址方式)
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第五次课内容目录8086存储器组织DOS加载程序过程.com文件加载过程8086的分段管理基本概念1基本概念2基本概念3存储器的分段管理段寄存器指令的组成8086寻址方式传送指令mov的格式立即数寻址方式寄存器寻址方式存储器寻址方式直接寻址方式寄存器间接寻址方式寄存器相对寻址方式基址变址寻址方式相对基址变址寻址方式8086存储器组织内存(主存储器):存放当前正在执行的程序和使用的数据,CPU可以直接存取外存(辅助存储器):CPU需要通过I/O原创 2020-07-07 13:14:18 · 989 阅读 · 0 评论 -
汇编语言(五):算术运算指令、BIOS中断服务
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第六次课内容目录算术运算指令加法指令ADD带进位加法指令ADC增量指令INC(increment)减法指令SUB(subtract)带借位减法指令SBB减量指令DEC(decrement)求补指令NEG(negative)比较指令CMP(compare)符号扩展指令乘法指令除法指令BIOS中断服务DOS系统调用BIOS中断:字符属性BIOS中断:设定显示模式BIOS中断:置光标位置BIOS中断:在光标位置显示字符BIOS中断:显示字符串算术运算指令原创 2020-07-07 19:18:14 · 1651 阅读 · 0 评论 -
汇编语言(六):位操作类指令(AND, OR, XOR, NOT, TEST, 移位指令)
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第七次课内容目录位操作类指令逻辑与指令AND逻辑或指令OR逻辑异或指令XOR逻辑非指令NOT测试指令TEST移位指令(shift)逻辑移位指令算术移位指令移位指令对标志的影响移位指令的意义循环移位指令(rotate)循环移位指令对标志的影响例子32位数移动位传送位操作类指令逻辑运算指令:AND OR XOR NOT TEST移位指令:逻辑、算术移位指令:SHL SHR SAL SAR循环、带进位循环移位指令:ROL原创 2020-07-07 18:08:17 · 7337 阅读 · 0 评论 -
汇编语言(七):控制转移类指令(转移指令、循环指令、子程序指令、中断指令)、最后一次作业
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第八次课内容目录控制转移类指令无条件转移指令JMP段内转移、直接寻址段内转移、间接寻址条件转移指令判断单个标志位状态比较无符号数高低比较有符号数大小循环指令(loop)子程序指令中断指令系统功能调用字符输出的功能调用字符串输出的功能调用字符输入的功能调用字符串输入的功能调用DOS 文件操作建立文件打开文件关闭文件读取文件写文件控制转移类指令重点掌握:JMP/Jcc/LOOPCALL/RETINT n 常用系统功能调用一般了解:LO原创 2020-07-07 21:33:35 · 1933 阅读 · 0 评论 -
汇编语言(八):串操作指令、空操作指令NOP
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第九次课内容目录串操作指令串寻址方式串传送MOVS(move string)串存储STOS(store string)串读取LODS(load string)串比较CMPS(compare string)串扫描SCAS(scan string)重复前缀指令(repeat)REPREPZ / REPNZ处理机控制类指令空操作指令 NOP串操作指令串操作指令采用比较特殊的数据串寻址方式,操作主存连续区域的数据重点掌握:MOVS STOS L原创 2020-07-08 08:54:24 · 4858 阅读 · 1 评论 -
汇编语言(九):汇编语言格式、变量定义、顺序/分支/循环程序设计、子程序设计
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第十次课内容目录汇编语句格式标识符硬指令、执行性语句伪指令、说明性语句变量定义变量名初值表变量定义伪指令助记符定义字节单元伪指令DB定义字单元伪指令DW定义双字单元伪指令DDPTR操作符顺序程序设计求两数之和移位代码转换 XLAT分支程序设计二分支三分支多分支循环程序设计汇编语句格式标识符标识符(Identifier)一般最多由31个字母、数字及规定的特殊符号(如 _、$、?、@)组成,不能以数字开头。默认情况下,汇编程序不区别标识符中的字母原创 2020-07-08 11:10:31 · 4899 阅读 · 0 评论 -
汇编语言(十):软件加密与解密
作为汇编语言的课程笔记,方便之后的复习与查阅本篇为课程第十二次课内容目录基础知识一些重要的汇编指令静态分析示例:利用静态分析破解CRACKME.EXE动态分析基本API函数示例:利用动态分析破解Task Lock.EXE软件保护技术本文中用到的静态分析与动态分析软件,以及作为示例的破解软件:链接:https://pan.baidu.com/s/1PaevJ80fbhf3K7lCLhmHKQ提取码:nvau基础知识加密:可以对待加密文件进行加壳,压缩,反跟踪,代码变形等操作,这些操作使用汇编语原创 2020-07-19 09:23:55 · 1874 阅读 · 4 评论