鱼C论坛

 找回密码
 立即注册
查看: 1578|回复: 4

[已解决]第七章问题7.7 一调试就报错

[复制链接]
发表于 2015-6-29 03:49:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:codesg,ds:datasg

datasg segment
     db 'ibm             '
     db 'dec             '
     db 'dos             '
     db 'vax             '         
         
datasg ends

codesg segment

start: mov ax,datasg         
           mov ds,ax
           mov bx,0
          
           mov cx,4
s0:    mov dx,cx
           mov si,0
       mov cx,3
s:     mov al,[bx+si]          
       and al,11011111b
           mov [bx+si],al
           inc si
           loop s
          
           add bx,16
           mov cx,bx
           loop s0
           mov ax,4c00h
       int 21h
codesg ends

end start

mtvdm CPU 遇到无效指令。
CS:0000 IP:0077 OP:FO 37 05 0E 02选择’关闭‘终止应用程序
          
大神们给看看有没有错,一调试就报错,没法截图请见谅
最佳答案
2015-7-1 09:55:20
s0循环是个无限循环。
倒数第6、7两行:
add bx,16
mov cx,bx
这两行代码使cx不可能等于0,所以是个死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-1 09:55:20 | 显示全部楼层    本楼为最佳答案   
s0循环是个无限循环。
倒数第6、7两行:
add bx,16
mov cx,bx
这两行代码使cx不可能等于0,所以是个死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-1 16:53:49 | 显示全部楼层
add bx,16这行代码几次循环后已经超出本来的数据段了,导致把不安全的系统内存空间数据改写,产生错误,而且你的代码错误太多,还是回过头再仔细看看书
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-4 15:40:00 | 显示全部楼层
           mov cx,4   
           mov dx,cx
s0:
。。。。
           mov cx,dx
           dec dx
           loop s0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-4 15:52:13 | 显示全部楼层
;默认采用ML6.11汇编程序
DATAS SEGMENT
    ;此处输入数据段代码  
    DB 'ibm             '
    DB 'dec             '
    DB 'dos             '
    DB 'vax             '   
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    ;此处输入代码段代码
    MOV AX,DATAS
    MOV DS,AX
    MOV CX,4
    MOV AX,STACKS
    MOV SS,AX
    MOV SP,16
    MOV BX,0
SR:       
        PUSH CX
    MOV SI,0
        MOV CX,3
SC:
        MOV AL,DS:[BX+SI]
        AND AL,11011111B
        MOV DS:[BX+SI],AL
        INC SI
        LOOP SC
        ADD BX,16
        POP CX
        LOOP SR
   
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-20 22:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表