![](https://img-blog.csdnimg.cn/c84fb26730a54bbab75e0dd0019eeb0a.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
汇编语言
文章平均质量分 84
汇编语言(王爽)的读书笔记
_Mercurial
Code is Poetry
展开
-
实验3 编程、编译、连接、跟踪
实验将以下程序保存为asm文件,并使用Debug跟踪它的执行过程,写出每一步后,相关寄存器中的内容和栈顶的内容。assume cs:codesegcodeseg segment mov ax,2000H mov ss,ax mov sp,0 add sp,10 pop ax pop bx push ax push bx pop ax pop bx mov ax,4c00H int 21Hc原创 2022-05-10 18:05:31 · 660 阅读 · 0 评论 -
第四章 第一个程序
4.1 一个源程序从写出到执行的过程一个汇编语言程序从写出到最终执行的简要过程:使用文本编辑器编写汇编程序对源程序进行编译,生成目标文件进行连接,生成可执行文件可执行文件包含两部分内容:程序。从汇编指令汇编翻译过来的机器码和数据(源程序中定义的数据)相关的描述信息。指程序大小,要占用多少内存空间等的信息在操作系统中按照可执行文件的描述信息,将机器码和数据载入内存,并进行相关的初始化(比如设置CS:IP指向第一条指令等)。然后CPU执行程序。4.2 源程序assume cs:cod原创 2022-04-25 16:09:14 · 310 阅读 · 0 评论 -
一分钟,在VSCode中使用MASM/TASM搭建汇编环境
我们在学习《汇编语言》的时候,避免不了的需要搭建一个DOS环境来对书上所讲的内容进行实际操作。然而当我们根据书上所说去所搜索DOS环境的时候,通常会搜索出来DOSBox这个东西,同时在第四章,还需要编写汇编程序,并编译链接调试,有时候DOSBox配置好以后,只能使用它的Debug功能,而书写程序需要额外安装其他的汇编工具集:masm,tasm,edit等。DOSBox的配置较为麻烦,这里带大家在我们熟知的VS Code里一键安装一个汇编语言的模拟、写程序以及运行调试的环境。第一步:安装打开VS Cod原创 2022-04-19 07:00:00 · 13839 阅读 · 23 评论 -
实验2 用机器指令和汇编指令编程
1. 预备知识:Debug的使用(1)关于D命令之前的实验中,我们知道D命令是用来查看内存单元的命令:d 段地址:偏移地址。我们又知道段地址是存放在寄存器中的,在D命令后直接给出段地址,debug在执行D命令时,会将段地址送入段寄存器中。因此D命令也提供了这样的一种方式:d 段寄存器:偏移地址:-r ds:1000-d ds:0 //查看从1000:0开始的内存区间中的内容-r ds:1000-d ds:10 18 //查看1000:10~1000:18中的内容-d cs:原创 2022-04-13 16:14:00 · 586 阅读 · 3 评论 -
第三章 寄存器(内存访问)
3.1 内存中字的存储CPU中,用16位寄存器来存储一个字(1个字有2个字节,即16个比特)。高8位存放高位字节,低8位存放低位字节。又因为一个内存单元只能存储一个字节,因此需要两个连续的内存单元来存储一个字。用0、1两个内存单元存放数据20000(4E20H)。这两个内存单元可以看做一个起始地址为0的字单元。字单元:即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。3.2 DS和[address]以下三条指令将10000H(1000:0)中的数据读到al中mov bx,原创 2022-03-14 16:02:54 · 1950 阅读 · 0 评论 -
实验1 查看CPU和内存,用机器指令和汇编指令编程
1. 预备知识:Debug的使用(1)什么是Debug?Debug是DOS、Windos都提供的实模式(8086方式)程序的调试工具。可以使用它查看CPU各种寄存器中的内容、内存的情况和在机器码级别跟踪程序的运行。(2)我们用到的Debug功能。R命令查看、改变CPU寄存器的内容D命令查看内存中的内容E命令改写内存中的内容U命令将内存中的机器指令翻译成汇编指令T命令执行一条机器指令A命令以汇编指令的格式在内存中写入一条机器指令(3)进入Debug(4)R命令左下角的073F:0原创 2022-03-09 14:12:30 · 1058 阅读 · 0 评论 -
第二章 寄存器
一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。第一章说的总线是外部总线。在CPU中:运算器进行信息处理寄存器进行信息存储控制器控制各种器件进行工作内部总线连接各种器件,在他们之间进行数据的传送不同的CPU,寄存器的个数、结构是不相同的。例如8086CPU有14个寄存器,都是16位:AX, BX, CX, DX, SI, DI, SP, BP, IP, CS, SS, DS, ES, PWD。2.1 通用寄存器8086CPU中,AX, BX, CX, DX这4原创 2022-03-09 14:10:09 · 11288 阅读 · 2 评论 -
第一章 基础知识
1.1 机器语言机器语言是机器指令的集合。机器指令其实就是一台计算机可以正确执行的命令,是一列二进制数字,计算机将其转换为高低电平。CPU是一种微处理器,每一种微处理器由于硬件设计和内部结构的不同,就需要不同的电平脉冲来控制。所以每一种微处理器都有自己的机器指令,即机器语言。1.2 汇编语言的产生机器语言难以书写,辨别和记忆,因此产生了汇编语言。例如:机器指令1001(假设)表示把寄存器BX的内容送到AX,那么汇编指令则写成mov ax,bx。人们写出使用汇编语言写出源程序后,通过汇编编译器将原创 2022-03-08 15:20:44 · 529 阅读 · 0 评论