《汇编语言》的第十七章最后的实验和课程设计二,需要进行软盘的读写,而且有些功能需要在实dos下实现。可惜,现在很少人装软驱和dos了,有些兄弟因此放弃了锻炼自己的机会。现在好了,我们可以用一个虚拟机+仿真软驱就能继续完成我们《汇编语言》最后的重要实验--课程设计二了。呵呵。本人就是用的这个,感觉不错,推荐给广大学习汇编的兄弟姐妹们。
提供一个:
1、仿真虚拟软驱
2、Virtual PC(注:虚拟机软件名称)
的下载地址,内含详细的安装及使用说明,欢迎大家下载!
http://pickup.mofile.com/0667815817317830...
- [dragon-zn] 1、 汇编语言程序载入内存后处于64K空间以外的数据和指令将无法使用和执行。(可用JMP指令跳转到6 10/19 15:41
- [游客] 很好,我做这个用了四个循环,现在想起来,冤 08/20 14:40
- [crazyman] 为了发展,还是从汇编这样的底层入手吧。 04/16 09:43
- [crazyman] 没什么好说的。 03/25 11:18
- [wsrf] 支持一下,呵呵 03/18 10:49
- [mengxinjinglong] 呵呵~这个我放心了,C语言我已经自学过了,到时候回家都会一起学习来巩固基础的额!汇编作业会在回家的时 12/24 12:04
- [younggay] 啊?!放假回来再交啊?!!! 到时候大家都开始学C了。 12/24 11:14
- [mouse] jmp指令 相对位移:-) 12/04 10:20
- [pascale] 我感觉你对第一题的第二问回答的不对。 我感觉是因为一个数据段的段名只是这个段的段地址而不是地址 12/04 00:20
- [younggay] 程序指令内存空间默认PSP后为程序入口地址, ------------ 不是psp开始为入口,加 11/21 13:27
[2008-04-03 11:36] 【课程设计2必备】一个简装版的Virtual PC+仿真虚拟软驱的下载地址(附说明)
阅读全文 |
作者:xiaochong |
评论次数(72) |
浏览次数(8116)
[2009-01-05 21:41] 我课程设计2的环境配置
在进行课设二之前,有一个大的问题,就是得到一个能够运行此程序的编程环境。首先得有软驱,其次得在实模式下运行。这两个条件是现在一般学习者所不具备的。如果这两个条件有一个不具备,那么学习者空有一腔热情,课程设计二也还是完不成的。所以,为了不让与学习无关的事情影响到学习,我在这里说说我的经验,个人感觉还是很方便的。
首先到http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=1023&kindId=1074&postId=14185&readSg=1&vs=1所指的位置下载一个简装版的Virtual PC+仿真虚拟软驱,里面有详细...
首先到http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=1023&kindId=1074&postId=14185&readSg=1&vs=1所指的位置下载一个简装版的Virtual PC+仿真虚拟软驱,里面有详细...
[2008-11-18 09:46] 完成的课件设计2
终于完成了课件设计2了.... 虽然不是很好. 但是也贴上来与大家分享我的快乐
assume cs:code,ds:data,ss:stack
stack segment
db 256 dup (0)
stack ends
data segment
buffer db 1024 dup (0) ;经测试不需要0xaa55作为结尾也能引导
data ends
code segment ...
assume cs:code,ds:data,ss:stack
stack segment
db 256 dup (0)
stack ends
data segment
buffer db 1024 dup (0) ;经测试不需要0xaa55作为结尾也能引导
data ends
code segment ...
阅读全文 |
作者:zd3870262 |
评论次数(1) |
浏览次数(1032)
[2009-03-27 14:07] 汇编指令的英文全称(转载)
汇编指令的英文全称
如果你想写系统软件,两本入门书籍--谭浩强的《C语言程序设计》和王爽的《汇编语言》是必看的。谭老的C语言已相当成熟,王老师的汇编倒有个小缺陷—指令没有英文全称,或许他认为现在学编程的朋友都不记单词,如同新生代作家看不懂英文原著一般。不过我觉得记住指令的英文全称,就不容易搞混,印象会更深刻,所以我把王爽书中出现的英文缩写的全称罗列出来,以便入门的朋友更好地记住它们。
8086CPU提供以下几大类指令。
一、数据传送指令
比如,mov(move)、push、pop、pushf(push flags)、popf(pop flags)、xc...
如果你想写系统软件,两本入门书籍--谭浩强的《C语言程序设计》和王爽的《汇编语言》是必看的。谭老的C语言已相当成熟,王老师的汇编倒有个小缺陷—指令没有英文全称,或许他认为现在学编程的朋友都不记单词,如同新生代作家看不懂英文原著一般。不过我觉得记住指令的英文全称,就不容易搞混,印象会更深刻,所以我把王爽书中出现的英文缩写的全称罗列出来,以便入门的朋友更好地记住它们。
8086CPU提供以下几大类指令。
一、数据传送指令
比如,mov(move)、push、pop、pushf(push flags)、popf(pop flags)、xc...
阅读全文 |
作者:wangping198611 |
评论次数(9) |
浏览次数(3280)
[2007-11-14 13:48] 程序人生--一个程序员对学弟学妹建议(转)
作者用心良苦,请大家认真看看吧!再说下自己的想法!
我始终认为,对一个初学者来说,IT界的技术风潮是不可追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C#就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。96,97级的不少大学生都去做Web 了。当然我没有任何歧视某一行业的意识。我只是觉得如果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远...
我始终认为,对一个初学者来说,IT界的技术风潮是不可追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C#就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。96,97级的不少大学生都去做Web 了。当然我没有任何歧视某一行业的意识。我只是觉得如果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远...
[2009-02-16 15:35] 关于“函数malloc的实现”的深入探讨
过完年了,又开始新的学习和生活了。去年用了不少时间把《汇编语言》学习了一下,获益匪浅!十分感谢汇编网各位老师和网友对我的帮助。现在,俺开始跟着学习C语言了。吼吼~~
不过,在学习“函数malloc的实现”这一章的过程中,俺发现教程中提供的参考代码中,某些细节之处存在小小的纰漏,在此我就大胆一下,对本章中的学习过程进行一下探索和探讨,望各位老师和同学不吝指教。
首先,根据对教程的理解,我先将整个malloc申请内存引发的流程简单说一下。
1.用户通过malloc申请内存,开始遍历空间链表,查找合适大小的结点。
2.如果找到合适大小的结点,就将该结点返回给用户。...
不过,在学习“函数malloc的实现”这一章的过程中,俺发现教程中提供的参考代码中,某些细节之处存在小小的纰漏,在此我就大胆一下,对本章中的学习过程进行一下探索和探讨,望各位老师和同学不吝指教。
首先,根据对教程的理解,我先将整个malloc申请内存引发的流程简单说一下。
1.用户通过malloc申请内存,开始遍历空间链表,查找合适大小的结点。
2.如果找到合适大小的结点,就将该结点返回给用户。...
[2009-01-30 11:19] masm常见错误
汇编程序在对源程序的汇编过程中,若检查出某语句有语
法错误,随时在屏幕上给出出错信息.如操作人员指定的
列表文件名(即.LST),汇编程序亦将在列表文件中出错的
下面给出出错信息,以便操作人员即时查找错误,给予更
正.MASM5.0出错信息格式如下:
源程序文件行:WARNING/ERROR错误信息码:错误描述信息
其中,错误描述信息码由五个字符组成,第一个是字母A
,表示汇编语言程序出错;接着有一个数字指明出错类
别:'2'为严重错误,'4'为严肃警告,'5'为建议性警告,
最后三位为错误编号.
错误编号
错误描述
0
Block nesting error
...
法错误,随时在屏幕上给出出错信息.如操作人员指定的
列表文件名(即.LST),汇编程序亦将在列表文件中出错的
下面给出出错信息,以便操作人员即时查找错误,给予更
正.MASM5.0出错信息格式如下:
源程序文件行:WARNING/ERROR错误信息码:错误描述信息
其中,错误描述信息码由五个字符组成,第一个是字母A
,表示汇编语言程序出错;接着有一个数字指明出错类
别:'2'为严重错误,'4'为严肃警告,'5'为建议性警告,
最后三位为错误编号.
错误编号
错误描述
0
Block nesting error
...
阅读全文 |
作者:stategrid |
评论次数(3) |
浏览次数(1350)
[2007-10-12 15:34] cpu 保护模式(转)
第一:实模式下程序的运行回顾.
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)
第二:保护模...
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)
第二:保护模...
[2008-02-22 03:27] 13~14天学习笔记
1.若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,
在datasg段中应该定义哪些数据?
================CODE=================================
assume cs:codesg
datasg segment
......
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
codesg ends
end start
===============...
在datasg段中应该定义哪些数据?
================CODE=================================
assume cs:codesg
datasg segment
......
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
codesg ends
end start
===============...
阅读全文 |
作者:taotling |
评论次数(2) |
浏览次数(1190)
[2008-01-10 08:18] 美国两位计算机系教授:Java对学生有害【转】
国际消息 美国纽约大学的两位计算机科学系退休教授发表一篇公开文章,标题是“计算机科学教育:明日的软件工程师在何处?”。在文中,他们强烈地批评了纽约大学和其他大学,没有向学生传授纯粹的语言如C、C++、Lisp和ADA。
“学生从当前教育实践课程中获取的技能不足以应付今日软件行业的发展(尤其是安全和安全目的方面)。更不幸的是,与外部行业需要过于匹配了,我们训练了许多容易被取代的软件工程师。”
尤为注意的是,文中以“Java作为第一编程语言的诸多缺陷”为小标题对Java进行了批判:
由于Java在Web应用领域的流行,以及初学者容易生成图形化编程,Java成为入门课程中使用最普遍...
“学生从当前教育实践课程中获取的技能不足以应付今日软件行业的发展(尤其是安全和安全目的方面)。更不幸的是,与外部行业需要过于匹配了,我们训练了许多容易被取代的软件工程师。”
尤为注意的是,文中以“Java作为第一编程语言的诸多缺陷”为小标题对Java进行了批判:
由于Java在Web应用领域的流行,以及初学者容易生成图形化编程,Java成为入门课程中使用最普遍...
[2008-07-06 18:53] 检测点:2.1-2.2-2.3
检测点2.1-2.3
2.1
2.1.1.
16位寄存器可视为由高8位与低8位两个不相干的8位寄存器组成。因此当单独使用时高低8位寄存器时,之间数值无联系不存在进位等问题。如AX=AH组连AL,对AH、AL的操做,只是影响AX的高低8位数值,如AX=ABCD,无论对AH怎样操做,AX变化的只是四位中的前两位**,即AX=**CD。同样,AL操做结果是AX=AB**。
2.1.2.
目前只学了传值MOV与累加ADD
MOV AX,2
ADD AX,AX
ADD AX,AX
ADD AX,AX
结果在AX中就是2*2*2*2。
2.2
2.2.1:
...
2.1
2.1.1.
16位寄存器可视为由高8位与低8位两个不相干的8位寄存器组成。因此当单独使用时高低8位寄存器时,之间数值无联系不存在进位等问题。如AX=AH组连AL,对AH、AL的操做,只是影响AX的高低8位数值,如AX=ABCD,无论对AH怎样操做,AX变化的只是四位中的前两位**,即AX=**CD。同样,AL操做结果是AX=AB**。
2.1.2.
目前只学了传值MOV与累加ADD
MOV AX,2
ADD AX,AX
ADD AX,AX
ADD AX,AX
结果在AX中就是2*2*2*2。
2.2
2.2.1:
...
阅读全文 |
作者:asm_sande |
评论次数(18) |
浏览次数(1852)
页码数(1):
1