随笔分类 -  汇编语言

基于x86处理器的汇编语言
搭建一键化编译汇编语言的环境
摘要:搭建一键化编译汇编语言的环境 采用的方法是:nasm(编译器)和notepad++。 首先下载nasm和notepad++ nasm: NASM notepad++: https://notepad-plus-plus.org/ 一键化编译生成.bin文件: 1,启动NotePad++,在菜单上选择 阅读全文
posted @ 2021-12-12 12:46 Sna1lGo 阅读(545) 评论(0) 推荐(0)
汇编语言-内联汇编
摘要:汇编语言-内联汇编 也就是把汇编和C/C++合在一起 内联汇编 需要在指令前面添加汇编关键字 行内联汇编 _asm pushad; _asm mov eax,0x12345678; 块内联汇编 _asm { Pushad; Popad; } 利用汇编来实现Windows的函数 在调用自带的函数的时候 阅读全文
posted @ 2021-02-09 19:13 Sna1lGo 阅读(311) 评论(0) 推荐(0)
汇编语言-端口(port)
摘要:汇编语言-端口(port) 相当于计算机和硬件还有网络的传输交流的一个通道 硬件端口 CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。 其中硬件领域的端口又称接口,如:并行端口、串行端口等。 网络端口 在网络奇数中,端口(Port)有好几种意思。集线器、交换机、路由 阅读全文
posted @ 2021-01-14 01:16 Sna1lGo 阅读(1816) 评论(0) 推荐(0)
汇编语言-int指令-1-
摘要:汇编语言-int指令-1- 终端信息可以由CPU的外部和内部,这里也可以有int指令引发终端 int指令 int指令的格式为,int n,n为中断类型码 功能:引发中断 执行过程 1 取终端类型码n 2 标志寄存器入栈 3 cs,ip入栈 4 跳转 BIOS和DOS所提供的中断例程 在系统板的ROM 阅读全文
posted @ 2021-01-14 01:04 Sna1lGo 阅读(479) 评论(0) 推荐(0)
汇编语言-中断-1
摘要:汇编语言-中断-1 任何一个CPU,都可以在执行当前指令后收到另外一个信息来对新的信息来处理。 中断是意思就是CPU不在继续向下执行,而是转到处理别的信息。 中断信息可以是CPU的内部和外部、 外部中断一般是指由计算机外设产生的中断请求,如:键盘中断,打印机中断等等 内部中断是指因硬件出错(如突然断 阅读全文
posted @ 2021-01-14 00:49 Sna1lGo 阅读(786) 评论(0) 推荐(0)
标志寄存器
摘要:标志寄存器 CPU内部有一种特殊寄存器,用来存储相关指令的某些结果,用来为CPU执行相关指令提供行为依据,用来控制CPU的相关工作方式 这种寄存器在8086中称为标志寄存器,8086中的标志寄存器通常是16位,flag寄存器是每一位有每一位的意义和普通寄存器不同。 ZF标志 flag的第六位是ZF, 阅读全文
posted @ 2021-01-14 00:15 Sna1lGo 阅读(607) 评论(0) 推荐(0)
CALL和RET指令
摘要:CALL和RET指令 call和ret属于转移指令,都修改IP或者CS,IP。进程用来设计子程序,也就是函数 ret和retf ret指令用栈中的数据来修改IP,实现近转移 retf指令用栈中的数据来修改cs和ip,实现远跳转 ret 在汇编中执行ret的指令时,需要进行两步操作 (ip)=((ss 阅读全文
posted @ 2021-01-12 21:23 Sna1lGo 阅读(839) 评论(0) 推荐(0)
向显存写数据x8086
摘要:向显存写数据x8086 在内存的地址控件中,B8000H~BFFFFH这段32kb的空间是80x25的彩色字体显示缓冲区,向这个内存中写入数据,写入的内容会立即直接出现在显示器上 在80x25彩色字符模式下,显示器可以显示25行,每行25个字符,每个字符可以有256种属性 那么可以知道的是一个字符在 阅读全文
posted @ 2020-12-07 15:49 Sna1lGo 阅读(523) 评论(0) 推荐(0)
汇编语言实现嵌套循环
摘要:assume cs:code,ds:datadata segment db 'ibm' db 'dec' db 'dos' db 'vax'data ends stack segment dw 0,0,0stack ends code segment start: mov ax,data mov d 阅读全文
posted @ 2020-12-01 23:15 Sna1lGo 阅读(749) 评论(0) 推荐(0)
80x86指令系统-1-数据传送指令
摘要:80x86的指令系统 80x86的指令系统可以分为以下6组: 数据传输指令 传处理指令 算术指令 控制转移指令 逻辑指令 处理机控制指令 数据传送指令 负责把数据、地址或立即数送到寄存器或存储单元中。可以仔细分为以下5种: 1 通用数据传送指令 MOV 传送 MOVSX 带符号扩展传送 MOVZX 阅读全文
posted @ 2020-10-26 20:02 Sna1lGo 阅读(1042) 评论(0) 推荐(0)
汇编语言-寻址方式-地址和数据相关的寻址方式
摘要:数据相关的寻址方式 1 立即寻址方式 直接使用立即数来处理 mov al,5mov ax,3064H 2 寄存器寻址方式 操作数在寄存器中,直接使用寄存器赋值来读取内部的操作数。 另外的方式的简介: 在8086中把操作数的偏移地址称为有效地址,以下的操作都是取得有效地址(EA)的不同途径。 有效地址 阅读全文
posted @ 2020-10-20 12:43 Sna1lGo 阅读(2379) 评论(0) 推荐(0)
Windows10下的debug
摘要:首先在windows下安装debug 参考一下连接 https://blog.csdn.net/qq_39564555/article/details/82936535 使用debug 查看、修改CPU中寄存器内容 ;采用debug 的R指令来查看、改变CPU的内容 直接输入R指令,查看所有CPU寄 阅读全文
posted @ 2020-09-22 00:39 Sna1lGo 阅读(394) 评论(0) 推荐(0)
汇编语言-X86处理器架构-64位x86处理器
摘要:64位x86-64处理器 针对所有使用x86-64指令集的64位处理器的基本架构细节。包括Intel64和AMD64处理器。 具有以下基本特点: 1.向后兼容x86指令集 2.地址长度为64位,虚拟地址空间为2的64字节 3.可以使用64位通用寄存器 4.比x86-32多了8个通用寄存器 5.物理地 阅读全文
posted @ 2020-08-05 19:14 Sna1lGo 阅读(852) 评论(0) 推荐(0)
汇编语言-X86处理器架构-32位x86处理器
摘要:32位x86处理器架构 包括了intel IA-32系列成员和所有32位AMD处理器。 1 操作模式 x86处理器有三个主要模式分别是:保护模式,实地址模式和系统管理模式以及一个保护模式的特殊模式的子模式:虚拟8086模式。 引入一个定义:程序在运行被分配的内存称之为段。 1.1 实地址模式(Rea 阅读全文
posted @ 2020-08-04 21:15 Sna1lGo 阅读(612) 评论(0) 推荐(0)
汇编语言-X86处理器架构-一般概念
摘要:一般概念: 该博客的汇编语言全是基于x86处理器 X86处理器架构包括了所有intel IA-32和Intel64处理器。 1 基本微机设计 1.1 架构 微计算机的基本设计:中央处理器(CPU)作为算数和逻辑操作的部件,包含了有限数量的存储位置-寄存器(register),高频时钟,控制单元CU和 阅读全文
posted @ 2020-07-27 17:35 Sna1lGo 阅读(685) 评论(0) 推荐(0)
汇编语言基础-1 基本语言元素
摘要:1 基本语言元素: 本次汇编语言学习,采取的是Microsoft MASA的汇编器语法规则。 1.1 第一个汇编程序 1 main PROC 2 mov eax,5 ;把数字5送入寄存器eax 3 add eax,6 ;eax寄存器加6 4 5 INVOKE ExitProcess,0 ;程序结束6 阅读全文
posted @ 2020-07-26 16:35 Sna1lGo 阅读(803) 评论(0) 推荐(0)
汇编语言基本概念
摘要:机器语言:直接作用与CPU,针对CPU不同汇编语言不同。 汇编器(assembler):把汇编语言翻译成机器语言 链接器(linker):汇编器生成的单个文件组合为一个可执行文件。 汇编语言、机器语言和现在目前的高级语言的关系:汇编语言和机器语言可以一对一翻译,而高级语言又可以一对多翻译为汇编语言。 阅读全文
posted @ 2020-07-16 10:57 Sna1lGo 阅读(373) 评论(0) 推荐(0)