shuiyu 发表于 2017-7-19 00:20:09

《零基础入门学习汇编语言》第三十二讲

不多解释,欠下2017.7.12与2017.7.13、2017.7.16与2017.7.17任务没完成 {:10_285:}

越努力,越幸运。欢迎大家来看我的笔记{:10_297:} 小白刚学,不对的请各位大佬指正,谢谢{:10_254:}

一、and和or指令
(1)and 指令:逻辑与指令,按位进行与运算(相同为真,不同为假);其实就是相同的就等于相同的那个数。不相同的就为0;
(2)or 指令:逻辑或指令,按位进行或运算(有1就为真,没1为假);其实就是两个数中有一个及一个以上的1就等于1,两个全为0就等于0。

二、ASCII码
(1)世界上有很多编码方案,有种方案叫做ASCII编码,是在计算机系统中通常被采用的。
(2)一种规则需要人们遵守才有意义。 一个文本编辑过程中,就包含着按照ASCII编码规则进行的编码和解码。在文本编辑过程中,我们按一下键盘的a 键,就会在屏幕上看到“a”。这是怎样一个过程呢?
在键盘上按下A键---->键盘上的芯片就把A的ASCLL码(61H)发送到内存空间------>文本编辑器指定读出存了A键ASCLL码(61H)内存空间的数据------>将这个数据送到显存中------->然后就看到A了

三、以字符形式给出的数据
(1)我们可以在汇编程序中,用 '……' 的方式指明数据是以字符的形式给出的,编译器将把它们转化为相对应的ASCII码。
(2)
“db ‘unIX’ ” 相当于“db 75H,6EH,49H,58H”, “u”、 “n”、 “I”、 “X”的ASCII码分别为75H、6EH、49H、58H;
“db ‘foRK’ ” 相当于“db 66H,6FH,52H,4BH”, “u”、 “n”、 “I”、 “X”的ASCII码分别为66H、6FH、52H、4BH;
“mov al,’a’”相当于“mov al,61H”,”a”的ASCII码为61H;
“mov al,’b’”相当于“mov al,62H”,”b”的ASCII码为62H。

四、大小写转换的问题
(1)我们知道同一个字母的大写字符和小写字符对应的 ASCII 码是不同的,比如 “A” 的 ASCII 码是41H,“a”的ASCII码是61H。要改变一个字母的大小写,实际上就是要改变它所对应的ASCII 码。   
(2)通过对比,我们可以看出来,小写字母的ASCII码值比大写字母的ASCII码值大20H 。这样,我们可以想到,如果将 “a” 的ASCII码值减去20H,就可以得到“A”;如果将“A”的ASCII码值加上20H 就可以得到“a”。
(3)可以看出,就ASCII码的二进制形式来看,除第5位(位数从0开始计算)外,大写字母和小写字母的其他各位都一样。大写字母ASCII码的第5位(位数从0开始计算)为0,小写字母的第5位为1。
(4)用己学的指令来解决大小写转换问题:



PS:小知识
ascll是8位的,字节型数据
unikey占4字节,ascll一个字节





谢谢小甲鱼带来的视频教程,感谢!! {:10_303:}


   
本节结束,多谢览阅!
越努力,越幸运。谢谢大家来看我的笔记{:10_297:} 小白刚学,不对的请各位大佬指教,谢谢{:10_254:}

MSK 发表于 2017-7-19 00:45:43

支持一下~{:10_275:}

shuiyu 发表于 2017-7-19 22:24:26

MSK 发表于 2017-7-19 00:45
支持一下~

谢谢支持{:5_109:}
页: [1]
查看完整版本: 《零基础入门学习汇编语言》第三十二讲