汇编语言
汇编语言学习笔记。
LauZyHou
Microsoft Software Development Engineer
展开
-
【汇编学习笔记】5:多窗口协同输出
这次实验中使用了宏定义、BIOS功能调用等一些方便的功能。首先在一个大窗口中开出三个窗口,每次输入字符会在下面窗口和左边窗口中回显,按下->会调整到右边窗口,按下<-会调整到左边窗口。 当输出充满窗口一行时,光标调整至下一行头,当输出充满整个窗口时,整个窗口重新初始化。 注意10H号中断的06H号功能当AL为0时表示初始化窗口,而当AL>0时表示上卷AL行。这里只用到了初始化。;数据段:注意行号原创 2017-11-10 00:41:37 · 829 阅读 · 0 评论 -
【汇编学习笔记】4:电话号查找(文件指针读取文件)
首先在一个文本文件中写入一些电话号码,为了读取的方便,指定它们有固定的格式,并且以dollar串结束符结束,便于用3FH号功能读取文件和09H号功能输出。 注意,虽然3FH号功能读入的东西,在输出时到串结束符就没有了,这只是因为09H号功能的结束时在串结束符dollar符,在3FH号功能的使用时还是要决策好要读入的字符数目。 另外两个新的知识是,3DH号功能打开文件,以及用42H号功能移动文原创 2017-11-01 22:55:22 · 1126 阅读 · 0 评论 -
【汇编学习笔记】3:查询子串出现的位置
已经写了一些汇编程序了,不再过多赘述程序执行流程,这次实验的几个要点如下: [1]用21H号中断的09H号功能可以输出一个字符串,注意在其结尾需要加上$串结束符。 [2]用21H号中断的0AH号功能可以读入一个字符串,但应在其第一个字节位存下要读的串的最大长度,并留空第二个字节,用于在读入后记录实际读了多长,这个很实用。 [3]寻址用的寄存器不能随便选,一般用BX/SI/DI等(段寄存器默认D原创 2017-10-20 10:08:16 · 1033 阅读 · 0 评论 -
【汇编学习笔记】2:判断并输出各类字符数
以下”数字>…>”代表层次结构。1>首先在数据段中存入三个字节长度的变量,初始值为0,分别用来计数找到的数字的个数、字母的个数、其它字符的个数。1>进入代码段后,先指明段关联关系,然后根据END指明的程序入口执行程序。首先用AX寄存器过渡把段地址装入段寄存器,然后立即进入主循环。2>>在主循环中,调用21H号中断的01H号用DOS输入并回显一个字符,将其ASCII码放在AL里。然后判断这个字符是不是原创 2017-10-07 23:39:43 · 1036 阅读 · 0 评论 -
【汇编学习笔记】1:输出ASCII字符
dl里存的是ASCII字符,每次加1,如果溢出了(jo跳转)就(不继续了)跳转到OVER语句块,否则就用int 21H中断调用dos输出它(默认输出的就是dl)。而要输出空格时,因为要保存当前dl的内容,就要把它入栈,因为PUSH和POP只能对16位寄存器操作,所以干脆对dx(低8位是dl,高8位时dh)入栈出栈。另外dh用来保存了计数值,每次输出完ASCII字符和空格后就把它减1,如果减少到0了原创 2017-09-30 10:16:53 · 7634 阅读 · 1 评论