;实验10;1.显示字符串;表示要用到前面的,8,3数据好麻烦,但是最后还是用了,;不知道push,pop这么多寄存器干嘛,可能是因为题目要求;要保存子程序中要用到的寄存器吧~assume cs:code,ds:datadata segment db 'Welcome to masm!...
分类:
其他好文 时间:
2014-08-21 18:55:04
阅读次数:
237
1 ;实验九 2 assume cs:code,ds:data 3 data segment 4 db 'welcome to masm!' 5 data ends 6 7 code segment 8 start : 9 mov ax,data1...
分类:
其他好文 时间:
2014-08-17 21:10:12
阅读次数:
223
1.下载并安装MASM,下载nmake.exe工具,把namake.exe放到MASM安装目录的bin下。2.编写一个用于设置环境变量的批处理文件var.bat(放到masm根目录即可)文件的内容如下:@echooffrem请根据Masm32软件包的安装目录修改下面的Masm32Dir环境变量!se...
.MODEL:初始化程序内存模型. .MODEL只用在16bit , 和 32bit 平台上.格式: .MODEL memorymodel [[,langtype]] [[,stackoption]]-- memorymodel : 决定代码和数据指针的尺寸。 在 32bit平台上,memory.....
分类:
其他好文 时间:
2014-07-19 08:36:58
阅读次数:
214
基于Intel的汇编器有,微软的MASM(microsoft macro assembler)、TASM(Turbo Assembler)、NASM(Netwide Assebler)、GNU assembler.TASM的语法与MASM非常相近; 与MASM语法第二接近的汇编器是NASM; 而GN...
分类:
其他好文 时间:
2014-07-10 16:16:09
阅读次数:
218
疯狂的暑假学习之 汇编入门学习笔记 (四)—— [BX] 和 loop指令
参考:《汇编语言》 王爽 第5章
1.[BX]
mov al,[1]
在debug中,会把bs:1 中数据赋给al,但在在masm中不会把bs:1 中数据赋给al,而是把 [1] 认为是 1 赋给al。
如果要实现在debug中的mov al,[1],在masm中就需要[bx]
如:
mov bx,1
mov al,[bx]
还可以用 bs:[1] 的方式
如:
mov al,bs:[1]
2.loop
循环 要...
分类:
其他好文 时间:
2014-07-06 08:34:09
阅读次数:
234
1.开发工具
在汇编语言中,用到的工具主要用以下几个:
汇编器、连接器、调试器、编译器
因为我在这里的是AT&T汇编语言,所以工具下也都是gnu下的那些。
1.1 汇编器(as)
汇编器有很多,masm,nasm,gas等,不像高级语言,虽然都叫汇编语言,但不同的汇编器,其语法是存在很大不同的。Intel汇编的书籍到处可见,可是AT&T的却少之又少。但想看Linux内核的话,还是要对A...
分类:
编程语言 时间:
2014-06-24 17:58:34
阅读次数:
292
最近在学习Linux0.12内核,正在读《Linux内核完全剖析》。一开始就被ax86写的引导扇区弄晕了。于是Google了很多资料。最终实验了一晚上终于搞定。下面来看看我们怎么用Windows下的MASM来写个BootSector。因为我MASM汇编用的比较熟,所以就用MASM来写,当然,汇编只有语法差异,..
分类:
系统相关 时间:
2014-06-10 22:26:03
阅读次数:
363
其实这种方式是很简单的,只是很麻烦,因为简单而且麻烦,
所以我采用尽可能的将截图传上来,然后稍加注解的方式进行介绍, 软件准备: 需要 MASM 5.0 或者以上的汇编编译器 首先,是要编辑汇编源代码:
其实对于源码的编辑根本不需要向如下这么麻烦,直接拿个记事本就 OK 了 运行 cmd 命令 输入...
分类:
其他好文 时间:
2014-05-15 11:07:10
阅读次数:
304
.386 ; 允许使用的指令集.model flat, stdcall ...
分类:
其他好文 时间:
2014-05-15 02:09:43
阅读次数:
299