汇编语言第4版 王爽(一)
本书采用以8086CPU为中央处理器的PC机来进行学习。8086CPU常用而结构简洁,可以方便地进行实践,便于教学。纯粹的8086PC机已经不存在了,但是现在的任何一台PC机中的微处理器,只要是和Intel兼容的系列,都可以用8086的方式进行工作。
附注1
微机中常用的Intel系列微处理器的主要发展过程是:8080,8086/8088,80186,80286,80 ...
UEFI开发实战SlimBootloader中调用FSP
目录综述编译PostBuildBuildPostBuildFSP二进制组成分析使用Stage1AStage1BStage2综述
FSP的全称是Firmware Support Package。FSP有以下的特性:
FSP提供了Intel重要组件(包括处理器、内存控制器、芯片组等)的初始化;FSP被编译成独立的二进制,并可以集成到Bootloader中,这里说的Bootloader可以是Slim Bootloader,core ...
UEFI开发实战用户交互界面使用说明VFR文件
目录1. 综述2. 作用3. 语法3.1 注释3.2 预定义3.3 数据结构3.4 Forms相关表达式总览3.4.1 formset3.4.2 formset list3.5 Form Set List3.5.1 变量定义3.5.2 控制语句3.5.3 Question语句3.5.4 form语句3.6 Forms表达式3.6.1 vfrStatementImage3.6.2 vfrStatementLocked3.6.3 vfrStatementRules3.6.4 vfrStatementDefault3.6. ...
UEFI开发实战用户交互界面使用说明UNI文件
目录综述作用语法基本定义语法说明UNI文件的使用综述
UEFI用户交互界面的实现涉及到多种不同类型的文件,这里要讲的是UNI文件,它也是其中最简单的一种。本文主要参考自《edk-ii-uni-specification.pdf》(以下简称参考文档)。它可以在EDK II Specifications · tianocore/tianocore.github.io Wiki · GitHub ...
UEFI开发实战用户交互界面基础说明
目录前言启动UiApp模块字体字符串UI Entry前言
本文以vUDK2017: https://github.com/tianocore/edk2.git Tag vUDK2017.中的代码为例说明UEFI用户交互界面的实现。
这里UEFI用户交互界面的实现载体是OVMF(使用QEMU启动),其形式如下:
它一般被叫做Front Page(后面将以该名称来称呼上述的界面),其下还包括Setup,Boot ...
UEFI开发基础HII代码示例
目录代码示例模块formsetformsubtitleoneofstringnumerictextcheckboxgotolabel代码示例
代码 https://gitee.com/jiangwei0512/edk2-beni
模块
BeniPkg\DynamicCommand\SetupDynamicCommand\SetupDynamicCommand.inf。
这里通过一个命令setup来打开图形界面。图形界面的form在Page.vfr中,还有若干的uni文件存放字符串 ...
UEFI开发基础汇编代码的使用
UEFI中使用汇编代码
EDK代码中包含一部分汇编代码,目前支持的有.S、.asm和.nasm格式的汇编(第一个是AT&T汇编,后两个是Intel汇编,只是使用的汇编样式稍有不同,.nasm是开源和免费的,更加的通用),如果是在Windows下编译,一般使用的是NASM编译器,所以会使用.nasm格式的汇编文件,而编译工具也是免费的,可以在https:/ ...
汇编语言程序设计(十)call和ret指令
目录引言ret和retf指令ret指令retf指令call指令用法:call 标号call far ptr 标号call 16位寄存器转移地址在内存中call指令call word ptr 内存地址单元call dword ptr 内存地址单元mul指令call与ret联合使用批量数据的传递寄存器冲突的问题
引言
call和ret都是转移指令,它们都修改IP,或者同时修改CS和IP
ret和retf指令
...
汇编语言
汇编语言一发入魂 – 杨河老李 (kviccn.github.io)
Writing a Bootloader Part 1 | Alex Parker's Website (3zanders.co.uk)  art 2
part 3 在Ubuntu的编译:sudo apt install build-essential -y
asm: nasm -f elf32 a.asm -o boot1.bin
comipile: g++ -m32 -ffreestanding -fno-exceptions -fno-rtti -fno-pic ...
汇编语言学习(对于8086CPU)
汇编语言学习(对于8086CPU)
前言:学了计算机导论再来学会更好,推荐也学一下计算机组成原理(只学过导论也可以)
这篇笔记没有前置理论知识,不讲历史之类的
直接从汇编开始
CPU寄存器
通用寄存器
首先,CPU需要除了ALU(运算)和CU(控制)还需要存储(寄存器)
此时,引出我们能够使用的:
四个通用寄存器:AX,BX,CX, ...
ARM汇编判断之如何用汇编判断数组中正负数个数
目录【ARM汇编】如何判断数组中正负数个数?写在前面:所有判断后缀如何用汇编实现判断数组中正负数的个数?1.编前准备1.1用C的伪代码表示1.2参照正向遍历的框架2.编写ARM汇编2.1先给定一串数组、输出格式2.2在循环中加入判断、计数2.3在主函数中初始化使用的寄存器2.4输出累计之和2.5源代码2.6运行结果3.总结【ARM汇编】如 ...
汇编语言实验——01
实验一 利用DEBUG熟悉常用指令的使用
一、实验目的
熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。
二、实验题
1、用debug命令查看并修改10000H处的内容,把结果截图在下面。
2、通过debug命令对寄存器和存储单元进行设置,使(DS ...
汇编语言实现方波的输出
汇编语言实现89C51单片机输出一个50HZ的方波,并由P1.1口输出的详解
系统时钟频率为12MHZ
单片机原理及接口技术书中的例程
;-----------------
;Title:定时器T1产生一个50HZ的方波由P1.1输出
;AuthorsDH-qiu
;Date:2022-4-5
;Abstract:fosc=12MHZ,利用定时器产生方波
;-----------------
ORG 0100H ;伪指令下一条指 ...
6.汇编语言
汇编语言与机器指令一一对应。汇编语言编写的代码需要经过汇编转为机器代码,机器代码经过反汇编转为汇编代码。
汇编后的程序分为几个段:
_DATA:初始化的全局变量
_BSS:未初始化的全局变量
_TEST:汇编代码
栈
32位windows支持32位寻址,程序运行映射到4G内存地址空间。高位地址 0x7fffffff~0xffffffff 这2g由内核占用。低2 ...
汇编语言与DOSBOX使用
编译并进入debug模式
masm是微软出的汇编编译器,支持8088/8086架构的汇编语言,在DOS下运行,需要下载。masm包括:
(1)编辑程序edit.exe
(2)汇编程序masm.exe
(3)连接程序link.exe
(3)调试程序debug.exe
基本使用方法如下,仅供参考:
用之前最好把上面的几个文件保存到盘符下的文件夹里,文件夹名字尽量简单明了 ...
汇编语言程序
源程序
assume cs:codesg
codesg segment
mov ax,0123H
mov bx,0456H
add ax,bx
add ax,ax
mov ax,4c00H
int 21H
codesg ends
end
在汇编语言程序中,包含两种指令,一种是汇编指令,一种是伪指令。汇编指令有机器码对应,可悲编译为机器指令,最终被CPU执行。伪指令没有对应的机器指令,由编译器来执行 ...
利用DOSBox运行汇编的详细步骤
最近学校要求用汇编写课设(本来复习的好好的,结果笔试取消),无奈只有配置环境自己写课设了。起初是利用VS2017进行配置,但后面运行好像有些问题,就想到用DOSBox了。以下是详细步骤:
第一步:下载好相关文件,文件我放在下面链接里:资源文件提取码:9wpe
第二步,将masm文件夹里面所有文件放到一个特定的文件夹,比如 ...
王爽《汇编语言》笔记(详细)
王爽《汇编语言》笔记(详细)
转自:https://blog.csdn.net/qq_39654127/article/details/88698911
文章目录
一、基础知识
1、指令
2、存储器
3、总线
1、总线
2、CPU对存储器的读写
3、CPU对外设的控制
4、内存地址空间
二、寄存器
1、寄存器
2、通用寄存器
3、8086CPU给出物理地址的方法
4、段寄 ...
《汇编语言》 学习笔记
《汇编语言》 学习笔记
第一章 基础知识
1.1 机器语言
每一种微处理器,由于硬件设计和内部结构的不同,就需要不同的点评脉冲来控制,使他工作。所以每一种微处理器都有自己的机器指令级,也就是机器语言。
1.2 汇编语言的产生
此后,程序员使用汇编指令编写源程序,这时候就需要使用编译器,将汇编指令转成机器指令的编译 ...
《汇编语言》学习笔记——基础知识
0x01 基础知识
1.1 机器语言
机器语言是机器指令的集合。
机器指令是一列二进制数字,计算机将其转变为一列高低电平,使得计算机的电子器件受到驱动,从而完成运算。
上述计算机的功能由CPU(中央处理单元)来完成,是一种微处理器。
由于硬件设计和内部结构不同,就需要不同的电平脉冲控制,所以每一种微处理器都有自 ...