大学汇编语言程序设计题 用汇编语言编写把ASCII转化为十六进制的程序

大学汇编语言程序设计题 用汇编语言编写把ASCII转化为十六进制的程序,第1张

这里要分清楚,你ascii码 是10进制的数字序列 还是 16进制的数字序列?

如果是16进制的数字序列,只需要每一位减30h或37h得到对应的16进制数位,再通过左移4位 与转换下一位相或即可。如此循环。

如果是10进制的数字序列,则需要每一位减30h得到对应的10进制数位,通过乘10再相加转换的下一位即可。如此循环。

任务代码为:

#include<stdioh>

main()

{

char w;

printf("请输入一个字母:");

scanf("%c",&w);

printf("与这个字母对应的ASCII码是:%d\n",w);

}

英文字母是字符型,ASCII码十进制的,因此只需要将字符型转换为十进制,在输出函数的时候强制转换类型。

扩展资料:

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:

0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;

ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。

65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。

奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。

参考资料:

ASCII 码-百度百科

1、首先,定义两个字符变量z和Z,用以保存转换的字符。

2、接着,定义一个整型变量n,保存用来转换的ASCII码。

3、把n的值赋给变量z,实现字符的转换。

4、输出窗口中,输出将ASCII码转换为的字符。

5、给变量n重新赋值,其值为大写字母的ASCII码。

6、将ASCII码转换为对应的大写英文字母,并在输出窗口中输出。

7、运行程序,代码中输入的ASCII码,成功转换为相应的大小写字母。

4ch中断是退出程序,好像没有输出数字的中断,

02是输出一个字符,9是输出字符串,而且你的程序应该只是把字符串转换程序数字,并没有把十进制转换成二进制。这样试试

LOOP

LOOP1

MOV

[DI],AX

MOV

AH,9

INT

21H

MOV

AH,4CH

INT

21H

;ascII to binary

data segment

a1  db '87'

len dw $-a1

b1  dw 0

data ends

code segment

assume cs:code, ds:data

start:

mov ax,data

mov ds,ax

lea si,a1

lea di,b1

mov cx,len

call asc2bin

mov ax,4c00h

int 21h

;si-source ascii string

;di-binary's variable

;cx-ascii's length

;

asc2bin proc near

    mov bl, 10

L0:

mov ax, [di]

mul bl

mov dl, [si]

and dl, 0Fh

add al, dl 

adc ah,0

mov [di],ax

inc si

loop L0

ret

asc2bin endp

code ends

end start

以上就是关于大学汇编语言程序设计题 用汇编语言编写把ASCII转化为十六进制的程序全部的内容,包括:大学汇编语言程序设计题 用汇编语言编写把ASCII转化为十六进制的程序、ASCII码是怎么转化为十进制的、如何将ASCII转换为大小写字母等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9855679.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存