[026][汇编语言]ASCII字符显示、字母大小写转换
and or 指令
- and 将相应位设为0
- or 将相应位设为1
Mov al,01100011B
And al,00111011BMov al,01100011B
Oral,00111011B
文章图片
and or 指令 ASCII 码
- 文本编辑软件 从 内存 中取出
61H
,将其送到 显卡 的 显存 中; - 工作在文本模式下的 显卡,用 ASCII码 的规则解释 显存 中的内容;
-
61H
被当作字符 'a'; - 显卡 驱动 显示器,将字符 ‘a’ 的图像画在屏幕上;
- http://ascii.911cha.com/
assume cs:code,ds:datadata segment
db 'unIX'
db 'foRX'
data endscode segment
start:mov al,'a'
mov bl,'b'
mov ax,4c00H
int 21H
code ends
end start
文章图片
程序从 DS+10H=076AH 段开始.png
- DS寄存器内容为
075AH
- 程序从
DS+10H=076AH
段开始 - data段是程序的第一个段,data段的段地址也为
076AH
文章图片
写入对应ASCII码 ASCII字母大小写转换
assume cs:codesg,ds:datasgdatasg segment
db'BaSiC'
db'iNfOrMaTiOn'
datasg endscodesg segment
start:mov ax,datasg
mov ds,axmov bx,0
mov cx,5
s:mov al,[bx]
and al,11011111B
mov [bx],al
inc bx
loop smov bx,5
mov cx,11
s0: mov al,[bx]
oral,00100000B
mov [bx],al
inc bx
loop s0mov ax,4c00H
int 21Hcodesg ends
end start
文章图片
data 段的数据.png
文章图片
ASCII 码大小写转换.png
- 程序执行前, 根据
DS+10H
找到data段的段地址 - ASCII码 大小写字符区别只在 二进制的第5位
A0100 0001
a0110 0001大写字母ABCD 第5位是 0
小写字母abcd 第5位是 1一律大写
and al,11011111B
一律小写
oral,00100000B
推荐阅读
- 026-Catagory-NSString
- 汇编实验(格雷码转二进制(ASCII码)的实现和调试)
- D026+1组溪悦+《天长地久,给美君的信》读书笔记
- #|阿尔法点亮LED灯(一)汇编语言
- 区块链精进手册|区块链精进手册 | 026 | 大师的投资思想(7)(理解风险管控)
- 汇编语言(3) 条件处理
- 汇编语言(4)整数运算
- 汇编语言(5)--高级过程
- 汇编语言中整数常量表示方式
- 几种常见的编码格式对比