首页 > 编程知识 正文

oracle字母转化为大写,oracle大小写转换

时间:2023-05-04 20:11:29 阅读:281795 作者:3774

用or和and指令转换大写字母和小写字母

我们如果去观察A、B、C、D、E、F和a、b、c、d、e、f 这些字母的二进制表示形式为

A:01000001 a:01100001
B:01000010 b:01100010
C:01000011 c:01100011
D:01000100 d:01100100
E:01000101 e:01100101
F:01000110 f:01100110

我们通过观察会发现其实大写字母和小写字母就是二进制处的从右往左数第五位的差异,大写字母第五位为0,而小写字母第五位为1

代码如下所示

assume cs:codesg,ds:datasgdatasg segment db 'BaSiC' db 'iNfOrMaTiOn'datasg endscodesg segment start: mov ax,datasg mov ds,ax;让ds指向datasg段 mov bx,0 ;设置bx为0,让ds:bx指向的是BaSiC的第一个字母 mov cx,5 s: mov al,[bx] and al,11011111B ;将al中的ascii码的第五个位置变成了0,就变为大写字母 mov [bx],al ;重新进行赋值 inc bx ; (bx)加1 也就是让ds:bx指向下一个字母 loop s mov bx,5 ;设置bx = 5 ,ds:bx指向iNfOrMaTiOn的第一个字符 mov cx,11 s0:mov al,[bx] or al,00100000B ;将al中的ASCII码的第5位置设置为1,变为小写字母 mov [bx],al ;赋值给ds:bx inc bx loop s0 mov ax,4c00h int 21hcodesg endsend start

这些小写字母和大写字母是怎么显示出来的?

其实当我们按下键盘a的时候,我们会看到屏幕上会有a显示出来,其实我们可以把这个过程可以是当我们按下a的时候,这个按键的信息就会被送入到计算机当中,计算机会利用ASCII的编码规则,对它进行编码,然后把它转换为61H给存储在内存的指定的空间,然后文本编辑软件就可以从内存中取出61H,然后把这个值给送到显卡上的显存当中,工作在文本模式下的显卡,就会用ASCII码的规则去解释显存当中的内容,显卡驱动显示器就会将字符”a”给画到屏幕上。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。