


- [060050219] 借用一下了 03/01 20:11
- [happy] 太有才了! 01/17 22:24
- [Wednesday] 这问题提得太笼统了 笼统的,想建议你把机器砸了 12/09 21:04
- [happy] 对了。 12/03 15:01
- [happy] 哦,我明白了,是有点儿问题,把那个值改小一点儿吧。因为在题目中,4号中断源的内存情况没有列出,改成3 12/03 14:18
- [cook702] 此程序是有问题的,我敢肯定博主没有经过测试,否则就是博主太不细心了。自己可以测试一下,此错误是很明显 12/03 13:45
- [cook702] (1)有什么问题呢? 不知道什么意思! 12/03 13:34
- [fishboy] 当然,我的分析是基于表面的,对于程序中的具体功能,我想上面的这个程序好像没有真正的体现出来。 12/01 12:18
- [fishboy] mov ax,0fff0h add ax,0010h ;执行后实际结果为 12/01 12:17
- [Wednesday] 收藏! 11/26 20:40
- [macaulay] 你是happy我就是unhappy 10/18 18:06
- [wubizao] 于惊涛海浪中把握方向 于纷繁世界里坚守信念 鼓励送你 共同进步 11/10 20:23
[2007-12-02 10:53] 虚拟设备驱动程序初步(转)
在本教程里,我假定读者对诸如虚8086模式,调页,GDT,LDT,IDT之类的INTEL 80x86保护模式的操作比较熟悉。如果你不了解这些,那你要先在 http://developer.intel.com/design/pentium/manuals/阅读INTEL的文档。
内容:
Windows95是一个运行在最高级特权,第0层级别的多线程操作系统。所有的应用程序都运行在最低级特权,第3层级别上。这样就限制了应用程序对系统的操作。它们不能使用cpu特权指令,不能直接访问I/O端口,等等。你对gdi32,kernal32和user32这三个大的系统组件一定很熟悉。你肯定会认为这样重要的...
内容:
Windows95是一个运行在最高级特权,第0层级别的多线程操作系统。所有的应用程序都运行在最低级特权,第3层级别上。这样就限制了应用程序对系统的操作。它们不能使用cpu特权指令,不能直接访问I/O端口,等等。你对gdi32,kernal32和user32这三个大的系统组件一定很熟悉。你肯定会认为这样重要的...
阅读全文 |
评论次数(0) |
浏览次数(838) |
所属类型(完美世界)
[2007-11-10 20:12] 8086/8088指令集
为了便于查询,这里分类列出8086/8088汇编指令:
数据传送指令
MOV
功能: 把源操作数送给目的操作数
语法: MOV 目的操作数,源操作数
格式: MOV r1,r2 或 MOV r,m 或 MOV m,r 或 MOV r,data
XCHG
功能: 交换两个操作数的数据
语法: XCHG
格式: XCHG r1,r2 或 XCHG m,r 或 XCHG r,m
PUSH,POP
功能: 把操作数压入或取出堆栈
语法: PUSH 操作数 POP 操作数
格式: PUSH r 或 PUSH M 或 PUSH data PO...
数据传送指令
MOV
功能: 把源操作数送给目的操作数
语法: MOV 目的操作数,源操作数
格式: MOV r1,r2 或 MOV r,m 或 MOV m,r 或 MOV r,data
XCHG
功能: 交换两个操作数的数据
语法: XCHG
格式: XCHG r1,r2 或 XCHG m,r 或 XCHG r,m
PUSH,POP
功能: 把操作数压入或取出堆栈
语法: PUSH 操作数 POP 操作数
格式: PUSH r 或 PUSH M 或 PUSH data PO...
阅读全文 |
评论次数(0) |
浏览次数(485) |
所属类型(完美世界)
[2007-10-12 11:09] 实验2
用--visualassembly.exe—来编写源程序应该可以,把编写的源程序保存成.asm格式,然后只要实现编译和连接,生成目标文件.Obj 这样应该也就可以运行了吧,但是不行。
在用debug调试时没有指到所写的内存,这是什么回事啊
大家看看我写的程序有没有问题。
希望大家指正
SSEG SEGMENT PARA STACK 'stack'
dw 100h dup(0) ;初始化堆栈大小为100
SSEG ENDS
DSEG SEGMENT
2000h;数据段:在此处添加程序所需的数据
DSEG ENDS
ESEG SEGMENT
0000h;附加段:...
在用debug调试时没有指到所写的内存,这是什么回事啊
大家看看我写的程序有没有问题。
希望大家指正
SSEG SEGMENT PARA STACK 'stack'
dw 100h dup(0) ;初始化堆栈大小为100
SSEG ENDS
DSEG SEGMENT
2000h;数据段:在此处添加程序所需的数据
DSEG ENDS
ESEG SEGMENT
0000h;附加段:...
阅读全文 |
评论次数(2) |
浏览次数(478) |
所属类型(完美世界)
[2007-10-09 22:41]
矛盾V困惑
问题1:有一点我不明白就是2000:0000一行中6622后的50是什么意思。如图
如果用T命令来执行后看,2000:000B 50
它是机器码。为什么每个后面只有一个。在向后就没有了。
问题2:CS:IP ;SS:SP ;DS:IP 他们所指的内存单元的地址分别是什么?是相同的吗?若不同,不同在哪儿?
他们之间的问题应该是数据段—-代码段---栈段之间的问题
他们之间的区别与联系是什么?...
如果用T命令来执行后看,2000:000B 50
它是机器码。为什么每个后面只有一个。在向后就没有了。
问题2:CS:IP ;SS:SP ;DS:IP 他们所指的内存单元的地址分别是什么?是相同的吗?若不同,不同在哪儿?
他们之间的问题应该是数据段—-代码段---栈段之间的问题
他们之间的区别与联系是什么?...
阅读全文 |
评论次数(5) |
浏览次数(939) |
所属类型(完美世界)
[2007-10-09 22:26]
问题3.9我不懂。怎么实现AX和BX中数据的交换。他不是个栈吗?怎么可以先执行POP AX呢?
答:你想象一个内存的空间
地址由上至下是变大的
这应该没有问题的
我先把ax(也就是002AH)push
再把bx(002BH)push
按照内存的存放
2B
00
2A
00
接着执行把数据pop出去
先pop给ax
也就是把002B传给了ax
接着pop给bx,也就是把001A给了bx
是不是exchange了?
002A写成了001A了。。。
即:所谓的出栈是不是把原来在栈里的
数据(按出栈的规律)放到想要
放的寄存器了里
等待处理
这样是不是完成了
数据的传输...
地址由上至下是变大的
这应该没有问题的
我先把ax(也就是002AH)push
再把bx(002BH)push
按照内存的存放
2B
00
2A
00
接着执行把数据pop出去
先pop给ax
也就是把002B传给了ax
接着pop给bx,也就是把001A给了bx
是不是exchange了?
002A写成了001A了。。。
即:所谓的出栈是不是把原来在栈里的
数据(按出栈的规律)放到想要
放的寄存器了里
等待处理
这样是不是完成了
数据的传输...
阅读全文 |
评论次数(2) |
浏览次数(703) |
所属类型(完美世界)
[2007-10-08 17:51]
学习汇编以来的感受
我这学期课很少,而且刚接触专业知识,感觉很陌生.提不起兴趣.开学四星期以来这也忙,那也学.但感觉自己还是什么也学,心理说不出的不爽.不过国庆这段假期,给了我新的起点:我的一个好朋友,他介绍我学汇编,介绍我来这个网站,短短四天的学习,让我感到汇编不在是低级,枯燥,无用的语言,它原来是这么的有内涵,有深度;让我感到我对面的机器是那么的熟悉与亲切;汇编其实是学习操作系统的基础课程,我以前从来就没有学过它,在假期以前操作系统对我来说是那么的枯涩难懂,让我没有信心学下去.现在不了,那种感觉完全消失了......
现在我只想说声:谢谢.
谢谢我的朋友:
谢谢汇编.
广大的爱好汇编的...
现在我只想说声:谢谢.
谢谢我的朋友:
谢谢汇编.
广大的爱好汇编的...
阅读全文 |
评论次数(4) |
浏览次数(887) |
所属类型(完美世界)
[2007-10-07 22:42] 第一章小结
(1) 汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5) 存储单元从零开始顺序编号。
(6)一个存储单元可以存储8个bit,即8位二进制数。
(7) 每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:
地址总线的宽度决定了CPU的寻址能力;
数据总线的宽度决定了CPU与其他设备进行数据传送时的一次数据传送量;
控制总线的宽度决定了...
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5) 存储单元从零开始顺序编号。
(6)一个存储单元可以存储8个bit,即8位二进制数。
(7) 每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:
地址总线的宽度决定了CPU的寻址能力;
数据总线的宽度决定了CPU与其他设备进行数据传送时的一次数据传送量;
控制总线的宽度决定了...
阅读全文 |
评论次数(1) |
浏览次数(522) |
所属类型(完美世界)
页码数(1):
1