《Intel汇编语言程序设计》书中例子编译

刚看到这例子是纠结了……编译不过啊,google后看到不少人便不过……后来经过一番查询,找到了编译方法

用masm615编译:

除了在例子里连接必要的lib文件外,就是设置masm615的环境变量了,pach里增加masm615的目录,include(没有新建)中增加include的目录,lib中增加lib的目录,例如:

pach: x:\masm615\

include: x:\masm615\include

lib: x:\masm615\lib

x为存放masm的磁盘,后面是目录了,还有就是编译时的命令

编译:

ml /c /coff test.asm

连接:

link32 /subsystem:console test.obj

第二个是用RadAsm

这个更简单了,在选项--设置路径里设置下就ok了

时间: 2024-10-19 02:12:55

《Intel汇编语言程序设计》书中例子编译的相关文章

Intel汇编语言程序设计学习笔记1

第一章 汇编器链接器:汇编器将汇编语言翻译成机器语言,链接器将单个文件合并为可执行文件 intel 80X86系列处理器的汇编语言与VAX或者motorala 68x00等系统的汇编是否相同?不相同,汇编语言和CPU指令集是密切关联的,每种CPU体系对应不同的汇编. 什么是设备驱动程序:将操作系统的通用命令转化为对硬件具体细节实现的程序 常规机器语言指的是第二层 一条机器语言会被翻译成几条微指令,微指令是商业机密 高级语言会被解释成汇编语言,汇编语言被解释成机器语言(第二层),由操作系统(第三层

汇编语言程序设计读书笔记(2)- 相关工具64位系统篇

汇编语言程序设计一书,在32位系统下应该不会有什么问题,然而在64位系统下,则会有些不一样的地方.有些程序范例还会汇编错误或者执行错误. 博主所用系统为CentOS v6.4 x64.本文主要解决32位的汇编程序如何在64位环境下汇编.连接,而不论述64位汇编语言如何设计. 1. 64位系统下编译32位的C程序 以程序test5.c为例,程序代码很简单,如下: test5.c#include <stdio.h> int main() { char str[4]; str[0]='f'; str

汇编语言程序设计读书笔记(3)- 程序范例

主要描述三方面的内容:第一是汇编语言的程序模版,以及模版涉及到的一些知识点:第二是如何调试汇编语言:第三是如何在汇编语言中调用C库函数. 1. 汇编语言的组成 汇编语言由段(section)组成,一个程序中执行的代码,叫文本段(text),程序还可能有定义变量,有付给初始值的变量放在数据段(data)中,没有赋初值或者付给零初值的放在bss段中.text段一定是要有的,data和bss可以没有. 2. 段的定义 用.section语法定义段.比如: .section .text定义文本段, .s

AT&T与Intel汇编语言的比较

AT&T与Intel汇编语言的比较 最近在学习汇编语言,结果出现了很奇怪的是,在vc++6.0下反编译的代码,gcc编译器下的代码不一样,后来才发现linux继承unix家族的汇编指令,平时常见的都是intel汇编语言.接下来就和我一起探而二者的对比关系吧.  1.前缀 在Intel的语法中,寄存器和和立即数都没有前缀.但是在AT&T中,寄存器前冠以"%",而立即数前冠以"$".在Intel的语法中,十六进制和二进制立即数后缀分别冠以"h&

汇编语言程序设计读书笔记(1)- 相关工具

linux下汇编语言采用的是AT&T语法,可使用GNU工具,包括汇编器gas,连接器ld,编译器gcc,调试器gdb或kdbg,objdump的反汇编功能,简档器gprof.以简单的例子分别对每个工具在汇编语言开发中的用法进行简单说明. 这些工具都要在linux环境下使用,先建立linux的开发环境,可参考文章“windows7 64位系统安装VMware Centos 64位系统搭建开发环境”. 假设有以下简单的c程序test1.c. #include <stdio.h> int m

《80X86汇编语言程序设计教程》十 实模式与保护模式的切换实例

1.  再次声明,需要纯DOS系统才能看到满意测试效果.内容是演示实模式与保护模式切换实例,实现功能是16进制显示从110000H开始的256个字节的值 2.  源代码如下: 1 ;功能:演示实模式与保护模式的切换,16进制显示从110000H开始的256个字节的值 2 ;16位偏移的段间直接转移指令的宏定义,这是一个JMP指令到所描述的地址 3 4 JUMP macro selector,offsetv 5 db 0eah ;操作码 6 dw offsetv ;16位偏移 7 dw selec

《80X86汇编语言程序设计教程》二十四 进入与离开V86模式实例

1.  这是我这本书调得最失败的一个实例,而且问题都是超出了这本书能教会我的范畴.作者对调试环境几乎只字不提,这让我有点费解.原作者使用TASM的编译代码,而我使用的MASM加虚拟机进行测试,不知道这两样东西哪里有问题还是源代码要做哪些修正.理论知识参考"<80X86汇编语言程序设计教程>二十二 分页管理机制与虚拟8086模式". 2.  进入和离开V86模式实例:各2种方式进入和离开V86模式.V86模式下8086程序调用实模式软中断处理程序.逻辑功能:以驻留方式结束程序

《80X86汇编语言程序设计教程》二十五 结语(读后感:这本书怎么样)

这本书的推荐星级是:5星.毕竟是经典书籍,没什么好说的. 就汇编本身而言,在编写高效率程序以及对程序的优化,调试,工程的逆向都是一门基础:就理论上的操作系统而言,汇编让你了解CPU,了解计算机的体系结构,它是阅读操作系统源码的前提,这也是<80X86汇编语言程序设计教程>做得比较好的一点,它对386的保护方式下的编程写得比较详实,读完整本书,会发现这学的不仅仅是汇编语言,还有CPU的体系架构,它让你基本猜测得到在编写基于80386CPU的操作系统时,大概要做一些什么事情. 阅读前,我选过几本书

《80X86汇编语言程序设计教程》十一 32位代码段和16位代码段切换实例

1.  演示32位代码段与16位代码段之间的切换.实现的功能是以十六进制和ASCII码字符两种形式显示从内存地址100000H开始的16个字节的内容. 2.  源代码如下: 1 ;DosTest.Asm 2 ;16位偏移的段间转移指令的宏定义 3 ;使用于16位段,用于跳转到32位目的段 4 ;注意:标号偏移必须在16位二进制符号数数能表示的范围之内 5 JUMP16 macro selector,offsetv 6 db 0eah ;操作码 7 dw offsetv ;16位偏移 8 dw s