汇编实验:格雷码转二进制(ASCII码)的实现和调试
实验说明
格雷码和二进制的转换
思路
为完成实验内容,可通过查表和格雷码计算两种方式完成,此处使用格雷码直接计算得出结果。
SHL算术左移命令可将二进制数的高位存入CF,直接得出高位数据,通过异或操作从高位到低位逐位循环8次解出二进制数,最后加上30H即为对应的ASCII码。
汇编代码
DATA SEGMENT
GRA DB ?
BIN DB ?
DATA ENDSCODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATAMOV DS,AXMOV GRA,1101bMOV BIN,0MOV BL,00h ;record binMOV DL,00h ;record last gray bitMOV CX,8MOV AL,GRA
A1:SHL BL,1SHL AL,1MOV DH,0ADC DH,0 ;assgin DH = CF XOR DL,DHADD BL,DLLOOP A1ADD BL,30hMOV BIN,BLMOV AH,0INT 21h
CODE ENDS
END START
流程图
调试检验
通过MOV GRA,1101b
指令设定格雷码的初值。
通过-u
命令查看所需的程序结尾断点的地址 076F:0031 CD21 INT 21
通过-g 0031
调试命令直接运行到程序结尾,可以看到BX=0039
,对应了1101格雷码的ASCII码,调试验证成功。
汇编实验:格雷码转二进制(ASCII码)的实现和调试相关推荐
- 在标准ASCII码表中,已知英文字母K的十六进制码值是4B,则二进制ASCII码1001000对应的字符是( )
在标准ASCII码表中,已知英文字母K的十六进制码值是4B,则二进制ASCII码1001000对应的字符是( ). A. G B. H C. I D. J 提示:答案B 解析:K的十六进制4B转换成二 ...
- 26个英文字母如何转换为二进制ASCII码
首先我们要知道26个英文字母实际上对应着97-122这26个十进制数字,也就是对应的ASCII码,然后我们把他们转换为二进制前面加0就可以了. #include<stdio.h>int m ...
- php中文ascii码范围,标准ascii码字符集共有几个编码?
标准ascii码字符集共有128个编码.标准ASCII码是用7个二进制位表示1个字符,由于2的7次方为128,所以标准ASCII码字符集共有编码128个:而每一个编码代表一个基本符号,也就是说,使用A ...
- php中的字符串常用函数(四) ord() 获得字符的ascii码 chr()获取ascii码对应的字符...
ord('a');//=>97 返回小写a 的ascii码值97 chr(97);//=>a 返回ascii码表上的97对应的 小写a 转载于:https://www.cnblogs.co ...
- python汉字转到ascii码_python中ASCII码字符与int之间的转换方法
ASCII码转换为int:ord('A') 65 int转为ASCII码:chr(65) 'A' 题目内容: 实现一个凯撒密码的变种算法,对输入字符串进行加解密处理 把字母a-z分别循环对应为相距13 ...
- php 获取ascii码,PHP实现ASCII码与字符串相互转换的方法
class ascii { /** * 将ascii码转为字符串 * @param type $str 要解码的字符串 * @param type $prefix 前缀,默认: * @return t ...
- c语言ascall码英文字母,ASCII码对照表-C语言.pdf
ASCII码对照表 - Linux/Unix编程 - 工作中用到的东西 ASCII码对照表 ASCII码对照表 ASCII, American Standard Code for Informatio ...
- c语言中ascii码72表示,ASCII码对照表
ASCII码的取值范围是0~127,可以用7个bit表示.C语言中char型变量的大小规定为一字节,如果存放ASCII码则只用到低7位,高位为0.以下是ASCII码表: 图 A.1. ASCII码表 ...
- 【51单片机汇编】将30H-34H单元中的压缩BCD码转化为ASCII码,并存入60H-69H
BCD转ASCII,如BCD码24H,转成ASCII应为34H和32H,即,将BCD的低高位分别提取出来加上30H就能转换为ASCII ;BCD转ASCIIORG 0000HMOV 30H, #25H ...
- 本地码转换至ASCII码工具-native2ascii
在Java自带的工具有一个用于将本地编码的文本文件转换为ASCII码文件的工具,在某些情况下(例如,java源文件在不同系统平台下编译,含中文字符的资源文件处理等)会用到它,在这里总结一下,供各位参考 ...
最新文章
- 回顾2009,展望2010。
- Matlab与线性代数 -- 矩阵的右除
- 跨站访问如何保证session的正常使用
- GD32的flash读、擦除、写操作
- 预训练模型需要知道的知识点总结,万字长文带你深入学习(建议收藏)
- vue 动态组件名_vue动态加载组件mounted无法获取dom的解决思路
- 熟读《阿里巴巴java开发手册》(三、单元测试,四、安全规约)
- 乐鑫代理-启明云端分享ESP32系列教程之二:Linux搭建esp-idf环境
- linux汇编字符长怎么看,linux – 在内联GNU汇编程序中获取字符串长...
- sql 百分号_SQL思维导图和代码分享
- 力扣35.搜索插入位置
- html实现返回上一页的几种方法(javaScript:history.go(-1);)
- ecmall ajax,ajax
- POJ 2989 All Friends
- AD域验证DirectoryEntry用法
- vue项目运行后自动打开浏览器
- java中|和||的使用和区别
- nals\string-trim.js Replace Autoprefixer browsers option to Browserslist config. Use browserslis
- word必备快捷键使用
- Python 鸡兔同笼