汇编程序:查表法找ASCII

2024-03-03 06:08

本文主要是介绍汇编程序:查表法找ASCII,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【任务】用查表法输出16进制数的各个符号
(本任务旨在演示lodsb、stosb串传送指令,以及xlat查表指令)

【参考解答】

assume cs:coseg,ds:table,ss:stack,es:table
table    segment
tab_da    db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39hdb 41h,42h,43h,44h,45h,46h
hextab    db 0,1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh
asibuf    db 16 dup(?)
eol       db '$'
table    endsstack segment para stack 'stack'stapn db 100 dup(?)
stack endscoseg segment
start:mov ax,tablemov ds,axmov es,axmov si,offset hextab ;根据simov bx,offset tab_da ;表的基址必须放在bx中(必须的)mov di,offset asibuf ;结果放进dimov cx,16            ;循环计数器
next:lodsb       ;从[si] 装入一个字节 --> alxlat tab_da ;xlat以al为索引,查tab_da表,结果还是放在al中stosb       ;再将al存入[di]loop next   ;cx--,if cx<> 进入下一循环mov cx,16mov ah,2    ;显示字符的功能号xor si,si
again:mov dl,asibuf[si]int 21hinc siloop againmov ax,4c00hint 21h
coseg endsend start

这篇关于汇编程序:查表法找ASCII的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768687

相关文章

【python 编码问题】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not

插入oracle 数据发生 错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 131-136: ordinal not in range(128) 先说解决办法: python2.7版本,在开头加入下面语句 import sysreload(sys)sys.setdefaultencoding

(转)mysql按字段排序 按照字段的数值大小排序,而非 ascii码排序

参考:http://www.cnblogs.com/codefly-sun/p/5898738.html     如果是varchar类型, 排序后是这样的: 就是对mysql数值字符串类型进行排序,在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值   ,百度了一下,

java中一维数组、二维数组、查找某元素、数组查表法、逆序

一维数组 //定义:数据类型[] 数组名;int[] arr;//静态初始化int[] arr= {11,22,33};//动态初始化int[] arr= new int[3];//默认初始值会为0System.out.println(arr);//一个地址值System.out.println(arr[0]);//0 System.out.println(arr[1]);//0

【CRC校验】CRC-16/MODBUS 源码(查表法)

废话少说,直接上代码: 源码 /*************************** CRC校验函数 ***************************//* Table of CRC values for high-order byte */const uint8_t crcTableHigh[] = {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x8

022集—— 字符串按ascii码转数字——C#学习笔记

字符串分解为字符,字符分别转为ascii对应数字,最后数字连接起来转为字符串,具体如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{public class

特殊字符合集(包括各种emoji表情、windows ASCII字符、自定义字母图案等)

██████╗███████╗ ██████╗ ██╔════╝╚══███╔╝██╔═══██╗███████╗ ███╔╝ ██║ ██║╚════██║ ███╔╝ ██║▄▄ ██║███████║███████╗╚██████╔╝╚══════╝╚══════╝ ╚══▀▀═╝ Text to ASCII Art Generator (TAAG)http://pa

ASCII、GB2312、Unicode和UTF-8

ASCII 我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一

Pytorch:Tensor的高阶操作【where(按条件取元素)、gather(查表取元素)、scatter_(查表取元素)】【可并行计算,提高速度】

一、where:逐个元素按条件选取【并行计算,速度快】 torch.where(condition,x,y) #condition必须是tensor类型 condition的维度和x,y一致,用1和0分别表示该位置的取值 import torchcond = torch.tensor([[0.6, 0.7],[0.3, 0.6]])a = torch.tensor([[1., 1.],[

C语言:ASCII码表和字符操作

目录 目录 1. 引言         2. ASCII码表 2.1 控制字符 2.2 可显示字符 3. 例子 3.1 相关函数 3.2 打印能够显示的 ASCII码 3.3 字母大小写转换 3.4 数字转数字字符 1. 引言                 因为计算机只是认识 0 和 1组成的一串串的二进制数字,为了将人类认识的文本字符和控制字符在计算机中存储

汇编语言03——第一个汇编程序

整理自鱼C论坛课件 汇编程序编写步骤 编写源代码->使用MASM.exe进行编译,产生目标文件->用LINK.exe,对目标文件进行链接,生成可执行文件 可执行文件中包含两部分内容 1,程序和数据 2,相关的描述信息(程序有多大,要占用多少内存空间等) 源程序: assume cs:abc abc segment mov ax,2 add ax,ax add