. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->汇编语言学习交流区
主题 : :  大家帮我看看我的实验11有什么问题?  [待解决] 回复[ 2次 ]   点击[ 360次 ]  
zhangzl419
[帖 主] [ 发表时间:2009-08-26 13:09 ] 
荣誉值:0
信誉值:0
注册日期:2009-02-20 19:29
我实验11的源程序:

;文件  C:/MASM/src/xles.asm

assume         cs:codesg

datasg        segment
        db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg        ends

codesg        segment

begin:
        mov ax,datasg
        mov ds,ax
        mov si,0
        call letterc
        
        mov ax,4c00h
        int 21h
letterc:
        push ax
        push cx
        
        mov al,[si]
        mov cl,al
        mov ch,0
        jcxz ok

        cmp al,61h                     
        jb unch

        cmp al,7ah
        ja unch

        and al,11011111b
        mov [si],al
unch:
        inc si
        jmp  letterc
ok:
        pop cx
        pop ax
        ret

codesg        ends

end begin

我不知道为什么,汇编、链接生成的可执行文件每次双击运行,Windows总是会报错,错误消息:

C:\MASM\src\xles.exe
NTVDM CPU 遇到无效的指令。
CS:0E56 IP:ff1e OP:63 00 43 0e 75 选择“关闭”终止应用程序。

在debug中单步执行,到call指令时用p指令,也会出现类似的报错。

各位看看,是什么原因?
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved