计算机编程输出ascii最大数,【图片】求大佬看一下程序 为什么不对 或者帮忙写一下 题目是输出6个数中的最大值【汇编吧】_百度贴吧...

本文探讨了ASCII编码在汇编语言中如何用于定义字符串和字符,解释了db和dd指令的用途,以及如何通过不同方式表示十进制和十六进制数。举例说明了如何正确定义和显示数据,并提供了一个练习题,要求将数字70在屏幕上显示出来。内容涉及到编程基础知识,包括数据类型、编码和输出显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

(一)dd是用来定义一个数据占用4个字节的变量的,db是用来定义一个数据占用1个字节的变量的.....

(二)你要定义字符串,那就应该用

a db '70','60','80','79','55','90','$'这种形式,它等价于下面的语句:

a db '706080795590$' 也等价于下面的语句:

a db '7','0','6','0','80795590','$' 还等价于下面的语句:

a db 37h,30h,'6',38h,'0795590$' 还等价于下面的语句:

a db 55,48,'6',38h,'0795590',36 (你要区分和清楚哪些是十进制数、哪些是十六进制数、它们在ASCII编码中各有什么意义)

为什么可以这样写?这是因为

a名义上是变量名,实际上它是db后面第一个数据所在的存储器的偏移地址,

而单引号内是数也好、是其他字符也好,都统统被认为是对单引号内的这个可显示字符进行定义,即进行编码。

例如:

a db 7

a db '7'

这两条语句被编译链接后生成的机器码的内容是不一样的:

第一个 7 还是 7,用二进制数来表示就是:00000111

第二个‘7’生成的数据用十进制数来表示是55,用二进制数来表示就是:00110111,用十六进制数表示就是37h

也就是说,如果你想定义的数据是用来显示或者打印的文字,那你的程序有两种基本写法:

一是将这些文字符号加引号,

二是直接写这个文字的ASCII编码。

如果纯是为了编写参加计算的数,那就直接编写成这个数,而不需要在外加引号。

(三)在ASCII编码体系下,一个文字字符被设定为只占一个字节,所以定义字符串用db。

(四)从你的程序说明来看,程序是用来排序并有序地输出六个数来看,你的数据定义程序片段是写错了,我想可能是:

a db 70,60,80,79,55,90

上面的数各占一个字节。

但是,你要是排序后还显示出来,那程序要复杂了,因为你还得将上面的数变换成可显示文字的编码才能输出出来。

我给你一个题目用来练习:

编程,将70这个数在屏幕上显示出来。

做出来后,才去做你现在的题目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值