编译不过,请查看错误

god_and_foye 2016-12-21 10:00:06
程序功能:将数据中的字母由小写转换成大写,每个字符串16个字节
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2016-12-21
  • 打赏
  • 举报
回复
代码,你贴图片!
小写变大写,应该是 AND AL, 0DFh 吧,其它是不是正常,一时看不出来了。
god_and_foye 2016-12-21
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
代码,你贴图片! 小写变大写,应该是 AND AL, 0DFh 吧,其它是不是正常,一时看不出来了。
-------------------------------------------------------------------------------------------------------------------------------------------------------- 已找到问题,是[BX+DX]这样表示偏移地址不正确 用SI和DX互换后,就可以了 只有bx、si、di、bp四个寄存器可用在中括号中,表示偏移地址来进行内存单元寻址 改后代码如下: ASSUME CS:CODE,DS:DATA DATA SEGMENT DB 'ibm ' DB 'dec ' DB 'dos ' DB 'vax ' DATA ENDS CODE SEGMENT START: MOV AX,DATA MOV DS,AX MOV AX,0 MOV BX,0 MOV SI,0 MOV CX,4 S1: MOV DX,CX MOV CX,3 S2: MOV AL,[BX+SI] AND AL,0DFH MOV [BX+SI],AL INC SI LOOP S2 MOV SI,0 MOV CX,DX ADD BX,10H LOOP S1 MOV AX,4C00H INT 21H CODE ENDS END START
god_and_foye 2016-12-21
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
代码,你贴图片! 小写变大写,应该是 AND AL, 0DFh 吧,其它是不是正常,一时看不出来了。
---------------------------------------------------------------------------------------------------------------------------------------------- 代码如下: 应该为0DFH,已做修改 ASSUME CS:CODE,DS:DATA DATA SEGMENT DB 'ibm ' DB 'dec ' DB 'dos ' DB 'vax ' DATA ENDS CODE SEGMENT START: MOV AX,DATA MOV DS,AX MOV AX,0 MOV BX,0 MOV DX,0 MOV CX,4 S1: MOV SI,CX MOV CX,3 S2: MOV AL,[BX+DX] AND AL,0DFH MOV [BX+DX],AL INC DX LOOP S2 MOV DX,0 MOV CX,SI ADD BX,10H LOOP S1 MOV AX,4C00H INT 21H CODE ENDS END START
baidu_29183065 2016-12-21
  • 打赏
  • 举报
回复
不要图片,最好贴完整代码,没人有闲会给楼主码一遍! 楼主可自行检查一下错误代码在哪一行... 光看, 这句欠了一个0.... AND AL,0CFH

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧