汇编学习
文章平均质量分 53
Sunny123
这个作者很懒,什么都没留下…
展开
-
汇编学习-寄存器(内存访问)&栈机制
8086CPU中除了常见的AX,BX,CX,DX等4个通用寄存器外,还存在着其他不同类型的寄存器,如存储代码段地址的CS,以及代码段偏移地址的IP等。这里先解释DS(存放数据段地址的寄存器)。8086CPU默认的将DS寄存器中存放的数据为内存单元的段地址。8086CPU不允许直接对段地址进行赋值操作,因此如果想制定访问的内存地址,在设置段地址DS时,可以先将地址数据mov到AX中,然后再m原创 2013-09-06 14:15:17 · 1346 阅读 · 0 评论 -
汇编学习之中断问题
自学进入到最后阶段,将王爽老师的第十二章至第十五章的内容学习完成,再回过头来总结一下关于中断问题的理解。中断,基本含义是暂停当下正在执行的任务,转而去执行比较急迫需要完成的任务。但是执行的开始是将当前正在执行的指令执行完成,才转而执行中断内容。根据发出中断请求的出发点,将中断分为内中断和外中断。内中断是程序内部执行的中断,或者是CPU执行不下去,遇到bug等问题需要采取的措施。内中断类原创 2013-10-12 14:19:33 · 1379 阅读 · 0 评论 -
汇编语言-实验十四解析
;该实验中使用了call-ret结构来调用十进制转换函数convert和屏幕显示函数show。同时使用了cmp来比较判断是否输入'/'还是':'。;在屏幕的中间位置显示时间assume cs:codecode segmentstart: ;get year,month,day data mov di,0 mov dl,9 mov cx,6s: mov al,dl out原创 2013-10-06 13:31:33 · 1043 阅读 · 0 评论 -
汇编语言中如何在屏幕显示字符
鉴于不断学习王爽老师的《汇编语言》,越往后的章节的题目,多有在屏幕中显示XX字符或者string的问题。前面对屏幕显示的部分没有详细的看,也就一直比较乱。现在总结一下汇编语言中如何在屏幕上显示内容的问题。关键是显示字符的结构及所在的内存空间。首先,需要明确我们想要显示的内容主要存放在什么位置,是以什么样的结构存放的。在内存地址空间中,B8000H~BFFFFH空间用来存放显示缓冲区的内原创 2013-10-05 22:51:49 · 15989 阅读 · 0 评论 -
汇编学习-实验12解析
按照汇编语言书上的指导,自己重新梳理了一下,完成实验十二。这中间遇到一些问题,网上搜了一些帮助,然后自己又多次调试和对比书上的答案,做了一番总结。先将答案贴上:assume cs:codecode segmentstart: ;do0 install programm ; set ds:si directing the source address mov ax,cs ;ke原创 2013-09-30 11:21:41 · 1023 阅读 · 0 评论 -
汇编学习-实验11答案
王爽老师的汇编语言教材,实验11的答案,比较简单,自己写了一份。原题要求如下:编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下名称:letterc功能:将以0结尾的字符串中的小写字母转变成大写字母参数:ds:si指向字符串首地址assume cs:codedata segment db 'welcOME tO assEMBly原创 2013-09-15 17:31:44 · 1941 阅读 · 0 评论 -
Vim学习简明教程(转自飘过的小牛)
本文转载自飘过的小牛http://blog.csdn.net/niushuai666/article/details/7275406vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列转载 2013-09-07 10:37:28 · 920 阅读 · 0 评论 -
汇编语言-课后检测点答案
转自:http://blog.sina.com.cn/s/blog_6ff73cc001014uc7.html《汇编语言》 清华大学 第二版 课后检测点检测点1.1(第8页)----------------------(1) 13 (2) 1024,0,1023 (3) 8192,1024(4) 2^30,2^20,2^10 (5) 64,1,16,4 (6转载 2013-09-30 15:02:50 · 12299 阅读 · 2 评论 -
汇编学习-转移指令和mul,div指令
汇编中的转移指令有很多种,比如jmp,jcxz,call,ret,retf,loop等,能够分的种类细讲起来也很多,比如转移指令在内存中,转移指令在寄存器中,转移指令大小为16位,转移指令大小为32位等,这样看起来比较凌乱,也很难记得住。个人学习总结后,觉得从转移指令所要完成的任务着手,就可以简单的将转移指令分成两种:1.转移的是段内偏移地址,也就是只转移IP2.转移的是整个目的地址,原创 2013-09-12 20:48:26 · 2847 阅读 · 0 评论 -
汇编学习-王爽-实验10的答案
我自己写的版本,和下面的另一个版本有点不一样,可能是对8行3列这句话有点分歧,不过不影响整体效果assume cs:codedata segmentdb 'welcome to masm',0data endscode segmentstart:mov dh,8mov dl,3mov cl,2mov ax,datamov ds,a原创 2013-09-12 11:09:10 · 1164 阅读 · 0 评论 -
汇编学习--基础知识
首先明确,汇编指令只是机器指令的助记符,和机器指令一一对应。每一种不同的CPU都有自己对应的汇编指令集在存储器中存储的是指令和数据,但是指令和数据都是二进制类型,没有任何区别存储器中的最小单元是Byte,存储单元的编号从零开始CPU对内存数据的访问顺序如下: 1. 获得存储数据和指令的地址 2. 获得读或者写的命令 3.原创 2013-09-05 11:03:04 · 742 阅读 · 0 评论 -
写在实习结束,汇编学习之前的话
2013年暑假,在XX移动互联网公司实习了两个月之后,递交了离职申请,选择回学校继续学习。至于离职原因当然有很多种,“导师要抓人回去给他干活啊”,“毕业论文还没有写完啊”,只是没有想到老总的答复如此的迅速,都没有面谈,直接让我找人事办理离职手续就可以。粗算一下,我从开口说准备不干了,到我恢复自由身可以离开公司的时间,总共不到5分钟。一方面觉得老总真是痛快人,另一方面也意识到自己对于公司的无关紧要,原创 2013-09-05 10:23:56 · 947 阅读 · 0 评论 -
汇编学习--常用寄存器功能介绍(基于8086CPU)
8086CPU常用的寄存器有AX,BX,CX,DX,DS,CS,ES,SS,IP,SP,SI,DI。通过学习王爽老师主编的《汇编语言》(第二版)的4-7章,基本上对这些寄存器的使用有了一定的了解,现将这些寄存器的使用总结如下:AX,BX,CX,DX是四个通用寄存器,大小为1个字(两个字节),可以直接读取一个字的内容到这些寄存器中,也可以按字节的方式读取这些寄存器。以AX为例,如果想要读取A原创 2013-09-08 16:34:59 · 1124 阅读 · 0 评论 -
汇编学习--8086CPU基础
CPU的主要部件是寄存器原创 2013-09-05 11:34:52 · 791 阅读 · 0 评论 -
汇编学习-实验十六解析
本来按照书上的流程,自己走了一遍,想着是没有问题。可是死活出现不了预想的结果。在网上查了一下,发现都有这个问题。原因在call word ptr table[bx]这里,对于解析理解的不是很好,只是在setscreen程序之前加上org 200h就可以了。而org 200的作用是将该指令以后的内容,全部存放在00;[200]起始的位置上。有点纠结。。。代码如下:;install原创 2013-10-12 17:32:36 · 721 阅读 · 0 评论