代码改变世界

随笔分类 -  Assembly

一个操作系统的实现_十分钟完成的操作系统——到这里博客迁移工作圆满结束

2014-04-26 19:31 by 星星之火✨🔥, 353 阅读, 收藏,
摘要: 步骤: 1.编辑器(例如记事本)写入操作系统启动代码,保存为后缀名为.asm的文件格式 2.安装一款虚拟机软件以wm为例,新建一个虚拟机,注意操作系统与版本都选择其他,创建的最后一步选择[自定义硬件], 进入后选择[添加],选择[软盘驱动器],接着[创建空软盘映像],在虚拟机根目录下任意创建一个后... 阅读全文

研究实验1_搭建一个精简的C语言开发环境(包含部分经典的前言)

2014-04-26 19:30 by 星星之火✨🔥, 365 阅读, 收藏,
摘要: 综合研究: 在这部分内容中,将启示我们如何进行独立研究和深度思考(一定要注意这一点,相应的调整自己的学习思想)。同时使我们: (1)认识到汇编语言对于深入理解其他领域知识的重要性。 (2)对前面所学习的汇编语言知识进行融会。 (3)对用研究的方法进行学习进行体验。 研究实验1_搭建一个精简的... 阅读全文

课程设计二--占位

2014-04-26 19:28 by 星星之火✨🔥, 197 阅读, 收藏,
摘要: 先做完研究实验,再看看《自己动手写操作系统》和《30天自制操作系统》——需要用到虚拟机和软盘,了解完关于虚拟机和虚拟软盘的相关知识后再来挑战课设二。快一个月了,王爽老师的《汇编语言》终于要看完了。迁移博文累死个人,,,汇编网老卡机。。。 阅读全文

实验十六_编写包含多个功能子程序的中断例程

2014-04-26 19:25 by 星星之火✨🔥, 342 阅读, 收藏,
摘要: 安装一个新的int 7ch中断例程,为显示输出 提供如下功能子程序: (1)清屏。 (2)设置前景色。 (3)设置背景色。 (4)向上滚动一行。 入口参数说明: (1)用ah寄存器传递功能号:0表示清屏,1表示设置前景色,2表示设置背景色, 3表示向上滚动一行: (2)对于2、3号功能,用al传送颜... 阅读全文

一个想了好几天的问题——关于8086cpu自己编写9号中断不能单步的问题

2014-04-26 19:20 by 星星之火✨🔥, 500 阅读, 收藏,
摘要: 在《汇编语言》第十五章中我们可能遇到这样的问题:程序运行正确,但是debug单步调试,却无法运行,修改int 9h中断例程入口地址的指令,虚拟模式下,debug提示指令无效,而在实模式下,则程序卡死。 这里我的看法如下:因为我们单步的时候,当设置9号中断偏移地址的指令执行后,这时段地址还没有进行相... 阅读全文

实验十五_安装新的int 9中断例程

2014-04-26 19:19 by 星星之火✨🔥, 995 阅读, 收藏,
摘要: 安装一个新的int 9中断例程,功能:在DOS下,按下“A”键后,除非不在松开, 如果松开,就显示满屏幕的“A”;其他的键照常处理。提示:按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。断码 = 通码 + 80h。 assume cs:code code segment start... 阅读全文

实验十四_访问CMOS RAM

2014-04-26 19:11 by 星星之火✨🔥, 341 阅读, 收藏,
摘要: 编程:以“年/月/日 时:分:秒”的格式,显示当前的日期,时间。 注意:CMOS RAM中存储着系统的配置信息,除了保存时间信息的单元外,不要向其他的单元写入内容,否则将引起一些系统错误。 assume cs:code,ds:data data segment db '00/00/00/ 00:... 阅读全文

实验十三_编写、应用中断例程_ 3

2014-04-26 19:08 by 星星之火✨🔥, 381 阅读, 收藏,
摘要: 下面的程序,分别在屏幕的第2、4、6、8行显示四句英文诗,补全程序。 完成后编译运行,体会其中的编程思想。 assume cs:code code segment s1:db 'Good,better,beat,','$' s2:db 'Never let it rest,','$' s... 阅读全文

实验十三_编写、应用中断例程_2 & 总结

2014-04-26 19:05 by 星星之火✨🔥, 510 阅读, 收藏,
摘要: 编写并安装int 7ch中断例程,功能为完成loop指令的功能 参数:(cx)= 循环次数,(bx)= 位移 以上中断例程安装成功后,对下面的程序进行单步跟踪,尤其注意观察int、iret指令执行前后cs、ip和栈中的状态。 在屏幕中间显示80个‘!’ assume cs:code code seg... 阅读全文

实验十三_编写、应用中断例程_ 1

2014-04-26 19:03 by 星星之火✨🔥, 382 阅读, 收藏,
摘要: 编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处 参数:(dh)= 行号,(dl)= 列号,(cl)= 颜色,ds:si指向字符串首地址 以上中断例程安装成功后,对下面的程序进行单步跟踪,尤其注意观察int、iret指令执行前后cs、ip和栈中的状态 as... 阅读全文

实验十二_编写0号中断处理程序

2014-04-26 18:58 by 星星之火✨🔥, 383 阅读, 收藏,
摘要: 编写0号处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error”。然后返回DOS。 要求:仔细跟踪调试,在理解整个过程之前,不要进行后面的学习。 assume cs:code code segment start: mov ax,cs mov ds,ax ... 阅读全文

实验十一_编写子程序

2014-04-26 18:56 by 星星之火✨🔥, 324 阅读, 收藏,
摘要: 编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母。 描述如下: 名称:letterc 功能:将以0结尾的字符串中的小写字母转变成大写字母 参数:ds:si指向字符串首地址 assume cs:codesg datasg segment db "Beginner's Al... 阅读全文

课程设计一总结

2014-04-26 18:47 by 星星之火✨🔥, 182 阅读, 收藏,
摘要: 总结: 编程思路:1.写一个读取四个字符串的子程序来读取年份。 2.循环将每个数据(年份除外)转变为字符读到mydata段中,然后调用字符显示子程序来显示 发现和遇到的问题:1、我编写的show_str行列都是从1开始,这和先前提交的作业有些出入,因为题目要求是从0行0列开始 2、loop指... 阅读全文

课程设计一

2014-04-26 18:44 by 星星之火✨🔥, 198 阅读, 收藏,
摘要: assume cs:codesg ,ds:data ,es:table data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','198... 阅读全文

实验10.3_数值显示拓展_dword型数转变为表示十进制数的字符串

2014-04-18 21:54 by 星星之火✨🔥, 514 阅读, 收藏,
摘要: assume cs:code data segment db 10 dup (0) data ends code segment start : mov ax,4240H;F4240H=1000000 mov dx,0FH mov cx,0AH m... 阅读全文

汇编网第六章检测题

2014-04-18 21:19 by 星星之火✨🔥, 538 阅读, 收藏,
摘要: 汇编网第六章检测题 1、在Intel8086环境下,下列说法合理的是___。 1、 汇编语言程序载入内存后处于64K空间以外的数据和指令将无法使用和执行。 2、 一个数据段命名为data,此标号代表这个数据段在内存中的起始地址。 3、 如果载入的程序没有返回语句,那么当程序代码执行完毕,将继续读取后... 阅读全文

实验10.3_数值显示

2014-04-18 21:01 by 星星之火✨🔥, 178 阅读, 收藏,
摘要: ;子程序描述 ;名称:dtoc ;功能:将word型数据转变为表示十进制数的字符串,字符串以0位结尾符。 ;参数:(ax)= word型数据 ; ds:si指向字符串的首地址 ;返回:无 ;应用举例:编程,将数据12666以十进制的形式在屏幕的8行3列,用绿色显示出来。 ;在显示时我们调用本次实验中... 阅读全文

实验10.2_解决除法溢出的问题

2014-04-17 19:20 by 星星之火✨🔥, 327 阅读, 收藏,
摘要: ;子程序描述 ;名称:divdw ;功能:进行不会产生溢出的除法运算,被除数为dword型,结果 ;为dword型。 ;参数:(ax)= dword型数据的低16位 ; (dx)= dword型数据的高16位 ; (cx)= 除数 ;返回:(dx)= 结果的高16位,(ax)= 结果的低16位 ; ... 阅读全文

汇编网第五章测试题目

2014-04-13 22:27 by 星星之火✨🔥, 210 阅读, 收藏,
摘要: 第五题: 对于如下程序 assume cs:code code segment start:mov ax,code mov ds,ax mov ax,0020h mov es,ax mov bx,0 s:mov al,[bx] mov es:[bx],al inc bx loo... 阅读全文