- [younggay] 20? 那个20? 01/21 15:05
- [martian] 博主辛苦了! 11/24 13:43
- [acool] 先存下 看看O(∩_∩)O哈哈~ 11/22 12:30
- [acool] 不错,踩踩;) 11/22 12:27
- [tomato] 收藏一下,好好看看,扫扫盲。 11/21 20:01
- [younggay] 程序正确固然重要,必要的地方写注释也是很必要的。要不看的人脑袋可就大了。呵呵 fighting ! 11/21 14:47
- [younggay] 就提一点要求: 哥儿们,加点注释把,(*^__^*)...嘻嘻 11/21 14:37
- [lwbfq] 有点糊涂。 11/21 14:26
- [lwbfq] 有点糊涂。 11/21 14:26
- [younggay] 嗯。不错,不过要是关键代码部分加上注释就更好了。而且加注释也是一个成熟的编程人员的良好习惯。 11/21 14:23
- [h.goood] 汇编作业在哪里做?我怎么没找到? 11/24 12:32
[2009-01-03 21:23] 我按教程的方法编译连接出1.exe
可是没有在栈段里找到20,哪位完成实验的大大说明一下,感激不尽。...
阅读全文 |
评论次数(1) |
浏览次数(1105) |
所属类型(汇编作业)
[2008-11-24 11:55] 80*86伪指令
word版下载
http://assembly.ys168.com
8086伪指令(汇编语言程序格式)
汇编语言程序中的语句可以由指令、伪指令和宏指令组成。上一章我们介绍了8086指令系统中的6类指令,每一条指令都对应一种CPU操作。
伪指令又称为伪操作,它是在对源程序汇编期间由汇编程序处理的操作,它们可以完成如处理器选择、定义程序模式、定义数据、分配存储区、指示程序结束等功能。
宏指令是由用户按照宏定义格式编写的一段程序,其中语句可以是指令、伪指令,甚至是已定义的宏指令。宏指令将在第七章中介绍。
伪指令和指令的区别在于,每一条指令必须生成机器代码,然后在程序运行期...
http://assembly.ys168.com
8086伪指令(汇编语言程序格式)
汇编语言程序中的语句可以由指令、伪指令和宏指令组成。上一章我们介绍了8086指令系统中的6类指令,每一条指令都对应一种CPU操作。
伪指令又称为伪操作,它是在对源程序汇编期间由汇编程序处理的操作,它们可以完成如处理器选择、定义程序模式、定义数据、分配存储区、指示程序结束等功能。
宏指令是由用户按照宏定义格式编写的一段程序,其中语句可以是指令、伪指令,甚至是已定义的宏指令。宏指令将在第七章中介绍。
伪指令和指令的区别在于,每一条指令必须生成机器代码,然后在程序运行期...
阅读全文 |
评论次数(1) |
浏览次数(1738) |
所属类型(汇编作业)
[2008-11-21 23:05] 保护模式基础,强力推荐
推荐给和我一样在学习保护模式下汇编的菜鸟。
关于GDTR LDTR IDTR等概念,纠结了半天,我看的《windows深如刨析》上面太简略了,看不大理解。在csdn在逛了半天,最后我用百度搜索出这盘文章,才恍然大悟。另外有没有朋友知道学习保护模式的QQ群,大家一起交流一下。这个是一个asm程序设计基础系列,
http://blog.programfan.com/blog.asp?blogid=970&columnid=889这里有全的
整理说明 要深入理解32位编程的奥秘,必须理解保护模式.这是李彦昌的保护模式教程,基本是清华出版社80X86汇编语言程序设计的保护模式部分的电子版,但修改...
关于GDTR LDTR IDTR等概念,纠结了半天,我看的《windows深如刨析》上面太简略了,看不大理解。在csdn在逛了半天,最后我用百度搜索出这盘文章,才恍然大悟。另外有没有朋友知道学习保护模式的QQ群,大家一起交流一下。这个是一个asm程序设计基础系列,
http://blog.programfan.com/blog.asp?blogid=970&columnid=889这里有全的
整理说明 要深入理解32位编程的奥秘,必须理解保护模式.这是李彦昌的保护模式教程,基本是清华出版社80X86汇编语言程序设计的保护模式部分的电子版,但修改...
阅读全文 |
评论次数(1) |
浏览次数(1237) |
所属类型(保护模式汇编基础)
[2008-11-21 18:08] 读出页表源程序
.386p
.model flat,stdcall
include win32.inc
extrn ExitProcess:PROC
extrn MessageBoxA:PROC
extrn _wsprintfA:PROC
CALL32 MACRO selector ,offsetv
DB 09AH
DD offsetv
DW selector
ENDM
LinearAddr equ offset Start ;要查看的线性地址
.data
PhysAddr dd ? ;存放得到的物理地址
User db 'User',0 ...
.model flat,stdcall
include win32.inc
extrn ExitProcess:PROC
extrn MessageBoxA:PROC
extrn _wsprintfA:PROC
CALL32 MACRO selector ,offsetv
DB 09AH
DD offsetv
DW selector
ENDM
LinearAddr equ offset Start ;要查看的线性地址
.data
PhysAddr dd ? ;存放得到的物理地址
User db 'User',0 ...
阅读全文 |
评论次数(0) |
浏览次数(784) |
所属类型(保护模式汇编基础)
[2008-11-21 17:15] 分页机制(2)
80386开始支持存储器分页管理机制。分页机制是存储器管理机制的第3二部分。段管理机制实现 虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换,分页管理机制实现线性地址到物理地 址的转换。如果不启用分页管理机制,那么线性地址就是物理地址。本文将介绍80386的存储器分 页管理机制和线性地址如何转换为物理地址。
<一>存储器分页管理机制
在保护模式下,控制寄存器CR0中的最高位PG位控制分页管理机制是否生效。如果PG=1,分页机制 生效,把线性地址转换为物理地址。如果PG=0,分页机制无效,线性地址就直接作为物理地址。 必须注意,只有在保护方式下分页机制才可能生效。只有在保证使PE...
<一>存储器分页管理机制
在保护模式下,控制寄存器CR0中的最高位PG位控制分页管理机制是否生效。如果PG=1,分页机制 生效,把线性地址转换为物理地址。如果PG=0,分页机制无效,线性地址就直接作为物理地址。 必须注意,只有在保护方式下分页机制才可能生效。只有在保证使PE...
阅读全文 |
评论次数(1) |
浏览次数(1265) |
所属类型(保护模式汇编基础)
[2008-11-21 12:39] 分页机制
基本概念
Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存,需要使用物理地址。
下面我们看看什么是物理地址,什么是虚拟地址。
物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根据这个地址每位的值就将...
Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存,需要使用物理地址。
下面我们看看什么是物理地址,什么是虚拟地址。
物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根据这个地址每位的值就将...
阅读全文 |
评论次数(3) |
浏览次数(1109) |
所属类型(保护模式汇编基础)
[2008-11-18 18:27] 实验十六
assume cs:code
code segment
start:
mov ax,0
mov es,ax
mov ax,cs
mov ds,ax
mov di,200h
mov si,offset int7c
mov cx,offset int7cend-offset int7c
cld
rep movsb
mov word ptr es:[1F0H],200H
mov word ptr es:[1F2H],0H
mov ax,4c0...
code segment
start:
mov ax,0
mov es,ax
mov ax,cs
mov ds,ax
mov di,200h
mov si,offset int7c
mov cx,offset int7cend-offset int7c
cld
rep movsb
mov word ptr es:[1F0H],200H
mov word ptr es:[1F2H],0H
mov ax,4c0...
阅读全文 |
评论次数(1) |
浏览次数(1003) |
所属类型(汇编作业)
[2008-11-18 16:14] 实验15
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offset int9
cld
rep mov...
stack segment
db 128 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offset int9
cld
rep mov...
阅读全文 |
评论次数(1) |
浏览次数(808) |
所属类型(汇编作业)
[2008-11-17 16:50] 实验十四
assume cs:code,ds:data
data segment
db 9,8,7,4,2,0
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov di,0
s:
mov al,[si]
mov cl,al
mov ch,0
push cx
out 70h,al
in al,71H
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov bx,0b800h
mov es,bx ...
data segment
db 9,8,7,4,2,0
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov di,0
s:
mov al,[si]
mov cl,al
mov ch,0
push cx
out 70h,al
in al,71H
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov bx,0b800h
mov es,bx ...
阅读全文 |
评论次数(1) |
浏览次数(1060) |
所属类型(汇编作业)
[2008-11-15 13:22] 实验十三,第一个实验的两种思路
assume cs:code
code segment
start:
mov ax,0
mov es,ax
mov ax,cs
mov ds,ax
mov di,200h
mov si,offset show_str
mov cx,offset showend-offset show_str
cld
rep movsb
mov word ptr es:[1F0H],200H
mov word ptr es:[1F2H],0H
...
code segment
start:
mov ax,0
mov es,ax
mov ax,cs
mov ds,ax
mov di,200h
mov si,offset show_str
mov cx,offset showend-offset show_str
cld
rep movsb
mov word ptr es:[1F0H],200H
mov word ptr es:[1F2H],0H
...
阅读全文 |
评论次数(1) |
浏览次数(918) |
所属类型(汇编作业)
『 查看更多文章 』