汇编语言题求解数学题!!

23:20 提问
汇编语言解决字母大小写问题
题目要求是:第一个字符串要求全部大写,第二个要求全部小写
我和书上的一样,前几天也对着,现在为什么不对了呢?
assume cs:codesg,ds:datasg
datasg segment
db 'BaSic'
db 'iNfOrMaTiOn'
datasg ends
codesg segment
mov ax,datasg
mov al,[bx]
mov [bx],al
mov al,[bx]
mov [bx],al
mov ax,4c00h
codesg ends
按赞数排序
是and不是add。
900关注|145收录
365关注|934收录
455关注|244收录
其他相似问题
相关参考资料汇编语言习题详解(全部)(免费)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
汇编语言习题详解(全部)(免费)
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩33页未读,继续阅读
你可能喜欢100分,小女求解汇编语言的问题 C1.关于汇编语言,寄存器只有16,或着32位,加入要操作一个,字符串是40个字节,寄存器怎么装的下这个变量呢?2.比如我在定义了一个s=&abcdefg&,寄存器要操作它的时候是不是要把&abcdefg&这个字符串放入某个寄存器中操作?明显装不下啊?3.求大哥们指点下,汇编重要要操做大型变量比如string,long,class ,struct类似的变量是怎样做的呢,难道不是想一样把他读入寄存器?4.我是这样理解的,比如取得string=&abcdefg&,2~4个位置子字符串的值,首先把string全部读入某个寄存器,然后再寄存器中操作,对吗?请大哥,大姐们分点作答,小女会公平给分,不胜感激!!--------------------------------------------------------------我简单的解释,仅供参考1,数据是放内存里的, 需要使用的时候再读到寄存器里。2,如果需要打印字符串的话,将字符串的首地址告诉寄存器DX,然后调用DOS中断就可以啦3,在汇编里,这些各种数据类型,如数组和结构,在机器里都是连续的一个字节序列而已。4,可以采用逐字节读入寄存器DL,然后调用中断逐字符的打印出来。楼主可以找一些汇编入门的教程看一看。也可以通过GCC查看你写的C的汇编。这也许对你有更直观的理解。------解决方案--------------------------------------------------------汇编和其他高级语言有很大的不同寄存器装的是16进制数据,而字符是用ASCII码表示的,例如'A'的ASCII码是B(2进制)=41(16进制),寄存器就是的是16进制的。但40个字节是存储在内存中的,所以寄存器一个字节一个字节的读。在汇编中时不存在字符不字符,全是数据0或者1.看你自己怎么看,你看成数据就是数据,看成代码就是代码string,long,class ,struct类似的变量,这些东西在汇编是完全不存在的,最多存在一个栈。一个16位寄存器可以放的数是0到65535.放更大的数就要用两个寄存器。例如用DX存高16位,AX存低16位------解决方案--------------------------------------------------------现在的学校不开汇编课,直接讲c,这个女同学就是受害者。1.关于汇编语言,寄存器只有16,或着32位,加入要操作一个字符串,字符串是40个字节,寄存器怎么装的下这个变量呢?------------------------------------------寄存器当然是放不下字符串的,但好在并不认识字符串,它也从来不准备认识它。如果你非要它操作字符串,那么,应该把这个字符串在内存中的首地址告诉它,然后命令它一个一个操作。2.比如我在定义了一个s=&abcdefg&,寄存器要操作它的时候是不是要把&abcdefg&这个字符串放入某个寄存器中操作?明显装不下啊?------------------------------------------同上,如果要操作这个字符串,有它的首地址就可以了。然后,再一次一次地访问内存,逐个取出它们。3.求大哥们指点下,汇编编程重要要操做大型变量比如string,long,class ,struct类似的变量是怎样做的呢,难道不是想C语言一样把他读入寄存器?------------------------------------------大型变量只存在于高级语言中,你可以把它们看成是已经被烧成砖瓦的泥土和砂子。在处理器看来,它们都是一样的,都是一些数字。如何操作它们,它们是什么,是的事情。4.我是这样理解的,比如取得string=&abcdefg&,2~4个位置子字符串的值,首先把string全部读入某个寄存器,然后再寄存器中操作,对吗?------------------------------------------取得那个字符串的值,象这样的写法,只是取得该字符串在内存中的首地址,即“a”的地址。取决于你要怎么操作,那是后面的事情。------解决方案--------------------------------------------------------1. 读取变量是要说明长度 mov ax,word ptr [132465H],mov eax,dword ptr [12346H]2. 放不下就多放几次,寄存器只是给你暂存的作用,条件允许的话就多用------解决方案--------------------------------------------------------字符串是直接从内存读的,寄存器只是放个偏移------解决方案--------------------------------------------------------1.字符串是存在内存中的,其内存首地址才存放在寄存器中。2.不是。对字符串操作时,其实是按序遍历字符串,对每个字节进行操作。3.是要读入寄存器,但不是一次性读入,每次处理其中的一个部分。这些变量本身都是存储在一定长度的内存当中,通过首地址来访问。4.不对,见第2条。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
汇编语言习题解答
下载积分:1000
内容提示:汇编语言习题解答
文档格式:PPT|
浏览次数:25|
上传日期: 21:31:39|
文档星级:
该用户还上传了这些文档
汇编语言习题解答
官方公共微信

我要回帖

更多关于 中考物理计算题汇编 的文章

 

随机推荐